From 15ec4560574463dcea572b89dbb91d7103afee74 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:17:13 +0000 Subject: [PATCH 1/4] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.3.3 --- .fern/metadata.json | 6 +- .fern/replay.lock | 10 + .fernignore | 3 + .gitattributes | 1 + poetry.lock | 488 +- pyproject.toml | 2 +- reference.md | 4369 +++++++++++++---- src/vapi/__init__.py | 2680 +++++++++- src/vapi/analytics/client.py | 4 + src/vapi/analytics/raw_client.py | 4 + src/vapi/assistants/__init__.py | 24 +- src/vapi/assistants/client.py | 38 + src/vapi/assistants/raw_client.py | 61 + src/vapi/assistants/types/__init__.py | 24 +- .../update_assistant_dto_credentials_item.py | 67 +- .../types/update_assistant_dto_model.py | 359 ++ .../types/update_assistant_dto_transcriber.py | 76 +- .../types/update_assistant_dto_voice.py | 80 +- src/vapi/board/__init__.py | 49 + src/vapi/board/client.py | 683 +++ src/vapi/board/raw_client.py | 785 +++ src/vapi/board/types/__init__.py | 47 + ...ard_controller_find_all_request_sort_by.py | 5 + ..._controller_find_all_request_sort_order.py | 5 + .../types/create_board_dto_items_item.py | 8 + .../types/update_board_dto_items_item.py | 8 + src/vapi/calls/__init__.py | 33 +- src/vapi/calls/client.py | 555 ++- src/vapi/calls/raw_client.py | 856 +++- src/vapi/calls/types/__init__.py | 31 +- .../calls/types/create_call_dto_transport.py | 213 + src/vapi/campaigns/__init__.py | 15 +- src/vapi/campaigns/client.py | 1310 ++++- src/vapi/campaigns/raw_client.py | 1420 +++++- src/vapi/campaigns/types/__init__.py | 15 +- ...ign_controller_find_all_request_sort_by.py | 5 + ...aign_controller_find_all_request_status.py | 4 +- ...controller_find_all_v_2_request_sort_by.py | 5 + ...troller_find_all_v_2_request_sort_order.py | 5 + ..._controller_find_all_v_2_request_status.py | 7 + src/vapi/chats/__init__.py | 3 + src/vapi/chats/client.py | 11 + src/vapi/chats/raw_client.py | 11 + src/vapi/chats/types/__init__.py | 3 + .../chats/types/list_chats_request_sort_by.py | 5 + src/vapi/client.py | 19 + src/vapi/core/client_wrapper.py | 4 +- src/vapi/errors/__init__.py | 13 +- src/vapi/errors/conflict_error.py | 10 + src/vapi/errors/service_unavailable_error.py | 10 + src/vapi/errors/unauthorized_error.py | 10 + src/vapi/eval/__init__.py | 6 + src/vapi/eval/client.py | 72 + src/vapi/eval/raw_client.py | 72 + src/vapi/eval/types/__init__.py | 6 + .../eval/types/create_eval_run_dto_target.py | 33 + ...ontroller_get_paginated_request_sort_by.py | 5 + ...ller_get_runs_paginated_request_sort_by.py | 5 + src/vapi/files/client.py | 46 +- src/vapi/files/raw_client.py | 42 +- src/vapi/insight/__init__.py | 3 + src/vapi/insight/client.py | 73 +- src/vapi/insight/raw_client.py | 63 + src/vapi/insight/types/__init__.py | 3 + .../insight_controller_create_response.py | 12 + ...ght_controller_find_all_request_sort_by.py | 5 + .../insight_controller_find_one_response.py | 12 + .../insight_controller_remove_response.py | 12 + .../insight_controller_update_response.py | 12 + src/vapi/observability_scorecard/__init__.py | 9 +- src/vapi/observability_scorecard/client.py | 65 +- .../observability_scorecard/raw_client.py | 39 + .../observability_scorecard/types/__init__.py | 6 +- ...ontroller_get_paginated_request_sort_by.py | 5 + src/vapi/phone_numbers/__init__.py | 3 + src/vapi/phone_numbers/client.py | 43 + src/vapi/phone_numbers/raw_client.py | 43 + src/vapi/phone_numbers/types/__init__.py | 5 + ...ller_find_all_paginated_request_sort_by.py | 7 + src/vapi/provider_resources/__init__.py | 3 + src/vapi/provider_resources/client.py | 43 + src/vapi/provider_resources/raw_client.py | 43 + src/vapi/provider_resources/types/__init__.py | 5 + ...der_resources_paginated_request_sort_by.py | 7 + src/vapi/sessions/__init__.py | 3 + src/vapi/sessions/client.py | 31 + src/vapi/sessions/raw_client.py | 31 + src/vapi/sessions/types/__init__.py | 3 + .../types/list_sessions_request_sort_by.py | 5 + src/vapi/squads/client.py | 26 + src/vapi/squads/raw_client.py | 26 + src/vapi/structured_outputs/__init__.py | 21 + src/vapi/structured_outputs/client.py | 74 +- src/vapi/structured_outputs/raw_client.py | 98 +- src/vapi/structured_outputs/types/__init__.py | 23 + ...put_controller_find_all_request_sort_by.py | 7 + ...ructured_output_controller_run_response.py | 10 + ...red_output_controller_run_response_zero.py | 26 + ...e_structured_output_dto_conditions_item.py | 64 + .../update_structured_output_dto_model.py | 6 + src/vapi/tools/client.py | 26 + src/vapi/tools/raw_client.py | 49 + src/vapi/tools/types/create_tools_request.py | 24 +- src/vapi/tools/types/create_tools_response.py | 71 +- src/vapi/tools/types/delete_tools_response.py | 71 +- src/vapi/tools/types/get_tools_response.py | 71 +- .../tools/types/list_tools_response_item.py | 71 +- .../tools/types/update_tools_request_body.py | 2 +- src/vapi/tools/types/update_tools_response.py | 71 +- src/vapi/types/__init__.py | 2616 +++++++++- src/vapi/types/ai_edge_condition.py | 10 +- src/vapi/types/analysis.py | 4 + src/vapi/types/analysis_cost.py | 4 + src/vapi/types/analysis_cost_breakdown.py | 4 + src/vapi/types/analysis_plan.py | 4 + src/vapi/types/analytics_operation.py | 4 + src/vapi/types/analytics_query.py | 4 + src/vapi/types/analytics_query_result.py | 4 + .../anthropic_bedrock_credential_region.py | 5 +- src/vapi/types/anthropic_bedrock_model.py | 37 +- .../types/anthropic_bedrock_model_model.py | 1 + .../anthropic_bedrock_model_tools_item.py | 24 +- src/vapi/types/anthropic_model.py | 37 +- src/vapi/types/anthropic_model_model.py | 1 + src/vapi/types/anthropic_model_tools_item.py | 24 +- src/vapi/types/anthropic_thinking_config.py | 10 +- src/vapi/types/anyscale_model.py | 37 +- src/vapi/types/anyscale_model_tools_item.py | 24 +- src/vapi/types/api_request_tool.py | 29 +- .../types/api_request_tool_messages_item.py | 2 + src/vapi/types/artifact.py | 89 +- src/vapi/types/artifact_plan.py | 10 +- src/vapi/types/assembly_ai_transcriber.py | 4 + src/vapi/types/assistant.py | 29 +- src/vapi/types/assistant_activation.py | 12 + src/vapi/types/assistant_credentials_item.py | 67 +- .../assistant_custom_endpointing_rule.py | 4 + src/vapi/types/assistant_draft.py | 304 ++ .../types/assistant_draft_background_sound.py | 7 + .../assistant_draft_background_sound_zero.py | 5 + .../assistant_draft_client_messages_item.py | 28 + .../assistant_draft_conflict_response_dto.py | 26 + .../types/assistant_draft_credentials_item.py | 1099 +++++ .../assistant_draft_first_message_mode.py | 10 + src/vapi/types/assistant_draft_hooks_item.py | 17 + src/vapi/types/assistant_draft_model.py | 2093 ++++++++ .../assistant_draft_paginated_metadata.py | 28 + .../assistant_draft_paginated_response.py | 28 + .../assistant_draft_server_messages_item.py | 36 + src/vapi/types/assistant_draft_transcriber.py | 604 +++ src/vapi/types/assistant_draft_voice.py | 814 +++ .../assistant_draft_voicemail_detection.py | 17 + ...ssistant_draft_voicemail_detection_zero.py | 5 + src/vapi/types/assistant_message.py | 4 + ...istant_message_evaluation_continue_plan.py | 4 + .../types/assistant_message_judge_plan_ai.py | 4 + .../assistant_message_judge_plan_exact.py | 4 + .../assistant_message_judge_plan_regex.py | 4 + src/vapi/types/assistant_model.py | 359 ++ src/vapi/types/assistant_overrides.py | 46 +- .../assistant_overrides_credentials_item.py | 67 +- src/vapi/types/assistant_overrides_model.py | 359 ++ .../assistant_overrides_tools_append_item.py | 24 +- .../types/assistant_overrides_transcriber.py | 76 +- src/vapi/types/assistant_overrides_voice.py | 80 +- .../assistant_pinned_conflict_response_dto.py | 25 + ...tant_pinned_conflict_response_dto_error.py | 5 + src/vapi/types/assistant_transcriber.py | 76 +- src/vapi/types/assistant_version.py | 342 ++ .../assistant_version_background_sound.py | 7 + ...assistant_version_background_sound_zero.py | 5 + .../assistant_version_client_messages_item.py | 28 + .../assistant_version_credentials_item.py | 1099 +++++ .../assistant_version_first_message_mode.py | 10 + .../types/assistant_version_hooks_item.py | 17 + src/vapi/types/assistant_version_model.py | 2093 ++++++++ .../assistant_version_paginated_metadata.py | 28 + .../assistant_version_paginated_response.py | 19 +- .../assistant_version_server_messages_item.py | 36 + .../types/assistant_version_transcriber.py | 604 +++ src/vapi/types/assistant_version_voice.py | 814 +++ .../assistant_version_voicemail_detection.py | 17 + ...istant_version_voicemail_detection_zero.py | 5 + src/vapi/types/assistant_voice.py | 80 +- src/vapi/types/audio_format.py | 40 + .../audio_format_container.py} | 2 +- src/vapi/types/aws_sts_authentication_plan.py | 4 + .../awsiam_credentials_authentication_plan.py | 4 + .../types/azure_blob_storage_bucket_plan.py | 4 + src/vapi/types/azure_credential_region.py | 2 + .../azure_open_ai_credential_models_item.py | 3 + .../types/azure_open_ai_credential_region.py | 2 + src/vapi/types/azure_speech_transcriber.py | 4 + src/vapi/types/azure_voice.py | 4 + .../types/background_speech_denoising_plan.py | 4 + src/vapi/types/backoff_plan.py | 8 +- src/vapi/types/bar_insight.py | 15 +- src/vapi/types/bar_insight_metadata.py | 25 +- src/vapi/types/bash_tool.py | 11 +- src/vapi/types/bash_tool_messages_item.py | 2 + src/vapi/types/bash_tool_with_tool_call.py | 4 +- .../bash_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/bearer_authentication_plan.py | 4 + src/vapi/types/board.py | 82 + src/vapi/types/board_insight_item.py | 31 + ...provider.py => board_insight_item_type.py} | 2 +- src/vapi/types/board_item_position.py | 21 + src/vapi/types/board_item_size.py | 21 + src/vapi/types/board_items_item.py | 8 + src/vapi/types/board_layout.py | 24 + src/vapi/types/board_metric_widget_item.py | 33 + .../types/board_metric_widget_item_type.py | 7 + src/vapi/types/board_paginated_response.py | 23 + ...n_comparator_scorecard_metric_condition.py | 44 + ...r_scorecard_metric_condition_comparator.py | 5 + ...parator_scorecard_metric_condition_type.py | 5 + src/vapi/types/bot_message.py | 21 + .../types/both_custom_endpointing_rule.py | 10 +- src/vapi/types/bucket_plan.py | 4 + src/vapi/types/byo_phone_number.py | 4 + src/vapi/types/byo_sip_trunk_credential.py | 9 - src/vapi/types/call.py | 60 +- src/vapi/types/call_batch_error.py | 15 +- src/vapi/types/call_batch_response.py | 4 + src/vapi/types/call_costs_item.py | 3 + src/vapi/types/call_ended_reason.py | 24 + .../call_hook_assistant_speech_interrupted.py | 26 + ...ok_assistant_speech_interrupted_do_item.py | 25 +- src/vapi/types/call_hook_call_ending.py | 26 + .../types/call_hook_call_ending_do_item.py | 22 + .../call_hook_customer_speech_interrupted.py | 26 + ...ook_customer_speech_interrupted_do_item.py | 25 +- .../call_hook_customer_speech_timeout.py | 28 +- ...ll_hook_customer_speech_timeout_do_item.py | 25 +- src/vapi/types/call_hook_filter.py | 4 + .../types/call_hook_model_response_timeout.py | 146 +- ...all_hook_model_response_timeout_do_item.py | 24 +- ...ndpointed_speech_low_confidence_do_item.py | 25 +- src/vapi/types/call_transport.py | 213 + src/vapi/types/campaign.py | 194 +- src/vapi/types/campaign_contact.py | 190 + src/vapi/types/campaign_paginated_response.py | 15 +- src/vapi/types/campaign_predial_plan.py | 23 + .../types/campaign_server_messages_item.py | 20 + src/vapi/types/campaign_status.py | 2 +- src/vapi/types/cartesia_credential.py | 9 + .../types/cartesia_experimental_controls.py | 15 +- src/vapi/types/cartesia_generation_config.py | 4 + ...cartesia_generation_config_experimental.py | 4 + src/vapi/types/cartesia_transcriber.py | 16 +- src/vapi/types/cartesia_transcriber_model.py | 2 +- src/vapi/types/cartesia_voice.py | 4 + src/vapi/types/cartesia_voice_model.py | 2 + src/vapi/types/cerebras_model.py | 37 +- src/vapi/types/cerebras_model_tools_item.py | 24 +- src/vapi/types/chat.py | 22 + src/vapi/types/chat_costs_item.py | 3 + .../chat_eval_assistant_message_evaluation.py | 4 + .../types/chat_eval_assistant_message_mock.py | 4 + ...t_eval_assistant_message_mock_tool_call.py | 4 + .../types/chat_eval_system_message_mock.py | 4 + ...t_eval_tool_response_message_evaluation.py | 4 + .../chat_eval_tool_response_message_mock.py | 4 + src/vapi/types/chat_eval_user_message_mock.py | 4 + src/vapi/types/chunk_plan.py | 4 + .../types/client_message_assistant_speech.py | 30 + .../types/client_message_assistant_started.py | 30 + .../client_message_call_delete_failed.py | 30 + src/vapi/types/client_message_call_deleted.py | 30 + src/vapi/types/client_message_chat_created.py | 30 + src/vapi/types/client_message_chat_deleted.py | 30 + .../client_message_conversation_update.py | 30 + src/vapi/types/client_message_hang.py | 30 + ...client_message_language_change_detected.py | 30 + src/vapi/types/client_message_metadata.py | 30 + src/vapi/types/client_message_model_output.py | 30 + .../types/client_message_session_created.py | 30 + .../types/client_message_session_deleted.py | 30 + .../types/client_message_session_updated.py | 30 + .../types/client_message_speech_update.py | 30 + src/vapi/types/client_message_tool_calls.py | 30 + .../types/client_message_tool_calls_result.py | 30 + src/vapi/types/client_message_transcript.py | 30 + .../types/client_message_transfer_update.py | 30 + .../types/client_message_user_interrupted.py | 30 + src/vapi/types/client_message_voice_input.py | 30 + .../client_message_workflow_node_started.py | 30 + src/vapi/types/cloudflare_r_2_bucket_plan.py | 4 + src/vapi/types/code_tool.py | 11 +- .../types/code_tool_environment_variable.py | 4 + src/vapi/types/code_tool_messages_item.py | 2 + src/vapi/types/compliance.py | 4 + src/vapi/types/compliance_override.py | 4 + src/vapi/types/compliance_plan.py | 9 +- .../compliance_plan_recording_consent_plan.py | 20 + src/vapi/types/computer_tool.py | 11 +- src/vapi/types/computer_tool_messages_item.py | 2 + .../types/computer_tool_with_tool_call.py | 4 +- ...puter_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/condition.py | 4 + .../types/context_engineering_plan_all.py | 4 + ...ontext_engineering_plan_last_n_messages.py | 4 + .../types/context_engineering_plan_none.py | 4 + ...eering_plan_previous_assistant_messages.py | 18 + ...eering_plan_user_and_assistant_messages.py | 4 + src/vapi/types/conversation_node.py | 158 +- src/vapi/types/conversation_node_model.py | 6 + .../types/conversation_node_tools_item.py | 23 +- .../types/conversation_node_transcriber.py | 80 +- src/vapi/types/conversation_node_voice.py | 84 +- src/vapi/types/cost_breakdown.py | 4 + ...create_anthropic_bedrock_credential_dto.py | 4 + ...anthropic_bedrock_credential_dto_region.py | 5 +- .../types/create_anthropic_credential_dto.py | 4 + .../types/create_anyscale_credential_dto.py | 4 + src/vapi/types/create_api_request_tool_dto.py | 26 +- ...eate_api_request_tool_dto_messages_item.py | 2 + .../create_assembly_ai_credential_dto.py | 4 + src/vapi/types/create_assistant_draft_dto.py | 276 ++ ...te_assistant_draft_dto_background_sound.py | 7 + ...sistant_draft_dto_background_sound_zero.py | 5 + ...ssistant_draft_dto_client_messages_item.py | 28 + ...te_assistant_draft_dto_credentials_item.py | 1099 +++++ ..._assistant_draft_dto_first_message_mode.py | 10 + .../create_assistant_draft_dto_hooks_item.py | 17 + .../types/create_assistant_draft_dto_model.py | 2093 ++++++++ ...ssistant_draft_dto_server_messages_item.py | 36 + .../create_assistant_draft_dto_transcriber.py | 604 +++ .../types/create_assistant_draft_dto_voice.py | 814 +++ ...assistant_draft_dto_voicemail_detection.py | 17 + ...tant_draft_dto_voicemail_detection_zero.py | 5 + src/vapi/types/create_assistant_dto.py | 43 +- .../create_assistant_dto_credentials_item.py | 67 +- src/vapi/types/create_assistant_dto_model.py | 359 ++ .../types/create_assistant_dto_transcriber.py | 76 +- src/vapi/types/create_assistant_dto_voice.py | 80 +- src/vapi/types/create_azure_credential_dto.py | 4 + .../create_azure_credential_dto_region.py | 2 + .../create_azure_open_ai_credential_dto.py | 20 +- ...zure_open_ai_credential_dto_models_item.py | 3 + ...ate_azure_open_ai_credential_dto_region.py | 2 + .../create_bar_insight_from_call_table_dto.py | 10 +- src/vapi/types/create_bash_tool_dto.py | 8 +- .../create_bash_tool_dto_messages_item.py | 2 + src/vapi/types/create_byo_phone_number_dto.py | 4 + .../create_byo_sip_trunk_credential_dto.py | 13 +- src/vapi/types/create_campaign_dto.py | 285 ++ ...reate_campaign_dto_server_messages_item.py | 20 + .../types/create_cartesia_credential_dto.py | 12 + .../types/create_cerebras_credential_dto.py | 4 + .../types/create_cloudflare_credential_dto.py | 4 + src/vapi/types/create_code_tool_dto.py | 8 +- .../create_code_tool_dto_messages_item.py | 2 + src/vapi/types/create_computer_tool_dto.py | 8 +- .../create_computer_tool_dto_messages_item.py | 2 + .../types/create_custom_credential_dto.py | 4 + .../types/create_custom_knowledge_base_dto.py | 4 + .../types/create_custom_llm_credential_dto.py | 4 + src/vapi/types/create_customer_dto.py | 34 + .../types/create_deep_infra_credential_dto.py | 4 + .../types/create_deep_seek_credential_dto.py | 4 + .../types/create_deepgram_credential_dto.py | 4 + src/vapi/types/create_dtmf_tool_dto.py | 8 +- .../create_dtmf_tool_dto_messages_item.py | 2 + .../create_eleven_labs_credential_dto.py | 13 + ...eate_eleven_labs_credential_dto_api_url.py | 7 + src/vapi/types/create_email_credential_dto.py | 4 + src/vapi/types/create_end_call_tool_dto.py | 8 +- .../create_end_call_tool_dto_messages_item.py | 2 + src/vapi/types/create_eval_dto.py | 4 + src/vapi/types/create_function_tool_dto.py | 8 +- .../create_function_tool_dto_messages_item.py | 2 + src/vapi/types/create_gcp_credential_dto.py | 10 +- src/vapi/types/create_ghl_tool_dto.py | 4 +- .../create_ghl_tool_dto_messages_item.py | 2 + .../types/create_gladia_credential_dto.py | 4 + ...gh_level_calendar_availability_tool_dto.py | 8 +- ...dar_availability_tool_dto_messages_item.py | 2 + ...gh_level_calendar_event_create_tool_dto.py | 8 +- ...dar_event_create_tool_dto_messages_item.py | 2 + ...e_go_high_level_contact_create_tool_dto.py | 8 +- ...l_contact_create_tool_dto_messages_item.py | 2 + ...eate_go_high_level_contact_get_tool_dto.py | 8 +- ...evel_contact_get_tool_dto_messages_item.py | 2 + .../create_go_high_level_credential_dto.py | 4 + ...create_go_high_level_mcp_credential_dto.py | 4 + ...le_calendar_check_availability_tool_dto.py | 8 +- ...eck_availability_tool_dto_messages_item.py | 2 + ...e_google_calendar_create_event_tool_dto.py | 8 +- ...dar_create_event_tool_dto_messages_item.py | 2 + ...r_o_auth_2_authorization_credential_dto.py | 4 + ...calendar_o_auth_2_client_credential_dto.py | 4 + .../types/create_google_credential_dto.py | 4 + ...s_o_auth_2_authorization_credential_dto.py | 4 + ...reate_google_sheets_row_append_tool_dto.py | 8 +- ...heets_row_append_tool_dto_messages_item.py | 2 + src/vapi/types/create_groq_credential_dto.py | 4 + src/vapi/types/create_handoff_tool_dto.py | 30 +- ...eate_handoff_tool_dto_destinations_item.py | 33 + .../create_handoff_tool_dto_messages_item.py | 2 + src/vapi/types/create_hume_credential_dto.py | 4 + .../create_inflection_ai_credential_dto.py | 4 + .../types/create_inworld_credential_dto.py | 4 + .../types/create_langfuse_credential_dto.py | 4 + ...create_line_insight_from_call_table_dto.py | 10 +- src/vapi/types/create_lmnt_credential_dto.py | 4 + src/vapi/types/create_make_credential_dto.py | 4 + src/vapi/types/create_make_tool_dto.py | 4 +- .../create_make_tool_dto_messages_item.py | 2 + src/vapi/types/create_mcp_tool_dto.py | 14 +- .../create_mcp_tool_dto_messages_item.py | 2 + ....py => create_microsoft_credential_dto.py} | 11 +- .../types/create_minimax_credential_dto.py | 4 + .../types/create_mistral_credential_dto.py | 4 + .../types/create_neuphonic_credential_dto.py | 4 + .../types/create_open_ai_credential_dto.py | 4 + .../create_open_router_credential_dto.py | 4 + src/vapi/types/create_outbound_call_dto.py | 41 +- .../create_outbound_call_dto_transport.py | 213 + src/vapi/types/create_output_tool_dto.py | 4 +- .../create_output_tool_dto_messages_item.py | 2 + .../create_perplexity_ai_credential_dto.py | 4 + src/vapi/types/create_personality_dto.py | 22 + .../create_pie_insight_from_call_table_dto.py | 8 +- .../types/create_play_ht_credential_dto.py | 10 +- src/vapi/types/create_query_tool_dto.py | 8 +- .../create_query_tool_dto_messages_item.py | 2 + .../types/create_rime_ai_credential_dto.py | 4 + .../types/create_runpod_credential_dto.py | 4 + .../create_s_3_compatible_credential_dto.py | 37 + src/vapi/types/create_s_3_credential_dto.py | 4 + src/vapi/types/create_scenario_dto.py | 22 + src/vapi/types/create_scorecard_dto.py | 4 + src/vapi/types/create_sesame_voice_dto.py | 16 +- .../types/create_simulation_run_dto_target.py | 33 + .../types/create_simulation_run_response.py | 116 + ...imulation_run_response_simulations_item.py | 67 + .../create_simulation_run_response_status.py | 5 + .../create_simulation_run_response_target.py | 270 + src/vapi/types/create_simulation_suite_dto.py | 6 + src/vapi/types/create_sip_request_tool_dto.py | 8 +- ...eate_sip_request_tool_dto_messages_item.py | 2 + ...k_o_auth_2_authorization_credential_dto.py | 4 + .../create_slack_send_message_tool_dto.py | 8 +- ...ack_send_message_tool_dto_messages_item.py | 2 + .../create_slack_webhook_credential_dto.py | 4 + .../create_smallest_ai_credential_dto.py | 4 + src/vapi/types/create_sms_tool_dto.py | 8 +- .../create_sms_tool_dto_messages_item.py | 2 + .../types/create_soniox_credential_dto.py | 12 + .../create_speechmatics_credential_dto.py | 4 + src/vapi/types/create_squad_dto.py | 26 + .../types/create_structured_output_dto.py | 10 + ...e_structured_output_dto_conditions_item.py | 64 + .../create_structured_output_dto_model.py | 6 + .../types/create_supabase_credential_dto.py | 10 +- src/vapi/types/create_tavus_credential_dto.py | 4 + .../types/create_telnyx_phone_number_dto.py | 4 + src/vapi/types/create_text_editor_tool_dto.py | 8 +- ...eate_text_editor_tool_dto_messages_item.py | 2 + ...create_text_insight_from_call_table_dto.py | 8 +- .../create_together_ai_credential_dto.py | 4 + src/vapi/types/create_tool_draft_dto.py | 239 + .../create_tool_draft_dto_messages_item.py | 106 + .../types/create_tool_draft_dto_method.py | 5 + src/vapi/types/create_tool_draft_dto_type.py | 37 + src/vapi/types/create_tool_draft_dto_verb.py | 5 + .../types/create_tool_template_dto_details.py | 24 +- .../types/create_transfer_call_tool_dto.py | 8 +- ...te_transfer_call_tool_dto_messages_item.py | 2 + .../types/create_trieve_credential_dto.py | 15 +- .../types/create_trieve_knowledge_base_dto.py | 49 +- ...eate_trieve_knowledge_base_dto_provider.py | 5 - .../types/create_twilio_credential_dto.py | 10 +- .../types/create_twilio_phone_number_dto.py | 4 + .../types/create_vapi_phone_number_dto.py | 4 + src/vapi/types/create_voicemail_tool_dto.py | 8 +- ...create_voicemail_tool_dto_messages_item.py | 2 + .../types/create_vonage_credential_dto.py | 10 +- .../types/create_vonage_phone_number_dto.py | 4 + src/vapi/types/create_web_call_dto.py | 30 + src/vapi/types/create_web_chat_dto.py | 22 + .../types/create_well_said_credential_dto.py | 4 + src/vapi/types/create_workflow_dto.py | 26 +- .../create_workflow_dto_credentials_item.py | 67 +- src/vapi/types/create_workflow_dto_model.py | 6 + .../types/create_workflow_dto_nodes_item.py | 217 +- .../types/create_workflow_dto_transcriber.py | 80 +- src/vapi/types/create_workflow_dto_voice.py | 84 +- src/vapi/types/create_x_ai_credential_dto.py | 4 + ...ndpointing_model_smart_endpointing_plan.py | 4 + src/vapi/types/custom_llm_model.py | 37 +- src/vapi/types/custom_llm_model_tools_item.py | 24 +- src/vapi/types/custom_message.py | 4 + src/vapi/types/custom_transcriber.py | 4 + src/vapi/types/custom_voice.py | 4 + .../types/customer_custom_endpointing_rule.py | 4 + .../types/customer_speech_timeout_options.py | 23 +- ...eech_timeout_options_trigger_reset_mode.py | 5 + src/vapi/types/deep_infra_model.py | 37 +- src/vapi/types/deep_infra_model_tools_item.py | 24 +- src/vapi/types/deep_seek_model.py | 37 +- src/vapi/types/deep_seek_model_tools_item.py | 24 +- src/vapi/types/deepgram_transcriber.py | 36 +- .../deepgram_transcriber_redaction_item.py | 5 + src/vapi/types/deepgram_voice.py | 4 + src/vapi/types/deepgram_voice_id.py | 7 + src/vapi/types/developer_message.py | 4 + src/vapi/types/dial_plan_entry.py | 4 + src/vapi/types/dtmf_tool.py | 11 +- src/vapi/types/dtmf_tool_messages_item.py | 2 + src/vapi/types/edge.py | 20 +- src/vapi/types/eleven_labs_credential.py | 9 + .../types/eleven_labs_credential_api_url.py | 7 + ...n_labs_pronunciation_dictionary_locator.py | 4 + src/vapi/types/eleven_labs_transcriber.py | 4 + src/vapi/types/eleven_labs_voice.py | 4 + src/vapi/types/end_call_tool.py | 11 +- src/vapi/types/end_call_tool_messages_item.py | 2 + src/vapi/types/ended_reason_condition.py | 35 + .../types/ended_reason_condition_operator.py | 5 + src/vapi/types/eval.py | 24 +- src/vapi/types/eval_anthropic_model.py | 4 + src/vapi/types/eval_anthropic_model_model.py | 1 + src/vapi/types/eval_custom_model.py | 4 + src/vapi/types/eval_google_model.py | 4 + src/vapi/types/eval_google_model_model.py | 2 + src/vapi/types/eval_groq_model_model.py | 1 - src/vapi/types/eval_open_ai_model.py | 4 + src/vapi/types/eval_open_ai_model_model.py | 8 + src/vapi/types/eval_paginated_response.py | 15 +- src/vapi/types/eval_run.py | 30 +- src/vapi/types/eval_run_paginated_response.py | 15 +- src/vapi/types/eval_run_result.py | 4 + src/vapi/types/eval_run_target.py | 33 + src/vapi/types/eval_run_target_assistant.py | 26 + src/vapi/types/eval_run_target_squad.py | 26 + src/vapi/types/evaluation_plan_item.py | 5 + .../types/events_table_boolean_condition.py | 4 + .../types/events_table_number_condition.py | 4 + .../types/events_table_string_condition.py | 4 + src/vapi/types/exact_replacement.py | 4 + src/vapi/types/export_chat_dto.py | 6 + src/vapi/types/export_chat_dto_sort_by.py | 5 + src/vapi/types/export_session_dto.py | 6 + src/vapi/types/export_session_dto_sort_by.py | 5 + .../types/fallback_assembly_ai_transcriber.py | 4 + .../fallback_azure_speech_transcriber.py | 4 + src/vapi/types/fallback_azure_voice.py | 4 + .../types/fallback_cartesia_transcriber.py | 15 +- .../fallback_cartesia_transcriber_model.py | 2 +- src/vapi/types/fallback_cartesia_voice.py | 4 + .../types/fallback_cartesia_voice_model.py | 2 + src/vapi/types/fallback_custom_transcriber.py | 4 + src/vapi/types/fallback_custom_voice.py | 4 + .../types/fallback_deepgram_transcriber.py | 36 +- ...ack_deepgram_transcriber_redaction_item.py | 5 + src/vapi/types/fallback_deepgram_voice.py | 4 + src/vapi/types/fallback_deepgram_voice_id.py | 7 + .../types/fallback_eleven_labs_transcriber.py | 4 + src/vapi/types/fallback_eleven_labs_voice.py | 4 + src/vapi/types/fallback_gladia_transcriber.py | 8 +- ...back_gladia_transcriber_languages_item.py} | 2 +- src/vapi/types/fallback_google_transcriber.py | 4 + .../fallback_google_transcriber_model.py | 2 + src/vapi/types/fallback_hume_voice.py | 4 + src/vapi/types/fallback_inworld_voice.py | 4 + src/vapi/types/fallback_lmnt_voice.py | 4 + src/vapi/types/fallback_microsoft_voice.py | 68 + .../types/fallback_microsoft_voice_role.py | 17 + .../types/fallback_microsoft_voice_style.py | 38 + .../fallback_microsoft_voice_voice_id.py | 55 + src/vapi/types/fallback_neuphonic_voice.py | 4 + .../types/fallback_open_ai_transcriber.py | 4 + src/vapi/types/fallback_open_ai_voice.py | 4 + src/vapi/types/fallback_plan.py | 4 + src/vapi/types/fallback_plan_voices_item.py | 63 + src/vapi/types/fallback_play_ht_voice.py | 4 + src/vapi/types/fallback_rime_ai_voice.py | 4 + src/vapi/types/fallback_sesame_voice.py | 4 + src/vapi/types/fallback_smallest_ai_voice.py | 4 + src/vapi/types/fallback_soniox_transcriber.py | 23 +- ...lback_soniox_transcriber_languages_item.py | 194 + .../fallback_soniox_transcriber_model.py | 2 +- .../fallback_speechmatics_transcriber.py | 15 +- .../types/fallback_talkscriber_transcriber.py | 4 + src/vapi/types/fallback_tavus_voice.py | 4 + src/vapi/types/fallback_transcriber_plan.py | 9 +- ...back_transcriber_plan_transcribers_item.py | 36 +- src/vapi/types/fallback_vapi_voice.py | 16 + .../types/fallback_vapi_voice_language.py | 66 + src/vapi/types/fallback_vapi_voice_version.py | 5 + .../types/fallback_vapi_voice_voice_id.py | 14 +- src/vapi/types/fallback_well_said_voice.py | 4 + src/vapi/types/fallback_xai_transcriber.py | 30 + .../fallback_xai_transcriber_language.py | 34 + .../types/fallback_xai_transcriber_model.py | 5 + src/vapi/types/fallback_xai_voice.py | 56 + src/vapi/types/fallback_xai_voice_language.py | 30 + src/vapi/types/fallback_xai_voice_voice_id.py | 5 + src/vapi/types/file.py | 76 +- .../filter_date_type_column_on_call_table.py | 4 + ..._number_array_type_column_on_call_table.py | 4 + ...filter_number_type_column_on_call_table.py | 4 + ..._string_array_type_column_on_call_table.py | 4 + ...filter_string_type_column_on_call_table.py | 4 + ..._structured_output_column_on_call_table.py | 4 + src/vapi/types/format_plan.py | 4 + src/vapi/types/fourier_denoising_plan.py | 4 + src/vapi/types/function_call_hook_action.py | 4 +- ...function_call_hook_action_messages_item.py | 2 + src/vapi/types/function_tool.py | 11 +- src/vapi/types/function_tool_messages_item.py | 2 + .../types/function_tool_with_tool_call.py | 4 +- ...ction_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/gcp_key.py | 4 + ...i_multimodal_live_prebuilt_voice_config.py | 6 +- .../gemini_multimodal_live_speech_config.py | 10 +- .../gemini_multimodal_live_voice_config.py | 8 +- src/vapi/types/get_chat_paginated_dto.py | 6 + .../types/get_chat_paginated_dto_sort_by.py | 5 + src/vapi/types/get_eval_paginated_dto.py | 6 + .../types/get_eval_paginated_dto_sort_by.py | 5 + src/vapi/types/get_eval_run_paginated_dto.py | 6 + .../get_eval_run_paginated_dto_sort_by.py | 5 + src/vapi/types/get_session_paginated_dto.py | 6 + .../get_session_paginated_dto_sort_by.py | 5 + src/vapi/types/get_tool_drafts_dto.py | 34 + src/vapi/types/ghl_tool.py | 7 +- src/vapi/types/ghl_tool_messages_item.py | 2 + src/vapi/types/ghl_tool_metadata.py | 12 +- src/vapi/types/ghl_tool_with_tool_call.py | 4 +- .../ghl_tool_with_tool_call_messages_item.py | 2 + .../gladia_custom_vocabulary_config_dto.py | 4 + src/vapi/types/gladia_transcriber.py | 8 +- ...y => gladia_transcriber_languages_item.py} | 2 +- src/vapi/types/gladia_vocabulary_item_dto.py | 4 + src/vapi/types/global_node_plan.py | 4 + ...o_high_level_calendar_availability_tool.py | 11 +- ...alendar_availability_tool_messages_item.py | 2 + ...lendar_availability_tool_with_tool_call.py | 4 +- ...ility_tool_with_tool_call_messages_item.py | 2 + ...o_high_level_calendar_event_create_tool.py | 11 +- ...alendar_event_create_tool_messages_item.py | 2 + ...lendar_event_create_tool_with_tool_call.py | 4 +- ...reate_tool_with_tool_call_messages_item.py | 2 + .../go_high_level_contact_create_tool.py | 11 +- ...level_contact_create_tool_messages_item.py | 2 + ...evel_contact_create_tool_with_tool_call.py | 4 +- ...reate_tool_with_tool_call_messages_item.py | 2 + .../types/go_high_level_contact_get_tool.py | 11 +- ...gh_level_contact_get_tool_messages_item.py | 2 + ...h_level_contact_get_tool_with_tool_call.py | 4 +- ...t_get_tool_with_tool_call_messages_item.py | 2 + ...google_calendar_check_availability_tool.py | 11 +- ...r_check_availability_tool_messages_item.py | 2 + .../google_calendar_create_event_tool.py | 11 +- ...alendar_create_event_tool_messages_item.py | 2 + ...lendar_create_event_tool_with_tool_call.py | 4 +- ...event_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/google_model.py | 37 +- src/vapi/types/google_model_model.py | 2 + src/vapi/types/google_model_tools_item.py | 24 +- src/vapi/types/google_realtime_config.py | 4 + .../types/google_sheets_row_append_tool.py | 11 +- ...le_sheets_row_append_tool_messages_item.py | 2 + ...e_sheets_row_append_tool_with_tool_call.py | 4 +- ...ppend_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/google_transcriber.py | 4 + src/vapi/types/google_transcriber_model.py | 2 + .../types/google_voicemail_detection_plan.py | 4 + src/vapi/types/groq_model.py | 37 +- src/vapi/types/groq_model_model.py | 1 - src/vapi/types/groq_model_tools_item.py | 24 +- src/vapi/types/group_condition.py | 4 + .../types/handoff_destination_assistant.py | 32 +- ...tion_assistant_context_engineering_plan.py | 18 + src/vapi/types/handoff_destination_dynamic.py | 4 + src/vapi/types/handoff_destination_squad.py | 26 + ...tination_squad_context_engineering_plan.py | 18 + src/vapi/types/handoff_tool.py | 11 +- .../types/handoff_tool_destinations_item.py | 33 + src/vapi/types/handoff_tool_messages_item.py | 2 + src/vapi/types/hmac_authentication_plan.py | 4 + src/vapi/types/hume_voice.py | 4 + .../types/import_twilio_phone_number_dto.py | 4 + src/vapi/types/inflection_ai_model.py | 37 +- .../types/inflection_ai_model_tools_item.py | 24 +- src/vapi/types/insight.py | 9 + src/vapi/types/insight_formula.py | 4 + src/vapi/types/insight_paginated_response.py | 15 +- src/vapi/types/insight_run_format_plan.py | 4 + src/vapi/types/insight_run_response.py | 30 +- src/vapi/types/insight_time_range.py | 4 + .../types/insight_time_range_with_step.py | 4 + src/vapi/types/invite_user_dto_role.py | 4 +- src/vapi/types/invite_user_dto_role_zero.py | 5 + src/vapi/types/inworld_voice.py | 4 + ...y_on_call_table_with_number_type_column.py | 4 + ...y_on_call_table_with_string_type_column.py | 4 + ...all_table_with_structured_output_column.py | 4 + src/vapi/types/json_query_on_events_table.py | 4 + .../types/json_query_on_events_table_on.py | 1 + src/vapi/types/json_schema.py | 4 + src/vapi/types/keypad_input_plan.py | 4 + src/vapi/types/knowledge_base.py | 4 + src/vapi/types/knowledge_base_cost.py | 4 + src/vapi/types/knowledge_base_model.py | 2 + src/vapi/types/langfuse_observability_plan.py | 10 +- src/vapi/types/legacy_assistant_version.py | 31 + ...cy_assistant_version_paginated_response.py | 28 + src/vapi/types/line_insight.py | 15 +- src/vapi/types/line_insight_metadata.py | 25 +- src/vapi/types/liquid_condition.py | 4 + .../types/livekit_smart_endpointing_plan.py | 4 + src/vapi/types/lmnt_voice.py | 4 + src/vapi/types/make_tool.py | 7 +- src/vapi/types/make_tool_messages_item.py | 2 + src/vapi/types/make_tool_with_tool_call.py | 4 +- .../make_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/mcp_tool.py | 16 +- src/vapi/types/mcp_tool_messages.py | 6 +- src/vapi/types/mcp_tool_messages_item.py | 2 + .../types/mcp_tool_messages_messages_item.py | 2 + src/vapi/types/mcp_tool_metadata.py | 4 + src/vapi/types/message_add_hook_action.py | 4 + src/vapi/types/message_target.py | 4 + ..._credential.py => microsoft_credential.py} | 11 +- .../types/microsoft_credential_provider.py | 5 + src/vapi/types/microsoft_voice.py | 77 + src/vapi/types/microsoft_voice_role.py | 17 + src/vapi/types/microsoft_voice_style.py | 38 + src/vapi/types/microsoft_voice_voice_id.py | 55 + src/vapi/types/min_call_duration_condition.py | 27 + src/vapi/types/min_messages_condition.py | 27 + src/vapi/types/minimax_llm_model.py | 37 +- .../types/minimax_llm_model_tools_item.py | 24 +- src/vapi/types/minimax_voice.py | 4 + src/vapi/types/model_cost.py | 12 + src/vapi/types/monitor.py | 10 +- src/vapi/types/monitor_plan.py | 6 +- src/vapi/types/monitor_result.py | 14 +- src/vapi/types/mono.py | 4 + src/vapi/types/neuphonic_voice.py | 4 + src/vapi/types/node_artifact.py | 4 + ...r_comparator_scorecard_metric_condition.py | 44 + ...r_scorecard_metric_condition_comparator.py | 7 + ...parator_scorecard_metric_condition_type.py | 5 + .../types/o_auth_2_authentication_plan.py | 10 +- .../types/oauth_2_authentication_session.py | 4 + src/vapi/types/open_ai_function.py | 12 +- src/vapi/types/open_ai_function_parameters.py | 4 + src/vapi/types/open_ai_message.py | 15 +- src/vapi/types/open_ai_model.py | 48 +- .../open_ai_model_fallback_models_item.py | 9 + src/vapi/types/open_ai_model_model.py | 9 + .../types/open_ai_model_reasoning_effort.py | 7 + src/vapi/types/open_ai_model_tools_item.py | 24 +- src/vapi/types/open_ai_transcriber.py | 4 + src/vapi/types/open_ai_voice.py | 4 + .../types/open_ai_voicemail_detection_plan.py | 4 + src/vapi/types/open_ai_web_chat_request.py | 22 + src/vapi/types/open_router_model.py | 37 +- .../types/open_router_model_tools_item.py | 24 +- src/vapi/types/org.py | 15 + src/vapi/types/output_tool.py | 7 +- src/vapi/types/output_tool_messages_item.py | 2 + src/vapi/types/pagination_meta.py | 53 +- src/vapi/types/pagination_meta_sort_order.py | 5 + src/vapi/types/pending_invitation_dto.py | 21 + .../types/pending_invitations_response_dto.py | 21 + src/vapi/types/performance_metrics.py | 4 + src/vapi/types/perplexity_ai_model.py | 37 +- .../types/perplexity_ai_model_tools_item.py | 24 +- src/vapi/types/personality.py | 22 + .../phone_number_call_ending_hook_filter.py | 4 + .../phone_number_call_ringing_hook_filter.py | 4 + .../types/phone_number_hook_call_ending.py | 4 + .../types/phone_number_hook_call_ringing.py | 4 + .../types/phone_number_paginated_response.py | 4 + src/vapi/types/pie_insight.py | 13 +- src/vapi/types/play_ht_voice.py | 4 + .../types/prompt_injection_security_filter.py | 4 + src/vapi/types/provider_resource.py | 4 + .../provider_resource_paginated_response.py | 15 +- src/vapi/types/public_key_encryption_plan.py | 4 + src/vapi/types/query_tool.py | 11 +- src/vapi/types/query_tool_messages_item.py | 2 + src/vapi/types/rce_security_filter.py | 4 + src/vapi/types/recording.py | 4 + src/vapi/types/recording_consent.py | 7 +- .../recording_consent_plan_stay_on_line.py | 13 + ...nt_plan_stay_on_line_first_message_mode.py | 7 + ...cording_consent_plan_stay_on_line_voice.py | 82 +- .../types/recording_consent_plan_verbal.py | 13 + ..._consent_plan_verbal_first_message_mode.py | 7 + .../recording_consent_plan_verbal_voice.py | 82 +- src/vapi/types/recording_consent_type.py | 5 + src/vapi/types/regex_condition.py | 4 + src/vapi/types/regex_option.py | 4 + src/vapi/types/regex_replacement.py | 4 + src/vapi/types/regex_security_filter.py | 4 + .../types/revoke_invitation_response_dto.py | 20 + src/vapi/types/rime_ai_voice.py | 4 + src/vapi/types/s_3_compatible_bucket_plan.py | 48 + .../s_3_compatible_storage_credential.py | 71 + ..._compatible_storage_credential_provider.py | 5 + src/vapi/types/say_hook_action.py | 15 +- ...l_provider.py => say_hook_action_exact.py} | 2 +- .../types/say_phone_number_hook_action.py | 4 + src/vapi/types/sbc_configuration.py | 18 +- src/vapi/types/scenario.py | 22 + src/vapi/types/schedule_plan.py | 4 + src/vapi/types/scorecard.py | 4 + src/vapi/types/scorecard_metric.py | 20 +- .../types/scorecard_metric_conditions_item.py | 10 + .../types/scorecard_paginated_response.py | 15 +- src/vapi/types/security_filter_base.py | 4 + src/vapi/types/security_filter_plan.py | 4 + src/vapi/types/server.py | 4 + .../types/server_message_assistant_request.py | 30 + .../types/server_message_assistant_speech.py | 30 + .../server_message_call_delete_failed.py | 30 + src/vapi/types/server_message_call_deleted.py | 30 + ...server_message_call_endpointing_request.py | 30 + .../types/server_message_campaign_predial.py | 233 + ...r_message_campaign_predial_phone_number.py | 247 + .../server_message_campaign_predial_type.py | 5 + src/vapi/types/server_message_chat_created.py | 30 + src/vapi/types/server_message_chat_deleted.py | 30 + .../server_message_conversation_update.py | 30 + .../server_message_end_of_call_report.py | 30 + ...r_message_end_of_call_report_costs_item.py | 3 + ...message_end_of_call_report_ended_reason.py | 24 + ...ver_message_handoff_destination_request.py | 30 + src/vapi/types/server_message_hang.py | 30 + .../server_message_knowledge_base_request.py | 30 + ...server_message_language_change_detected.py | 30 + src/vapi/types/server_message_message.py | 2 + src/vapi/types/server_message_model_output.py | 30 + .../server_message_phone_call_control.py | 30 + ...rver_message_response_assistant_request.py | 22 + ...erver_message_response_campaign_predial.py | 23 + ...erver_message_response_message_response.py | 2 + ...se_transfer_destination_request_message.py | 2 + .../types/server_message_session_created.py | 30 + .../types/server_message_session_deleted.py | 30 + .../types/server_message_session_updated.py | 30 + .../types/server_message_speech_update.py | 30 + .../types/server_message_status_update.py | 30 + ...rver_message_status_update_ended_reason.py | 24 + src/vapi/types/server_message_tool_calls.py | 30 + src/vapi/types/server_message_transcript.py | 30 + ...er_message_transfer_destination_request.py | 30 + .../types/server_message_transfer_update.py | 30 + .../types/server_message_user_interrupted.py | 30 + src/vapi/types/server_message_voice_input.py | 30 + .../types/server_message_voice_request.py | 30 + src/vapi/types/sesame_voice.py | 4 + src/vapi/types/session.py | 22 + src/vapi/types/session_costs_item.py | 3 + src/vapi/types/session_created_hook.py | 22 + src/vapi/types/simulation_run_item.py | 7 +- src/vapi/types/simulation_run_item_results.py | 7 +- src/vapi/types/simulation_run_target.py | 33 + .../types/simulation_run_target_assistant.py | 22 + src/vapi/types/simulation_run_target_squad.py | 22 + src/vapi/types/simulation_suite.py | 9 + .../simulation_suite_target_assignment.py | 34 + ...ion_suite_target_assignment_target_type.py | 5 + src/vapi/types/sip_authentication.py | 6 +- src/vapi/types/sip_request_tool.py | 11 +- .../types/sip_request_tool_messages_item.py | 2 + src/vapi/types/sip_trunk_gateway.py | 6 +- .../sip_trunk_outbound_authentication_plan.py | 8 +- .../sip_trunk_outbound_sip_register_plan.py | 21 +- src/vapi/types/skipped_structured_output.py | 35 + ...ipped_structured_output_unmet_condition.py | 79 + src/vapi/types/slack_send_message_tool.py | 11 +- .../slack_send_message_tool_messages_item.py | 2 + src/vapi/types/smallest_ai_voice.py | 4 + src/vapi/types/smart_denoising_plan.py | 4 + src/vapi/types/sms_tool.py | 11 +- src/vapi/types/sms_tool_messages_item.py | 2 + src/vapi/types/soniox_context_general_item.py | 28 + src/vapi/types/soniox_credential.py | 8 + src/vapi/types/soniox_transcriber.py | 23 +- .../soniox_transcriber_languages_item.py | 194 + src/vapi/types/soniox_transcriber_model.py | 2 +- .../speechmatics_custom_vocabulary_item.py | 4 + src/vapi/types/speechmatics_transcriber.py | 15 +- src/vapi/types/spki_pem_public_key_config.py | 4 + .../types/sql_injection_security_filter.py | 4 + src/vapi/types/squad.py | 26 + src/vapi/types/squad_member_dto.py | 39 +- src/vapi/types/ssrf_security_filter.py | 4 + src/vapi/types/start_speaking_plan.py | 4 + src/vapi/types/stop_speaking_plan.py | 4 + src/vapi/types/structured_data_multi_plan.py | 4 + src/vapi/types/structured_data_plan.py | 4 + src/vapi/types/structured_output.py | 10 + .../structured_output_conditions_item.py | 64 + .../structured_output_evaluation_result.py | 26 +- src/vapi/types/structured_output_model.py | 6 + .../structured_output_paginated_response.py | 15 +- .../types/structured_output_rerun_response.py | 27 + .../structured_output_run_preview_response.py | 26 + .../types/structured_output_run_result.py | 38 + .../structured_output_run_result_result.py | 5 + src/vapi/types/subscription_limits.py | 4 + src/vapi/types/success_evaluation_plan.py | 4 + src/vapi/types/summary_plan.py | 4 + src/vapi/types/supabase_bucket_plan.py | 4 + .../sync_voice_library_dto_providers_item.py | 2 + src/vapi/types/system_message.py | 4 + src/vapi/types/talkscriber_transcriber.py | 4 + src/vapi/types/target_plan.py | 22 + .../types/tavus_conversation_properties.py | 4 + src/vapi/types/tavus_voice.py | 4 + src/vapi/types/telnyx_phone_number.py | 4 + src/vapi/types/telnyx_transport.py | 44 + .../telnyx_transport_conversation_type.py | 5 + src/vapi/types/template_details.py | 24 +- src/vapi/types/tester_plan.py | 22 + src/vapi/types/text_content.py | 21 +- src/vapi/types/text_editor_tool.py | 11 +- .../types/text_editor_tool_messages_item.py | 2 + .../types/text_editor_tool_with_tool_call.py | 4 +- ...ditor_tool_with_tool_call_messages_item.py | 2 + src/vapi/types/text_insight.py | 13 +- src/vapi/types/time_range.py | 4 + src/vapi/types/together_ai_model.py | 37 +- .../types/together_ai_model_tools_item.py | 24 +- src/vapi/types/tool_call.py | 4 + src/vapi/types/tool_call_function.py | 4 + src/vapi/types/tool_call_hook_action.py | 26 + src/vapi/types/tool_call_hook_action_tool.py | 24 +- src/vapi/types/tool_call_message.py | 4 + src/vapi/types/tool_call_result_message.py | 84 +- .../types/tool_call_result_message_warning.py | 41 + .../tool_call_result_message_warning_type.py | 5 + src/vapi/types/tool_draft.py | 280 ++ .../types/tool_draft_conflict_response_dto.py | 26 + src/vapi/types/tool_draft_messages_item.py | 106 + src/vapi/types/tool_draft_method.py | 5 + .../types/tool_draft_paginated_metadata.py | 28 + .../types/tool_draft_paginated_response.py | 28 + src/vapi/types/tool_draft_type.py | 37 + src/vapi/types/tool_draft_verb.py | 5 + src/vapi/types/tool_message.py | 4 + src/vapi/types/tool_message_complete.py | 4 + src/vapi/types/tool_message_delayed.py | 6 +- src/vapi/types/tool_message_failed.py | 24 +- src/vapi/types/tool_message_failed_role.py | 5 + src/vapi/types/tool_message_start.py | 4 + src/vapi/types/tool_node.py | 152 +- src/vapi/types/tool_node_tool.py | 23 +- src/vapi/types/tool_parameter.py | 4 + .../tool_pinned_conflict_response_dto.py | 25 + ...tool_pinned_conflict_response_dto_error.py | 5 + src/vapi/types/tool_ref.py | 32 + src/vapi/types/tool_rejection_plan.py | 4 + src/vapi/types/tool_version.py | 181 + .../types/tool_version_paginated_metadata.py | 28 + .../types/tool_version_paginated_response.py | 23 + src/vapi/types/transcriber_cost.py | 4 + src/vapi/types/transcript_plan.py | 4 + .../types/transcription_endpointing_plan.py | 4 + src/vapi/types/transfer_artifact.py | 48 + .../types/transfer_artifact_destination.py | 83 + .../types/transfer_artifact_messages_item.py | 13 + src/vapi/types/transfer_artifact_mode.py | 17 + src/vapi/types/transfer_artifact_status.py | 7 + .../types/transfer_assistant_transcriber.py | 76 +- src/vapi/types/transfer_assistant_voice.py | 80 +- src/vapi/types/transfer_call_tool.py | 11 +- .../types/transfer_call_tool_messages_item.py | 2 + .../transfer_cancel_tool_user_editable.py | 4 +- ...cancel_tool_user_editable_messages_item.py | 2 + .../types/transfer_destination_assistant.py | 10 +- src/vapi/types/transfer_destination_number.py | 4 + src/vapi/types/transfer_destination_sip.py | 4 + src/vapi/types/transfer_fallback_plan.py | 4 + .../transfer_phone_number_hook_action.py | 4 + src/vapi/types/transfer_plan.py | 6 +- .../transfer_successful_tool_user_editable.py | 4 +- ...essful_tool_user_editable_messages_item.py | 2 + .../types/transport_configuration_twilio.py | 10 +- src/vapi/types/transport_cost.py | 10 +- src/vapi/types/trieve_knowledge_base.py | 59 +- .../types/trieve_knowledge_base_chunk_plan.py | 58 - .../trieve_knowledge_base_create_type.py | 5 - .../types/trieve_knowledge_base_import.py | 31 +- .../trieve_knowledge_base_import_type.py | 5 - .../types/trieve_knowledge_base_provider.py | 5 - .../trieve_knowledge_base_search_plan.py | 54 - ..._knowledge_base_search_plan_search_type.py | 7 - src/vapi/types/turn_latency.py | 4 + src/vapi/types/twilio_phone_number.py | 4 + src/vapi/types/twilio_transport.py | 52 + .../twilio_transport_conversation_type.py | 5 + .../types/twilio_voicemail_detection_plan.py | 4 + ...update_anthropic_bedrock_credential_dto.py | 2 + ...thropic_bedrock_credential_dto_provider.py | 5 + ...anthropic_bedrock_credential_dto_region.py | 5 +- .../types/update_anthropic_credential_dto.py | 2 + ...pdate_anthropic_credential_dto_provider.py | 5 + .../types/update_anyscale_credential_dto.py | 2 + ...update_anyscale_credential_dto_provider.py | 5 + src/vapi/types/update_api_request_tool_dto.py | 26 +- ...date_api_request_tool_dto_messages_item.py | 2 + .../update_assembly_ai_credential_dto.py | 2 + ...ate_assembly_ai_credential_dto_provider.py | 5 + src/vapi/types/update_assistant_draft_dto.py | 268 + ...te_assistant_draft_dto_background_sound.py | 7 + ...sistant_draft_dto_background_sound_zero.py | 5 + ...ssistant_draft_dto_client_messages_item.py | 28 + ...te_assistant_draft_dto_credentials_item.py | 1099 +++++ ..._assistant_draft_dto_first_message_mode.py | 10 + .../update_assistant_draft_dto_hooks_item.py | 17 + .../types/update_assistant_draft_dto_model.py | 2093 ++++++++ ...ssistant_draft_dto_server_messages_item.py | 36 + .../update_assistant_draft_dto_transcriber.py | 604 +++ .../types/update_assistant_draft_dto_voice.py | 814 +++ ...assistant_draft_dto_voicemail_detection.py | 17 + ...tant_draft_dto_voicemail_detection_zero.py | 5 + .../update_assistant_version_metadata_dto.py | 35 + src/vapi/types/update_azure_credential_dto.py | 2 + .../update_azure_credential_dto_provider.py | 5 + .../update_azure_credential_dto_region.py | 2 + .../update_azure_open_ai_credential_dto.py | 2 + ...zure_open_ai_credential_dto_models_item.py | 3 + ...e_azure_open_ai_credential_dto_provider.py | 5 + ...ate_azure_open_ai_credential_dto_region.py | 2 + .../update_bar_insight_from_call_table_dto.py | 10 +- src/vapi/types/update_bash_tool_dto.py | 8 +- .../update_bash_tool_dto_messages_item.py | 2 + src/vapi/types/update_byo_phone_number_dto.py | 4 + .../update_byo_sip_trunk_credential_dto.py | 15 +- ...e_byo_sip_trunk_credential_dto_provider.py | 5 + src/vapi/types/update_campaign_dto.py | 91 + src/vapi/types/update_campaign_dto_status.py | 5 + .../types/update_cartesia_credential_dto.py | 11 + ...update_cartesia_credential_dto_provider.py | 5 + .../types/update_cerebras_credential_dto.py | 2 + ...update_cerebras_credential_dto_provider.py | 5 + .../types/update_cloudflare_credential_dto.py | 6 + ...date_cloudflare_credential_dto_provider.py | 5 + src/vapi/types/update_code_tool_dto.py | 10 +- .../update_code_tool_dto_messages_item.py | 2 + src/vapi/types/update_code_tool_dto_type.py | 5 + src/vapi/types/update_computer_tool_dto.py | 8 +- .../update_computer_tool_dto_messages_item.py | 2 + .../types/update_custom_credential_dto.py | 2 + .../update_custom_credential_dto_provider.py | 5 + .../types/update_custom_knowledge_base_dto.py | 6 + ...date_custom_knowledge_base_dto_provider.py | 5 + .../types/update_custom_llm_credential_dto.py | 2 + ...date_custom_llm_credential_dto_provider.py | 5 + .../types/update_deep_infra_credential_dto.py | 2 + ...date_deep_infra_credential_dto_provider.py | 5 + .../types/update_deep_seek_credential_dto.py | 2 + ...pdate_deep_seek_credential_dto_provider.py | 5 + .../types/update_deepgram_credential_dto.py | 2 + ...update_deepgram_credential_dto_provider.py | 5 + src/vapi/types/update_dtmf_tool_dto.py | 8 +- .../update_dtmf_tool_dto_messages_item.py | 2 + .../update_eleven_labs_credential_dto.py | 12 +- ...date_eleven_labs_credential_dto_api_url.py | 7 + src/vapi/types/update_email_credential_dto.py | 2 + .../update_email_credential_dto_provider.py | 5 + src/vapi/types/update_end_call_tool_dto.py | 8 +- .../update_end_call_tool_dto_messages_item.py | 2 + src/vapi/types/update_function_tool_dto.py | 8 +- .../update_function_tool_dto_messages_item.py | 2 + src/vapi/types/update_gcp_credential_dto.py | 2 + .../update_gcp_credential_dto_provider.py | 5 + src/vapi/types/update_ghl_tool_dto.py | 10 +- .../update_ghl_tool_dto_messages_item.py | 2 + src/vapi/types/update_ghl_tool_dto_type.py | 5 + .../types/update_gladia_credential_dto.py | 2 + .../update_gladia_credential_dto_provider.py | 5 + ...gh_level_calendar_availability_tool_dto.py | 8 +- ...dar_availability_tool_dto_messages_item.py | 2 + ...gh_level_calendar_event_create_tool_dto.py | 8 +- ...dar_event_create_tool_dto_messages_item.py | 2 + ...e_go_high_level_contact_create_tool_dto.py | 8 +- ...l_contact_create_tool_dto_messages_item.py | 2 + ...date_go_high_level_contact_get_tool_dto.py | 8 +- ...evel_contact_get_tool_dto_messages_item.py | 2 + .../update_go_high_level_credential_dto.py | 2 + ...e_go_high_level_credential_dto_provider.py | 5 + ...update_go_high_level_mcp_credential_dto.py | 2 + ..._high_level_mcp_credential_dto_provider.py | 5 + ...le_calendar_check_availability_tool_dto.py | 8 +- ...eck_availability_tool_dto_messages_item.py | 2 + ...e_google_calendar_create_event_tool_dto.py | 8 +- ...dar_create_event_tool_dto_messages_item.py | 2 + ...r_o_auth_2_authorization_credential_dto.py | 4 + ...2_authorization_credential_dto_provider.py | 7 + ...calendar_o_auth_2_client_credential_dto.py | 4 + ...o_auth_2_client_credential_dto_provider.py | 7 + .../types/update_google_credential_dto.py | 6 + .../update_google_credential_dto_provider.py | 5 + ...s_o_auth_2_authorization_credential_dto.py | 4 + ...2_authorization_credential_dto_provider.py | 7 + ...pdate_google_sheets_row_append_tool_dto.py | 8 +- ...heets_row_append_tool_dto_messages_item.py | 2 + src/vapi/types/update_groq_credential_dto.py | 2 + .../update_groq_credential_dto_provider.py | 5 + src/vapi/types/update_handoff_tool_dto.py | 8 +- ...date_handoff_tool_dto_destinations_item.py | 33 + .../update_handoff_tool_dto_messages_item.py | 2 + src/vapi/types/update_hume_credential_dto.py | 2 + .../update_hume_credential_dto_provider.py | 5 + .../update_inflection_ai_credential_dto.py | 6 + ...e_inflection_ai_credential_dto_provider.py | 5 + .../types/update_inworld_credential_dto.py | 2 + .../update_inworld_credential_dto_provider.py | 5 + .../types/update_langfuse_credential_dto.py | 2 + ...update_langfuse_credential_dto_provider.py | 5 + ...update_line_insight_from_call_table_dto.py | 10 +- src/vapi/types/update_lmnt_credential_dto.py | 2 + .../update_lmnt_credential_dto_provider.py | 5 + src/vapi/types/update_make_credential_dto.py | 2 + .../update_make_credential_dto_provider.py | 5 + src/vapi/types/update_make_tool_dto.py | 10 +- .../update_make_tool_dto_messages_item.py | 2 + src/vapi/types/update_make_tool_dto_type.py | 5 + src/vapi/types/update_mcp_tool_dto.py | 13 +- .../update_mcp_tool_dto_messages_item.py | 2 + .../types/update_microsoft_credential_dto.py | 37 + ...pdate_microsoft_credential_dto_provider.py | 5 + .../types/update_mistral_credential_dto.py | 2 + .../update_mistral_credential_dto_provider.py | 5 + .../types/update_neuphonic_credential_dto.py | 2 + ...pdate_neuphonic_credential_dto_provider.py | 5 + .../types/update_open_ai_credential_dto.py | 2 + .../update_open_ai_credential_dto_provider.py | 5 + .../update_open_router_credential_dto.py | 2 + ...ate_open_router_credential_dto_provider.py | 5 + src/vapi/types/update_output_tool_dto.py | 10 +- .../update_output_tool_dto_messages_item.py | 2 + src/vapi/types/update_output_tool_dto_type.py | 5 + .../update_perplexity_ai_credential_dto.py | 2 + ...e_perplexity_ai_credential_dto_provider.py | 5 + src/vapi/types/update_personality_dto.py | 22 + .../update_pie_insight_from_call_table_dto.py | 8 +- .../types/update_play_ht_credential_dto.py | 2 + .../update_play_ht_credential_dto_provider.py | 5 + src/vapi/types/update_query_tool_dto.py | 8 +- .../update_query_tool_dto_messages_item.py | 2 + .../types/update_rime_ai_credential_dto.py | 2 + .../update_rime_ai_credential_dto_provider.py | 5 + .../types/update_runpod_credential_dto.py | 2 + .../update_runpod_credential_dto_provider.py | 5 + .../update_s_3_compatible_bucket_plan_dto.py | 50 + .../update_s_3_compatible_credential_dto.py | 45 + ..._s_3_compatible_credential_dto_provider.py | 5 + src/vapi/types/update_s_3_credential_dto.py | 6 + .../update_s_3_credential_dto_provider.py | 5 + src/vapi/types/update_scenario_dto.py | 22 + src/vapi/types/update_simulation_suite_dto.py | 8 + src/vapi/types/update_sip_request_tool_dto.py | 8 +- ...date_sip_request_tool_dto_messages_item.py | 2 + ...k_o_auth_2_authorization_credential_dto.py | 4 + ...2_authorization_credential_dto_provider.py | 7 + .../update_slack_send_message_tool_dto.py | 8 +- ...ack_send_message_tool_dto_messages_item.py | 2 + .../update_slack_webhook_credential_dto.py | 2 + ...e_slack_webhook_credential_dto_provider.py | 5 + src/vapi/types/update_sms_tool_dto.py | 8 +- .../update_sms_tool_dto_messages_item.py | 2 + .../types/update_soniox_credential_dto.py | 10 + .../update_soniox_credential_dto_provider.py | 5 + .../types/update_telnyx_phone_number_dto.py | 4 + src/vapi/types/update_text_editor_tool_dto.py | 8 +- ...date_text_editor_tool_dto_messages_item.py | 2 + ...update_text_insight_from_call_table_dto.py | 8 +- .../update_together_ai_credential_dto.py | 2 + ...ate_together_ai_credential_dto_provider.py | 5 + src/vapi/types/update_tool_draft_dto.py | 231 + .../update_tool_draft_dto_messages_item.py | 106 + .../types/update_tool_draft_dto_method.py | 5 + src/vapi/types/update_tool_draft_dto_type.py | 37 + src/vapi/types/update_tool_draft_dto_verb.py | 5 + .../types/update_tool_template_dto_details.py | 24 +- .../types/update_tool_version_metadata_dto.py | 35 + .../types/update_transfer_call_tool_dto.py | 8 +- ...te_transfer_call_tool_dto_messages_item.py | 2 + .../types/update_trieve_knowledge_base_dto.py | 41 +- .../types/update_twilio_credential_dto.py | 2 + .../update_twilio_credential_dto_provider.py | 5 + .../types/update_twilio_phone_number_dto.py | 4 + src/vapi/types/update_user_role_dto_role.py | 4 +- .../types/update_user_role_dto_role_zero.py | 5 + .../types/update_vapi_phone_number_dto.py | 4 + src/vapi/types/update_voicemail_tool_dto.py | 8 +- ...update_voicemail_tool_dto_messages_item.py | 2 + .../types/update_vonage_credential_dto.py | 2 + .../update_vonage_credential_dto_provider.py | 5 + .../types/update_vonage_phone_number_dto.py | 4 + .../types/update_webhook_credential_dto.py | 2 + .../update_webhook_credential_dto_provider.py | 5 + .../types/update_well_said_credential_dto.py | 2 + ...pdate_well_said_credential_dto_provider.py | 5 + .../update_workflow_dto_credentials_item.py | 67 +- src/vapi/types/update_workflow_dto_model.py | 6 + .../types/update_workflow_dto_nodes_item.py | 217 +- .../types/update_workflow_dto_transcriber.py | 80 +- src/vapi/types/update_workflow_dto_voice.py | 84 +- src/vapi/types/update_x_ai_credential_dto.py | 6 + .../update_x_ai_credential_dto_provider.py | 5 + src/vapi/types/user_message.py | 4 + src/vapi/types/vapi_cost.py | 4 + src/vapi/types/vapi_model.py | 190 +- src/vapi/types/vapi_model_tools_item.py | 23 +- src/vapi/types/vapi_model_version.py | 5 + src/vapi/types/vapi_phone_number.py | 4 + .../vapi_pronunciation_dictionary_locator.py | 4 + src/vapi/types/vapi_sip_transport.py | 47 + .../vapi_sip_transport_conversation_type.py | 5 + src/vapi/types/vapi_smart_endpointing_plan.py | 4 + src/vapi/types/vapi_transcriber.py | 64 + src/vapi/types/vapi_transcriber_language.py | 194 + .../types/vapi_transcriber_languages_item.py | 194 + .../types/vapi_transcriber_turn_taking.py | 5 + src/vapi/types/vapi_transcriber_version.py | 5 + src/vapi/types/vapi_voice.py | 25 +- src/vapi/types/vapi_voice_language.py | 66 + src/vapi/types/vapi_voice_version.py | 5 + src/vapi/types/vapi_voice_voice_id.py | 14 +- .../types/vapi_voicemail_detection_plan.py | 4 + src/vapi/types/vapi_web_call_transport.py | 47 + ...pi_web_call_transport_conversation_type.py | 5 + src/vapi/types/vapi_websocket_transport.py | 37 + ...i_websocket_transport_conversation_type.py | 5 + src/vapi/types/variable_extraction_alias.py | 4 + src/vapi/types/variable_extraction_plan.py | 4 + src/vapi/types/variable_value_group_by.py | 4 + ...y => version_pin_conflict_response_dto.py} | 19 +- ...version_pin_conflict_response_dto_error.py | 5 + src/vapi/types/version_pin_reference.py | 32 + .../version_pin_reference_source_type.py | 5 + src/vapi/types/voice_cost.py | 4 + .../types/voice_library_voice_response.py | 3 +- .../types/voice_library_voice_response_age.py | 5 + .../types/voicemail_detection_backoff_plan.py | 4 + src/vapi/types/voicemail_detection_cost.py | 4 + src/vapi/types/voicemail_tool.py | 11 +- .../types/voicemail_tool_messages_item.py | 2 + src/vapi/types/vonage_phone_number.py | 4 + src/vapi/types/vonage_transport.py | 39 + .../vonage_transport_conversation_type.py | 5 + src/vapi/types/well_said_voice.py | 4 + .../types/workflow_anthropic_bedrock_model.py | 19 + .../workflow_anthropic_bedrock_model_model.py | 1 + src/vapi/types/workflow_anthropic_model.py | 19 + .../types/workflow_anthropic_model_model.py | 1 + src/vapi/types/workflow_credentials_item.py | 67 +- src/vapi/types/workflow_custom_model.py | 19 + src/vapi/types/workflow_google_model.py | 19 + src/vapi/types/workflow_google_model_model.py | 2 + src/vapi/types/workflow_model.py | 6 + src/vapi/types/workflow_nodes_item.py | 217 +- src/vapi/types/workflow_open_ai_model.py | 19 + .../types/workflow_open_ai_model_model.py | 8 + src/vapi/types/workflow_overrides.py | 4 + src/vapi/types/workflow_transcriber.py | 80 +- src/vapi/types/workflow_user_editable.py | 145 +- ...workflow_user_editable_credentials_item.py | 67 +- .../workflow_user_editable_hooks_item.py | 24 +- .../types/workflow_user_editable_model.py | 6 + .../workflow_user_editable_nodes_item.py | 216 +- .../workflow_user_editable_transcriber.py | 80 +- .../types/workflow_user_editable_voice.py | 84 +- src/vapi/types/workflow_voice.py | 84 +- src/vapi/types/xai_model.py | 37 +- src/vapi/types/xai_model_model.py | 12 +- src/vapi/types/xai_model_tools_item.py | 24 +- src/vapi/types/xai_transcriber.py | 42 + src/vapi/types/xai_transcriber_language.py | 34 + src/vapi/types/xai_transcriber_model.py | 5 + src/vapi/types/xai_voice.py | 65 + src/vapi/types/xai_voice_language.py | 30 + src/vapi/types/xai_voice_voice_id.py | 5 + src/vapi/types/xss_security_filter.py | 4 + 1287 files changed, 57470 insertions(+), 3318 deletions(-) create mode 100644 .fern/replay.lock create mode 100644 .gitattributes create mode 100644 src/vapi/board/__init__.py create mode 100644 src/vapi/board/client.py create mode 100644 src/vapi/board/raw_client.py create mode 100644 src/vapi/board/types/__init__.py create mode 100644 src/vapi/board/types/board_controller_find_all_request_sort_by.py create mode 100644 src/vapi/board/types/board_controller_find_all_request_sort_order.py create mode 100644 src/vapi/board/types/create_board_dto_items_item.py create mode 100644 src/vapi/board/types/update_board_dto_items_item.py create mode 100644 src/vapi/calls/types/create_call_dto_transport.py create mode 100644 src/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.py create mode 100644 src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.py create mode 100644 src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.py create mode 100644 src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.py create mode 100644 src/vapi/chats/types/list_chats_request_sort_by.py create mode 100644 src/vapi/errors/conflict_error.py create mode 100644 src/vapi/errors/service_unavailable_error.py create mode 100644 src/vapi/errors/unauthorized_error.py create mode 100644 src/vapi/eval/types/eval_controller_get_paginated_request_sort_by.py create mode 100644 src/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.py create mode 100644 src/vapi/insight/types/insight_controller_find_all_request_sort_by.py create mode 100644 src/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.py create mode 100644 src/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.py create mode 100644 src/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.py create mode 100644 src/vapi/sessions/types/list_sessions_request_sort_by.py create mode 100644 src/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.py create mode 100644 src/vapi/structured_outputs/types/structured_output_controller_run_response.py create mode 100644 src/vapi/structured_outputs/types/structured_output_controller_run_response_zero.py create mode 100644 src/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.py create mode 100644 src/vapi/types/assistant_draft.py create mode 100644 src/vapi/types/assistant_draft_background_sound.py create mode 100644 src/vapi/types/assistant_draft_background_sound_zero.py create mode 100644 src/vapi/types/assistant_draft_client_messages_item.py create mode 100644 src/vapi/types/assistant_draft_conflict_response_dto.py create mode 100644 src/vapi/types/assistant_draft_credentials_item.py create mode 100644 src/vapi/types/assistant_draft_first_message_mode.py create mode 100644 src/vapi/types/assistant_draft_hooks_item.py create mode 100644 src/vapi/types/assistant_draft_model.py create mode 100644 src/vapi/types/assistant_draft_paginated_metadata.py create mode 100644 src/vapi/types/assistant_draft_paginated_response.py create mode 100644 src/vapi/types/assistant_draft_server_messages_item.py create mode 100644 src/vapi/types/assistant_draft_transcriber.py create mode 100644 src/vapi/types/assistant_draft_voice.py create mode 100644 src/vapi/types/assistant_draft_voicemail_detection.py create mode 100644 src/vapi/types/assistant_draft_voicemail_detection_zero.py create mode 100644 src/vapi/types/assistant_pinned_conflict_response_dto.py create mode 100644 src/vapi/types/assistant_pinned_conflict_response_dto_error.py create mode 100644 src/vapi/types/assistant_version.py create mode 100644 src/vapi/types/assistant_version_background_sound.py create mode 100644 src/vapi/types/assistant_version_background_sound_zero.py create mode 100644 src/vapi/types/assistant_version_client_messages_item.py create mode 100644 src/vapi/types/assistant_version_credentials_item.py create mode 100644 src/vapi/types/assistant_version_first_message_mode.py create mode 100644 src/vapi/types/assistant_version_hooks_item.py create mode 100644 src/vapi/types/assistant_version_model.py create mode 100644 src/vapi/types/assistant_version_paginated_metadata.py create mode 100644 src/vapi/types/assistant_version_server_messages_item.py create mode 100644 src/vapi/types/assistant_version_transcriber.py create mode 100644 src/vapi/types/assistant_version_voice.py create mode 100644 src/vapi/types/assistant_version_voicemail_detection.py create mode 100644 src/vapi/types/assistant_version_voicemail_detection_zero.py create mode 100644 src/vapi/types/audio_format.py rename src/vapi/{campaigns/types/update_campaign_dto_status.py => types/audio_format_container.py} (51%) create mode 100644 src/vapi/types/board.py create mode 100644 src/vapi/types/board_insight_item.py rename src/vapi/types/{trieve_credential_provider.py => board_insight_item_type.py} (50%) create mode 100644 src/vapi/types/board_item_position.py create mode 100644 src/vapi/types/board_item_size.py create mode 100644 src/vapi/types/board_items_item.py create mode 100644 src/vapi/types/board_layout.py create mode 100644 src/vapi/types/board_metric_widget_item.py create mode 100644 src/vapi/types/board_metric_widget_item_type.py create mode 100644 src/vapi/types/board_paginated_response.py create mode 100644 src/vapi/types/boolean_comparator_scorecard_metric_condition.py create mode 100644 src/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.py create mode 100644 src/vapi/types/boolean_comparator_scorecard_metric_condition_type.py create mode 100644 src/vapi/types/call_transport.py create mode 100644 src/vapi/types/campaign_contact.py create mode 100644 src/vapi/types/campaign_predial_plan.py create mode 100644 src/vapi/types/campaign_server_messages_item.py create mode 100644 src/vapi/types/context_engineering_plan_previous_assistant_messages.py create mode 100644 src/vapi/types/create_assistant_draft_dto.py create mode 100644 src/vapi/types/create_assistant_draft_dto_background_sound.py create mode 100644 src/vapi/types/create_assistant_draft_dto_background_sound_zero.py create mode 100644 src/vapi/types/create_assistant_draft_dto_client_messages_item.py create mode 100644 src/vapi/types/create_assistant_draft_dto_credentials_item.py create mode 100644 src/vapi/types/create_assistant_draft_dto_first_message_mode.py create mode 100644 src/vapi/types/create_assistant_draft_dto_hooks_item.py create mode 100644 src/vapi/types/create_assistant_draft_dto_model.py create mode 100644 src/vapi/types/create_assistant_draft_dto_server_messages_item.py create mode 100644 src/vapi/types/create_assistant_draft_dto_transcriber.py create mode 100644 src/vapi/types/create_assistant_draft_dto_voice.py create mode 100644 src/vapi/types/create_assistant_draft_dto_voicemail_detection.py create mode 100644 src/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.py create mode 100644 src/vapi/types/create_campaign_dto.py create mode 100644 src/vapi/types/create_campaign_dto_server_messages_item.py create mode 100644 src/vapi/types/create_eleven_labs_credential_dto_api_url.py rename src/vapi/types/{update_trieve_credential_dto.py => create_microsoft_credential_dto.py} (76%) create mode 100644 src/vapi/types/create_outbound_call_dto_transport.py create mode 100644 src/vapi/types/create_s_3_compatible_credential_dto.py create mode 100644 src/vapi/types/create_simulation_run_response.py create mode 100644 src/vapi/types/create_simulation_run_response_simulations_item.py create mode 100644 src/vapi/types/create_simulation_run_response_status.py create mode 100644 src/vapi/types/create_simulation_run_response_target.py create mode 100644 src/vapi/types/create_structured_output_dto_conditions_item.py create mode 100644 src/vapi/types/create_tool_draft_dto.py create mode 100644 src/vapi/types/create_tool_draft_dto_messages_item.py create mode 100644 src/vapi/types/create_tool_draft_dto_method.py create mode 100644 src/vapi/types/create_tool_draft_dto_type.py create mode 100644 src/vapi/types/create_tool_draft_dto_verb.py delete mode 100644 src/vapi/types/create_trieve_knowledge_base_dto_provider.py create mode 100644 src/vapi/types/customer_speech_timeout_options_trigger_reset_mode.py create mode 100644 src/vapi/types/deepgram_transcriber_redaction_item.py create mode 100644 src/vapi/types/eleven_labs_credential_api_url.py create mode 100644 src/vapi/types/ended_reason_condition.py create mode 100644 src/vapi/types/ended_reason_condition_operator.py create mode 100644 src/vapi/types/export_chat_dto_sort_by.py create mode 100644 src/vapi/types/export_session_dto_sort_by.py create mode 100644 src/vapi/types/fallback_deepgram_transcriber_redaction_item.py rename src/vapi/types/{fallback_gladia_transcriber_languages.py => fallback_gladia_transcriber_languages_item.py} (96%) create mode 100644 src/vapi/types/fallback_microsoft_voice.py create mode 100644 src/vapi/types/fallback_microsoft_voice_role.py create mode 100644 src/vapi/types/fallback_microsoft_voice_style.py create mode 100644 src/vapi/types/fallback_microsoft_voice_voice_id.py create mode 100644 src/vapi/types/fallback_soniox_transcriber_languages_item.py create mode 100644 src/vapi/types/fallback_vapi_voice_language.py create mode 100644 src/vapi/types/fallback_vapi_voice_version.py create mode 100644 src/vapi/types/fallback_xai_transcriber.py create mode 100644 src/vapi/types/fallback_xai_transcriber_language.py create mode 100644 src/vapi/types/fallback_xai_transcriber_model.py create mode 100644 src/vapi/types/fallback_xai_voice.py create mode 100644 src/vapi/types/fallback_xai_voice_language.py create mode 100644 src/vapi/types/fallback_xai_voice_voice_id.py create mode 100644 src/vapi/types/get_chat_paginated_dto_sort_by.py create mode 100644 src/vapi/types/get_eval_paginated_dto_sort_by.py create mode 100644 src/vapi/types/get_eval_run_paginated_dto_sort_by.py create mode 100644 src/vapi/types/get_session_paginated_dto_sort_by.py create mode 100644 src/vapi/types/get_tool_drafts_dto.py rename src/vapi/types/{gladia_transcriber_languages.py => gladia_transcriber_languages_item.py} (96%) create mode 100644 src/vapi/types/invite_user_dto_role_zero.py create mode 100644 src/vapi/types/legacy_assistant_version.py create mode 100644 src/vapi/types/legacy_assistant_version_paginated_response.py rename src/vapi/types/{trieve_credential.py => microsoft_credential.py} (83%) create mode 100644 src/vapi/types/microsoft_credential_provider.py create mode 100644 src/vapi/types/microsoft_voice.py create mode 100644 src/vapi/types/microsoft_voice_role.py create mode 100644 src/vapi/types/microsoft_voice_style.py create mode 100644 src/vapi/types/microsoft_voice_voice_id.py create mode 100644 src/vapi/types/min_call_duration_condition.py create mode 100644 src/vapi/types/min_messages_condition.py create mode 100644 src/vapi/types/number_comparator_scorecard_metric_condition.py create mode 100644 src/vapi/types/number_comparator_scorecard_metric_condition_comparator.py create mode 100644 src/vapi/types/number_comparator_scorecard_metric_condition_type.py create mode 100644 src/vapi/types/open_ai_model_reasoning_effort.py create mode 100644 src/vapi/types/pagination_meta_sort_order.py create mode 100644 src/vapi/types/pending_invitation_dto.py create mode 100644 src/vapi/types/pending_invitations_response_dto.py create mode 100644 src/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.py create mode 100644 src/vapi/types/recording_consent_plan_verbal_first_message_mode.py create mode 100644 src/vapi/types/recording_consent_type.py create mode 100644 src/vapi/types/revoke_invitation_response_dto.py create mode 100644 src/vapi/types/s_3_compatible_bucket_plan.py create mode 100644 src/vapi/types/s_3_compatible_storage_credential.py create mode 100644 src/vapi/types/s_3_compatible_storage_credential_provider.py rename src/vapi/types/{vapi_model_provider.py => say_hook_action_exact.py} (53%) create mode 100644 src/vapi/types/scorecard_metric_conditions_item.py create mode 100644 src/vapi/types/server_message_campaign_predial.py create mode 100644 src/vapi/types/server_message_campaign_predial_phone_number.py create mode 100644 src/vapi/types/server_message_campaign_predial_type.py create mode 100644 src/vapi/types/server_message_response_campaign_predial.py create mode 100644 src/vapi/types/simulation_suite_target_assignment.py create mode 100644 src/vapi/types/simulation_suite_target_assignment_target_type.py create mode 100644 src/vapi/types/skipped_structured_output.py create mode 100644 src/vapi/types/skipped_structured_output_unmet_condition.py create mode 100644 src/vapi/types/soniox_context_general_item.py create mode 100644 src/vapi/types/soniox_transcriber_languages_item.py create mode 100644 src/vapi/types/structured_output_conditions_item.py create mode 100644 src/vapi/types/structured_output_rerun_response.py create mode 100644 src/vapi/types/structured_output_run_preview_response.py create mode 100644 src/vapi/types/structured_output_run_result.py create mode 100644 src/vapi/types/structured_output_run_result_result.py create mode 100644 src/vapi/types/telnyx_transport.py create mode 100644 src/vapi/types/telnyx_transport_conversation_type.py create mode 100644 src/vapi/types/tool_call_result_message_warning.py create mode 100644 src/vapi/types/tool_call_result_message_warning_type.py create mode 100644 src/vapi/types/tool_draft.py create mode 100644 src/vapi/types/tool_draft_conflict_response_dto.py create mode 100644 src/vapi/types/tool_draft_messages_item.py create mode 100644 src/vapi/types/tool_draft_method.py create mode 100644 src/vapi/types/tool_draft_paginated_metadata.py create mode 100644 src/vapi/types/tool_draft_paginated_response.py create mode 100644 src/vapi/types/tool_draft_type.py create mode 100644 src/vapi/types/tool_draft_verb.py create mode 100644 src/vapi/types/tool_message_failed_role.py create mode 100644 src/vapi/types/tool_pinned_conflict_response_dto.py create mode 100644 src/vapi/types/tool_pinned_conflict_response_dto_error.py create mode 100644 src/vapi/types/tool_ref.py create mode 100644 src/vapi/types/tool_version.py create mode 100644 src/vapi/types/tool_version_paginated_metadata.py create mode 100644 src/vapi/types/tool_version_paginated_response.py create mode 100644 src/vapi/types/transfer_artifact.py create mode 100644 src/vapi/types/transfer_artifact_destination.py create mode 100644 src/vapi/types/transfer_artifact_messages_item.py create mode 100644 src/vapi/types/transfer_artifact_mode.py create mode 100644 src/vapi/types/transfer_artifact_status.py delete mode 100644 src/vapi/types/trieve_knowledge_base_chunk_plan.py delete mode 100644 src/vapi/types/trieve_knowledge_base_create_type.py delete mode 100644 src/vapi/types/trieve_knowledge_base_import_type.py delete mode 100644 src/vapi/types/trieve_knowledge_base_provider.py delete mode 100644 src/vapi/types/trieve_knowledge_base_search_plan.py delete mode 100644 src/vapi/types/trieve_knowledge_base_search_plan_search_type.py create mode 100644 src/vapi/types/twilio_transport.py create mode 100644 src/vapi/types/twilio_transport_conversation_type.py create mode 100644 src/vapi/types/update_anthropic_bedrock_credential_dto_provider.py create mode 100644 src/vapi/types/update_anthropic_credential_dto_provider.py create mode 100644 src/vapi/types/update_anyscale_credential_dto_provider.py create mode 100644 src/vapi/types/update_assembly_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_assistant_draft_dto.py create mode 100644 src/vapi/types/update_assistant_draft_dto_background_sound.py create mode 100644 src/vapi/types/update_assistant_draft_dto_background_sound_zero.py create mode 100644 src/vapi/types/update_assistant_draft_dto_client_messages_item.py create mode 100644 src/vapi/types/update_assistant_draft_dto_credentials_item.py create mode 100644 src/vapi/types/update_assistant_draft_dto_first_message_mode.py create mode 100644 src/vapi/types/update_assistant_draft_dto_hooks_item.py create mode 100644 src/vapi/types/update_assistant_draft_dto_model.py create mode 100644 src/vapi/types/update_assistant_draft_dto_server_messages_item.py create mode 100644 src/vapi/types/update_assistant_draft_dto_transcriber.py create mode 100644 src/vapi/types/update_assistant_draft_dto_voice.py create mode 100644 src/vapi/types/update_assistant_draft_dto_voicemail_detection.py create mode 100644 src/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.py create mode 100644 src/vapi/types/update_assistant_version_metadata_dto.py create mode 100644 src/vapi/types/update_azure_credential_dto_provider.py create mode 100644 src/vapi/types/update_azure_open_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_byo_sip_trunk_credential_dto_provider.py create mode 100644 src/vapi/types/update_campaign_dto.py create mode 100644 src/vapi/types/update_campaign_dto_status.py create mode 100644 src/vapi/types/update_cartesia_credential_dto_provider.py create mode 100644 src/vapi/types/update_cerebras_credential_dto_provider.py create mode 100644 src/vapi/types/update_cloudflare_credential_dto_provider.py create mode 100644 src/vapi/types/update_code_tool_dto_type.py create mode 100644 src/vapi/types/update_custom_credential_dto_provider.py create mode 100644 src/vapi/types/update_custom_knowledge_base_dto_provider.py create mode 100644 src/vapi/types/update_custom_llm_credential_dto_provider.py create mode 100644 src/vapi/types/update_deep_infra_credential_dto_provider.py create mode 100644 src/vapi/types/update_deep_seek_credential_dto_provider.py create mode 100644 src/vapi/types/update_deepgram_credential_dto_provider.py create mode 100644 src/vapi/types/update_eleven_labs_credential_dto_api_url.py create mode 100644 src/vapi/types/update_email_credential_dto_provider.py create mode 100644 src/vapi/types/update_gcp_credential_dto_provider.py create mode 100644 src/vapi/types/update_ghl_tool_dto_type.py create mode 100644 src/vapi/types/update_gladia_credential_dto_provider.py create mode 100644 src/vapi/types/update_go_high_level_credential_dto_provider.py create mode 100644 src/vapi/types/update_go_high_level_mcp_credential_dto_provider.py create mode 100644 src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.py create mode 100644 src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.py create mode 100644 src/vapi/types/update_google_credential_dto_provider.py create mode 100644 src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.py create mode 100644 src/vapi/types/update_groq_credential_dto_provider.py create mode 100644 src/vapi/types/update_hume_credential_dto_provider.py create mode 100644 src/vapi/types/update_inflection_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_inworld_credential_dto_provider.py create mode 100644 src/vapi/types/update_langfuse_credential_dto_provider.py create mode 100644 src/vapi/types/update_lmnt_credential_dto_provider.py create mode 100644 src/vapi/types/update_make_credential_dto_provider.py create mode 100644 src/vapi/types/update_make_tool_dto_type.py create mode 100644 src/vapi/types/update_microsoft_credential_dto.py create mode 100644 src/vapi/types/update_microsoft_credential_dto_provider.py create mode 100644 src/vapi/types/update_mistral_credential_dto_provider.py create mode 100644 src/vapi/types/update_neuphonic_credential_dto_provider.py create mode 100644 src/vapi/types/update_open_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_open_router_credential_dto_provider.py create mode 100644 src/vapi/types/update_output_tool_dto_type.py create mode 100644 src/vapi/types/update_perplexity_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_play_ht_credential_dto_provider.py create mode 100644 src/vapi/types/update_rime_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_runpod_credential_dto_provider.py create mode 100644 src/vapi/types/update_s_3_compatible_bucket_plan_dto.py create mode 100644 src/vapi/types/update_s_3_compatible_credential_dto.py create mode 100644 src/vapi/types/update_s_3_compatible_credential_dto_provider.py create mode 100644 src/vapi/types/update_s_3_credential_dto_provider.py create mode 100644 src/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.py create mode 100644 src/vapi/types/update_slack_webhook_credential_dto_provider.py create mode 100644 src/vapi/types/update_soniox_credential_dto_provider.py create mode 100644 src/vapi/types/update_together_ai_credential_dto_provider.py create mode 100644 src/vapi/types/update_tool_draft_dto.py create mode 100644 src/vapi/types/update_tool_draft_dto_messages_item.py create mode 100644 src/vapi/types/update_tool_draft_dto_method.py create mode 100644 src/vapi/types/update_tool_draft_dto_type.py create mode 100644 src/vapi/types/update_tool_draft_dto_verb.py create mode 100644 src/vapi/types/update_tool_version_metadata_dto.py create mode 100644 src/vapi/types/update_twilio_credential_dto_provider.py create mode 100644 src/vapi/types/update_user_role_dto_role_zero.py create mode 100644 src/vapi/types/update_vonage_credential_dto_provider.py create mode 100644 src/vapi/types/update_webhook_credential_dto_provider.py create mode 100644 src/vapi/types/update_well_said_credential_dto_provider.py create mode 100644 src/vapi/types/update_x_ai_credential_dto_provider.py create mode 100644 src/vapi/types/vapi_model_version.py create mode 100644 src/vapi/types/vapi_sip_transport.py create mode 100644 src/vapi/types/vapi_sip_transport_conversation_type.py create mode 100644 src/vapi/types/vapi_transcriber.py create mode 100644 src/vapi/types/vapi_transcriber_language.py create mode 100644 src/vapi/types/vapi_transcriber_languages_item.py create mode 100644 src/vapi/types/vapi_transcriber_turn_taking.py create mode 100644 src/vapi/types/vapi_transcriber_version.py create mode 100644 src/vapi/types/vapi_voice_language.py create mode 100644 src/vapi/types/vapi_voice_version.py create mode 100644 src/vapi/types/vapi_web_call_transport.py create mode 100644 src/vapi/types/vapi_web_call_transport_conversation_type.py create mode 100644 src/vapi/types/vapi_websocket_transport.py create mode 100644 src/vapi/types/vapi_websocket_transport_conversation_type.py rename src/vapi/types/{trieve_knowledge_base_create.py => version_pin_conflict_response_dto.py} (51%) create mode 100644 src/vapi/types/version_pin_conflict_response_dto_error.py create mode 100644 src/vapi/types/version_pin_reference.py create mode 100644 src/vapi/types/version_pin_reference_source_type.py create mode 100644 src/vapi/types/voice_library_voice_response_age.py create mode 100644 src/vapi/types/vonage_transport.py create mode 100644 src/vapi/types/vonage_transport_conversation_type.py create mode 100644 src/vapi/types/xai_transcriber.py create mode 100644 src/vapi/types/xai_transcriber_language.py create mode 100644 src/vapi/types/xai_transcriber_model.py create mode 100644 src/vapi/types/xai_voice.py create mode 100644 src/vapi/types/xai_voice_language.py create mode 100644 src/vapi/types/xai_voice_voice_id.py diff --git a/.fern/metadata.json b/.fern/metadata.json index c720e2a0..f0f4904e 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.51.2", + "cliVersion": "5.89.0", "generatorName": "fernapi/fern-python-sdk", "generatorVersion": "5.3.3", "generatorConfig": { @@ -8,6 +8,6 @@ }, "client_class_name": "Vapi" }, - "originGitCommit": "5a015aa01196915bea6110904c69d5804f457ff5", - "sdkVersion": "2.0.0" + "originGitCommit": "6814779f49cf598b695b50b865d00e771aa38afb", + "sdkVersion": "0.0.0.dev0" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock new file mode 100644 index 00000000..d137dfe2 --- /dev/null +++ b/.fern/replay.lock @@ -0,0 +1,10 @@ +# DO NOT EDIT MANUALLY - Managed by Fern Replay +version: "1.0" +generations: + - commit_sha: 310b866cfaea845c2d9d5181f974b95c8bb1c743 + tree_hash: e7afccaf4f602251c64958582252e28d2e5423a5 + timestamp: 2026-07-31T03:16:01.564Z + cli_version: unknown + generator_versions: {} +current_generation: 310b866cfaea845c2d9d5181f974b95c8bb1c743 +patches: [] diff --git a/.fernignore b/.fernignore index cd97554f..c2fb4d46 100644 --- a/.fernignore +++ b/.fernignore @@ -8,3 +8,6 @@ src/vapi/types/assistant_server_messages_item.py src/vapi/types/create_assistant_dto_server_messages_item.py changelog.md +.fern/replay.lock +.fern/replay.yml +.gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..74928d6a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.fern/replay.lock linguist-generated=true diff --git a/poetry.lock b/poetry.lock index ad2cd021..53f13235 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,141 +2,141 @@ [[package]] name = "aiohappyeyeballs" -version = "2.6.2" +version = "2.7.1" description = "Happy Eyeballs for asyncio" optional = true python-versions = ">=3.10" files = [ - {file = "aiohappyeyeballs-2.6.2-py3-none-any.whl", hash = "sha256:4708045e2d7a6c6bdf8aafa8ed39649eaf926a4543b54560659129e3365953c4"}, - {file = "aiohappyeyeballs-2.6.2.tar.gz", hash = "sha256:e202810ee718bd01fc6ef49e8ea53d023d5cb6b581076d7925aa499fa55dbe64"}, + {file = "aiohappyeyeballs-2.7.1-py3-none-any.whl", hash = "sha256:9243213661e29250eb41368e5daa826fc017156c3b8a11440826b2e3ed376472"}, + {file = "aiohappyeyeballs-2.7.1.tar.gz", hash = "sha256:065665c041c42a5938ed220bdcd7230f22527fbec085e1853d2402c8a3615d9d"}, ] [[package]] name = "aiohttp" -version = "3.14.1" +version = "3.14.3" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.10" files = [ - {file = "aiohttp-3.14.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8f6bb621e5863cfe8fe5ff5468002d200ec31f30f1280b259dc505b02595099e"}, - {file = "aiohttp-3.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f7215cb3933784f79ed20e5f050e15984f390424339b22375d5a53c933a0491"}, - {file = "aiohttp-3.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9d4e294455b23a68c9b8f042d0e8e377a265bcb15332753695f6e5b6819e0ce"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b238af795833d5731d049d82bc84b768ae6f8f97f0495963b3ed9935c5901cc3"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e4e5e0ae56914ecdbf446493addefc0159053dd53962cef37d7839f37f73d505"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:092e4ce3619a7c6dee52a6bdabda973d9b34b66781f840ce93c7e0cec30cf521"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb33777ea21e8b7ecde0e6fc84f598be0a1192eab1a63bc746d75aa75d38e7bd"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23119f8fd4f5d16902ed459b63b100bcd269628075162bddac56cc7b5273b3fb"}, - {file = "aiohttp-3.14.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:57fc6745a4b7d0f5a9eb4f40a69718be6c0bc1b8368cc9fe89e90118719f4f42"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6fd35beba67c4183b09375c5fff9accb47524191a244a99f95fd4472f5402c2b"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:672b9d65f42eb877f5c3f234a4547e4e1a226ca8c2eed879bb34670a0ce51192"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:24ba13339fed9251d9b1a1bec8c7ab84c0d1675d79d33501e11f94f8b9a84e05"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:94da27378da0610e341c4d30de29a191672683cc82b8f9556e8f7c7212a020fe"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:52cdac9432d8b4a719f35094a818d95adcae0f0b4fe9b9b921909e0c87de9e7d"}, - {file = "aiohttp-3.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:672ac254412a24d0d0cf00a9e6c238877e4be5e5fa2d188832c1244f45f31966"}, - {file = "aiohttp-3.14.1-cp310-cp310-win32.whl", hash = "sha256:2fe3607e71acc6ebb0ec8e492a247bf7a291226192dc0084236dfc12478916f6"}, - {file = "aiohttp-3.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:30099eda75a53c32efb0920e9c33c195314d2cc1c680fbfd30894932ac5f27df"}, - {file = "aiohttp-3.14.1-cp310-cp310-win_arm64.whl", hash = "sha256:5a837f49d901f9e368651b676912bff1104ed8c1a83b280bcd7b29adccef5c9c"}, - {file = "aiohttp-3.14.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa00140699487bd435fde4342d85c94cb256b7cd3a5b9c3396c67f19922afda2"}, - {file = "aiohttp-3.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1c1af67559445498b502030c35c59db59966f47041ca9de5b4e707f86bd10b5f"}, - {file = "aiohttp-3.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d44ec478e713ee7f29b439f7eb8dc2b9d4079e11ae114d2c2ac3d5daf30516c8"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d3b1a184a9a8f548a6b73f1e26b96b052193e4b3175ed7342aaf1151a1f00a04"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5f2504bc0322437c9a1ff6d3333ca56c7477b727c995f036b976ae17b98372c8"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:73f05ea02013e02512c3bf42714f1208c57168c779cc6fe23516e4543089d0a6"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:797457503c2d426bee06eef808d07b31ede30b65e054444e7de64cad0061b7af"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b821a1f7dedf7e37450654e620038ac3b2e81e8fa6ea269337e97101978ec730"}, - {file = "aiohttp-3.14.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4cd96b5ba05d67ed0cf00b5b405c8cd99586d8e3481e8ee0a831057591af7621"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d459b98a932296c6f0e94f87511a0b1b90a8a02c30a50e60a297619cd5a58ee"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:764457a7be60825fb770a644852ff717bcbb5042f189f2bd16df61a81b3f6573"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f7a16ef45b081454ef844502d87a848876c490c4cb5c650c230f6ec79ed2c1e7"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2fbc3ed048b3475b9f0cbcb9978e9d2d3511acd91ead203af26ed9f0056004cf"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bedb0cd073cc2dc035e30aeb99444389d3cd2113afe4ef9fcd23d439f5bade85"}, - {file = "aiohttp-3.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b6feea921016eb3d4e04d65fc4e9ca402d1a3801f562aef94989f54694917af3"}, - {file = "aiohttp-3.14.1-cp311-cp311-win32.whl", hash = "sha256:313701e488100074ce99850404ee36e741abf6330179fec908a1944ecf570126"}, - {file = "aiohttp-3.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:03ab4530fdcb3a543a122ba4b65ac9919da9fe9f78a03d328a6e38ff962f7aa5"}, - {file = "aiohttp-3.14.1-cp311-cp311-win_arm64.whl", hash = "sha256:486f7d16ed54c39c2cbd7ca71fd8ba2b8bb7860df65bd7b6ed640bab96a38a8b"}, - {file = "aiohttp-3.14.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d35143e27778b4bb0fb189562d7f275bff79c62ab8e98459717c0ea617ff2480"}, - {file = "aiohttp-3.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bcfb80a2cc36fba2534e5e5b5264dc7ae6fcd9bf15256da3e53d2f499e6fa29d"}, - {file = "aiohttp-3.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27fd7c91e51729b4f7e1577865fa6d34c9adccbc39aabe9000285b48af9f0ec2"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64c567bf9eaf664280116a8688f63016e6b32db2505908e2bdaca1b6438142f2"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f5e6ff2bdbb8f4cd3fbe41f99e25bbcd58e3bf9f13d3dd31a11e7917251cc77a"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2f73e01dc37122325caf079982621262f96d74823c179038a82fddfc50359264"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb2c0c80d431c0d03f2c7dbf125150fedd4f0de17366a7ca33f7ccb822391842"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e6fc1a85fa7194a1a7d19f44e8609180f4a8eb5fa4c7ed8b4355f080fad235c"}, - {file = "aiohttp-3.14.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:686b6c0d3911ec387b444ddf5dc62fb7f7c0a7d5186a7861626496a5ab4aff95"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c6fa4dc7ad6f8109c70bb1499e589f76b0b792baf39f9b017eb92c8a81d0a199"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:87a5eea1b2a5e21e1ebdbb33ad4165359189327e63fc4e4894693e7f821ac817"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c1421eb01d4fd608d88cc8290211d177a58532b55ad94076fb349c5bf467f0a"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:34b257ec41345c1e8f2df68fa908a7952f5de932723871eb633ecbbff396c9a4"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:de538791a80e5d862addbc183f70f0158ac9b9bb872bb147f1fd2a683691e087"}, - {file = "aiohttp-3.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f71173be42d3241d428f760122febb748de0623f44308a6f120d0dd9ec572e3"}, - {file = "aiohttp-3.14.1-cp312-cp312-win32.whl", hash = "sha256:ec8dc383ee57ea3e883477dcca3f11b65d58199f1080acaf4cd6ad9a99698be4"}, - {file = "aiohttp-3.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2aa92c87868cd13674989f9ee83e5f9f7ea4237589b728048e1f0c8f6caa3271"}, - {file = "aiohttp-3.14.1-cp312-cp312-win_arm64.whl", hash = "sha256:2c840c90759922cb5e6dda94596e079a30fb5a5ba548e7e0dc00574703940847"}, - {file = "aiohttp-3.14.1-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:b3a03285a7f9c7b016324574a6d92a1c895da6b978cb8f1deee3ac72bc6da178"}, - {file = "aiohttp-3.14.1-cp313-cp313-android_21_x86_64.whl", hash = "sha256:2a73f487ab8ef5abbb24b7aa9b73e98eaba9e9e031804ff2416f02eca315ccaf"}, - {file = "aiohttp-3.14.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:915fbb7b41b115192259f8c9ae58f3ddc444d2b5579917270211858e606a4afd"}, - {file = "aiohttp-3.14.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:7fb4bdf95b0561a79f259f9d28fbc109728c5ee7f27aff6391f0ca703a329abe"}, - {file = "aiohttp-3.14.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:1b9748363260121d2927704f5d4fc498150669ca3ae93625986ee89c8f80dcd4"}, - {file = "aiohttp-3.14.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:86a6dab78b0e43e2897a3bbe15745aa60dc5423ca437b7b0b164c069bf91b876"}, - {file = "aiohttp-3.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4dfd6e47d3c44c2279907607f73a4240b88c69eb8b90da7e2441a8045dfd21da"}, - {file = "aiohttp-3.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:317acd9f8602858dc7d59679812c376c7f0b97bcbbf16e0d6237f54141d8a8a6"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd869c427324e5cb15195793de951295710db28be7d818247f3097b4ab5d4b96"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:93b032b5ec3255473c143627d21a69ac74ae12f7f33974cb587c564d11b1066f"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f234b4deb12f3ad59127e037bc57c40c21e45b45282df7d3a55a0f409f595296"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9af6779bfb46abf124068327abcdf9ce95c9ef8287a3e8da76ccf2d0f16c28fa"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:faccab372e66bc76d5731525e7f1143c922271725b9d38c9f97edcc66266b451"}, - {file = "aiohttp-3.14.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f380468b09d2a81633ee863b0ec5648d364bd17bb8ecfb8c2f387f7ac1faf42c"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:97e704dcd26271f5bda3fa07c3ce0fb76d6d3f8659f4baa1a24442cc9ba177ca"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:269b76ac5394092b95bc4a098f4fc6c191c083c3bd12775d1e30e663132f6a09"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c0b3e614340c889d575451696374c9d17affd54cd607ca0babed8f8c37b9397"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:5663ee9257cfa1add7253a7da3035a02f31b6600ec48261585e1800a81533080"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:603a2c834142172ffddc054067f5ec0ca65d57a0aa98a71bc81952573208e345"}, - {file = "aiohttp-3.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cb21957bb8aca671c1765e32f58164cf0c50e6bf41c0bbbd16da20732ecaf588"}, - {file = "aiohttp-3.14.1-cp313-cp313-win32.whl", hash = "sha256:e509a55f681e6158c20f70f102f9cf61fb20fbc382272bc6d94b7343f2582780"}, - {file = "aiohttp-3.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:1ac8531b638959718e18c2207fbfe297819875da46a740b29dfa29beba64355a"}, - {file = "aiohttp-3.14.1-cp313-cp313-win_arm64.whl", hash = "sha256:250d14af67f6b6a1a4a811049b1afa69d61d617fca6bf33149b3ab1a6dbcf7b8"}, - {file = "aiohttp-3.14.1-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:7c106c26852ca1c2047c6b80384f17100b4e439af276f21ef3d4e2f450ae7e15"}, - {file = "aiohttp-3.14.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:20205f7f5ade7aaec9f4b500549bbc071b046453aed72f9c06dcab87896a83e8"}, - {file = "aiohttp-3.14.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:62a759436b29e677181a9e76bab8b8f689a29cb9c535f45f7c48c9c830d3f8c3"}, - {file = "aiohttp-3.14.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:2964cbf553df4d7a57348da44d961d871895fc1ee4e8c322b2a95612c7b17fba"}, - {file = "aiohttp-3.14.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:237651caadc3a59badd39319c54642b5299e9cc98a3a194310e55d5bb9f5e397"}, - {file = "aiohttp-3.14.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:896e12dfdbbab9d8f7e16d2b28c6769a60126fa92095d1ebf9473d02593a2448"}, - {file = "aiohttp-3.14.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d03f281ed22579314ba00821ce20115a7c0ac430660b4cc05704a3f818b3e004"}, - {file = "aiohttp-3.14.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07eabb979d236335fed927e137a928c9adfb7df3b9ec7aa31726f133a62be983"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4fe1f1087cbadb280b5e1bb054a4f00d1423c74d6626c5e48400d871d34ecefe"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:367a9314fdc79dab0fac96e216cb41dd73c85bdca85306ce8999118ba7e0f333"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a24f677ebe83749039e7bdf862ff0bbb16818ae4193d4ef96505e269375bcce0"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c83afe0ba876be7e943d2e0ba645809ad441575d2840c895c21ee5de93b9377a"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:634e385930fb6d2d479cf3aa66515955863b77a5e3c2b5894ca259a25b308602"}, - {file = "aiohttp-3.14.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:eeea07c4397bbc57719c4eed8f9c284874d4f175f9b6d57f7a1546b976d455ca"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:335c0cc3e3545ce98dcb9cfcb836f40c3411f43fa03dab757597d80c89af8a35"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:ae6be797afdef264e8a84864a85b196ca06045586481b3df8a967322fd2fa844"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:8560b4d712474335d08907db7973f71912d3a9a8f1dee992ec06b5d2fe359496"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7edd08e0a5deb1e8564a2fcd8f4561014a3f05252334671bbf55ddd47db0e5"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:b6ff7fcee63287ae57b5df3e4f5957ce032122802509246dec1a5bcc55904c95"}, - {file = "aiohttp-3.14.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6ffbb2f4ec1ceaff7e07d43922954da26b223d188bf30658e561b98e23089444"}, - {file = "aiohttp-3.14.1-cp314-cp314-win32.whl", hash = "sha256:a9875b46d910cff3ea2f5962f9d266b465459fe634e22556ab9bd6fc1192eea0"}, - {file = "aiohttp-3.14.1-cp314-cp314-win_amd64.whl", hash = "sha256:af8b4b81a960eeaf1234971ac3cd0ba5901f3cd42eae42a46b4d089a8b492719"}, - {file = "aiohttp-3.14.1-cp314-cp314-win_arm64.whl", hash = "sha256:cf4491381b1b57425c315a56a439251b1bdac07b2275f19a8c44bc57744532ec"}, - {file = "aiohttp-3.14.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:819c054312f1af92947e6a55883d1b66feefab11531a7fc45e0fb9b63880b5c2"}, - {file = "aiohttp-3.14.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:10ee9c1753a8f706345b22496c79fbddb5be0599e0823f3738b1534058e25340"}, - {file = "aiohttp-3.14.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1601cc37baf5750ccacae618ec2daf020769581695550e3b654a911f859c563d"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4d6e0ac9da31c9c04c84e1c0182ad8d6df35965a85cae29cd71d089621b3ae94"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9e8f2d660c350b3d0e259c7a7e3d9b7fc8b41210cbcc3d4a7076ff0a5e5c2fdc"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4691802dda97be727f79d86818acaad7eb8e9252626a1d6b519fedbb92d5e251"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c389c482a7e9b9dc3ee2701ac46c4125297a3818875b9c305ddb603c04828fd1"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fc0cacab7ba4e56f0f81c82a98c09bed2f39c940107b03a34b168bdf7597edd3"}, - {file = "aiohttp-3.14.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:979ed4717f59b8bb12e3963378fa285d93d367e15bcd66c721311826d3c44a6c"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:38e1e7daaea81df51c952e18483f323d878499a1e2bfe564790e0f9701d6f203"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:4132e72c608fe9fecb8f409113567605915b83e9bdd3ea56538d2f9cd35002f1"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:eefd9cc9b6d4a2db5f00a26bc3e4f9acf71926a6ec557cd56c9c6f27c290b665"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:b165790117eea512d7f3fb22f1f6dad3d55a7189571993eb015591c1401276d1"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ed09c7eb1c391271c2ed0314a51903e72a3acb653d5ccfc264cdf3ef11f8269d"}, - {file = "aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:99abd37084b82f5830c635fddd0b4993b9742a66eb746dacf433c8590e8f9e3c"}, - {file = "aiohttp-3.14.1-cp314-cp314t-win32.whl", hash = "sha256:47ddf841cdecc810749921d25606dee45857d12d2ad5ddb7b5bd7eab12e4b365"}, - {file = "aiohttp-3.14.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5e78b522b7a6e27e0b25d19b247b75039ac4c94f99823e3c9e53ae1603a9f7e9"}, - {file = "aiohttp-3.14.1-cp314-cp314t-win_arm64.whl", hash = "sha256:90d53f1609c29ccc2193945ef732428382a28f78d0456ae4d3daf0d48b74f0f6"}, - {file = "aiohttp-3.14.1.tar.gz", hash = "sha256:307f2cff90a764d329e77040603fa032db89c5c24fdad50c4c15334cba744035"}, + {file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eb0495d778817619273c108784292be161a924b9f5ae5cbbc70a2caa6838250b"}, + {file = "aiohttp-3.14.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c3c200cf9757edd785051dc699c7ecbec22110dbfcb3fefc7a9f9695eda8ea7a"}, + {file = "aiohttp-3.14.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd51ebf9d3a00c074df4ede271023f4d2dba289bcc740b88191872716014e3c5"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:134ac5ddcf61c6fad984b9a5727d83492ada43d63471db20fb73042c13fca62f"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:70c987b27534f9ae1a723f47ae921571d616da21d3208282bf4c52af5164ac43"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1b59533861b70a2185c8f4f350f791f39d64358ef6944ce71c5240c9ec0982c9"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1c5281acc88b92396f88c7e1e2748f8466689df22b80170e4f51efa712fb47a8"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48d67b87db6279c044760787eb01f6413032c2e6f3ba1cafaa492b1c8e578479"}, + {file = "aiohttp-3.14.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f53bcd52f585e1ac3e590d61434eb61f9a88c38df041b4ea126d97144344a77b"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0fdea2281997af69da84c77ffa6f5938a0285f21fb3887c249d67419ca865b3d"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cda5fd5c95ad7a125a2e8464acc78b98b94c475a3780d6aa0aa157c93f470f4d"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6debfa7312ff9d4c124dc71d72e9a0a4b9e0879e48ba6fcb42bef5c3300289e2"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:f4e05329faa0ea1a404b37de4f034fd2c2defcca06a68dc6745e4e56c88e8a48"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a3a8296e7ab5c295f53f1041487cb088e1480775aafbf7fe545d93b770a0f96f"}, + {file = "aiohttp-3.14.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5373dc80ad1aa2fb9ad95c83f24eef418bbda3a61375f128e5b0192e4f3f9b32"}, + {file = "aiohttp-3.14.3-cp310-cp310-win32.whl", hash = "sha256:a3e22975f905b89a55a488c2a08f2fdb2186175349e917d48985cc468a3d4c6e"}, + {file = "aiohttp-3.14.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdd0e2834dce1a26c1bbe26464861e16bbe217042cbff619247c11594472518c"}, + {file = "aiohttp-3.14.3-cp310-cp310-win_arm64.whl", hash = "sha256:eac645b09bcfdf73df7536331f0678c1086ea250981118ddb5199e17ccef72bb"}, + {file = "aiohttp-3.14.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e568e14940c09955aa51f4e645b6daa18a581c5dcfcd73744dcc86a856e3ced3"}, + {file = "aiohttp-3.14.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:54cfcdee2770dac994417cbb0ee1f3eb0e7cb6b30c79bf44f2c02ff79ec5124a"}, + {file = "aiohttp-3.14.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:21c016079415ed3fd676963e9793700a566d85dbbd6bfc564b9b2d209147dcc8"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d6088ec9894113802bddb3c09e974929aed2c7b3a8c456219b8aab4481f1a239"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:16ea7e24c309fb7c0bbd505d149abe4fe4dccfb8db911db7dbec0921bc889a6f"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56f355e79f71aef2a85c80305cc915f894b170dba76de5fe84f6351939b83c06"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:18c441d0a8fca6de8d1f546849b9f0ab20d435993e2c5b59562b2fae6be2f929"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:53e7b4ce82b54a8bcc71b3b67a5cbd177ca1d7f592cbc92cd38b7349f73482db"}, + {file = "aiohttp-3.14.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f55119f7bf25f49ed210f6096090715da24f2943c62102448915fde3c62877ce"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9aa6e61fdf20105c4144e755bd586008ff450791d67b1c8146fdc15959c4d51c"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ccd4893707b3e2a13e39c90d43cf80edf2e4d0457935bcc103bf2346214c3f15"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2466434105a4e03113c36ec775cc2ebe6676b62eae326fa670bb607ef788c1c"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:ba59d59aba08ac02fc03b0c8983ccd5ee39a199d0552ce9e6d2b4845b34d59ae"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ed099d105449c4f9e84f24af203cd131349d4761d8813fa7e02c32e7128cd910"}, + {file = "aiohttp-3.14.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:152516815ef926786a0b6ae2b8f1fd2e0c71582dee0b435636865316fd4891b7"}, + {file = "aiohttp-3.14.3-cp311-cp311-win32.whl", hash = "sha256:a4af35c443e0b1a1bd6a8af3f3485d7fda15c142751a00f3ff8090f0b93346fa"}, + {file = "aiohttp-3.14.3-cp311-cp311-win_amd64.whl", hash = "sha256:e1e74298bab6ee0d6e749ed4fd1901c7e604bdda32c03d787a2cc71c46d0433d"}, + {file = "aiohttp-3.14.3-cp311-cp311-win_arm64.whl", hash = "sha256:03cd2bde3d7f085b64e549c985f4bb928cad7e8ecf5323bfca320db548d81b39"}, + {file = "aiohttp-3.14.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:39aded8c7f3b935b54aab1d8d73c70ec0ee2d3ec3b943e0e86611bc150ba47f5"}, + {file = "aiohttp-3.14.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5bcb6ff3fdab1258a192679ff1a05d44f59626430aa05cd1a9d2447423599228"}, + {file = "aiohttp-3.14.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:617105e2c3018ee38d0c8ce5ee3c84f621a6d8b9f723202aacaff28449ca91ee"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f631fe87a6f30df5fbe6d79640b25e4cffb38c31c7fb6f10871517b84b0f8c1a"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a94dbaae5ae27bd849c93570669bff91e0510f33a80805738e3de72a7be0447b"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8f2f1c4c032c7cedd7d8da6f54c97b70266c6570c3108d3fdffee7188bb70529"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea05e1f97ceea523942d9b2a7d7c0359d781d683d6b043f5943a602b14da4787"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:543906c127fb1d929b95076db19b83fa2d46751006ff1e23b093aa5ac4d8db42"}, + {file = "aiohttp-3.14.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0a5ff2dfbb9ce645fa5b8ef3e02c6c0b9cc3f6030ff863d0c51fffc50cb5541b"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:041badb8f84396357c4d3ad26de6afd7a32b112f43d3c63045c0c8278cfd2043"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:530125ee1163c4219af35dc3aa1206e541e7b31b6efc1a3f93b70a136f65d427"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8653fd547c93a61aadc612007790f5555cdd18946fa48cf45e26d8ea4ea473d"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:89176250f686cb9853c0fb7ead90e639e915b84a6f43eedc2a4e7ec21f1037f0"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3a26434dafe408229ff3403458ca58de24fb51936504decac49ce6755f77e59d"}, + {file = "aiohttp-3.14.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d1558173930a5a8d3069cee5c92fc91c87c4dbcb099debbb3622053717145a19"}, + {file = "aiohttp-3.14.3-cp312-cp312-win32.whl", hash = "sha256:16100ad3ab8d649fdfbee87602d9d2dcdca9df0b9eda8a1b5fdc0d41f96da559"}, + {file = "aiohttp-3.14.3-cp312-cp312-win_amd64.whl", hash = "sha256:33a2d7c28d33797a2e99923dffa63f83d908a19b6bf26cfe80fa790aa5e1a75a"}, + {file = "aiohttp-3.14.3-cp312-cp312-win_arm64.whl", hash = "sha256:362a3fd481769cac1a824514bcd86fda51c65e8fe6e051099e008fddde6db17c"}, + {file = "aiohttp-3.14.3-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:2e9878ae68e4a5f1c0abe4dd497dbc3d51946f5837b56759e2a02e78fa90ef86"}, + {file = "aiohttp-3.14.3-cp313-cp313-android_21_x86_64.whl", hash = "sha256:f3d2669fe7dec7fc359ecdb5984b29b50d85d5d00f8c1cb61de4f4a24ee42627"}, + {file = "aiohttp-3.14.3-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:cc7cb243a68167172f48c1fd43cee91ec4b1d40cefd190edd43369d1a6bc9c82"}, + {file = "aiohttp-3.14.3-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:78253b573e6ffab5028924fc98bc281aae05445969982a10864bc360dea2016c"}, + {file = "aiohttp-3.14.3-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7041d52c3a7fa20c9e8c182b534704abb19502c8bdcbde7ab23bfda6f642394f"}, + {file = "aiohttp-3.14.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ac74facc01463f138b0da5580329cfcc82818dea5656e83ddcd11268fc12ff80"}, + {file = "aiohttp-3.14.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d6218d92e450824e9b4881f44e8c09f1853b490f9a64130801024a4793b1b3b0"}, + {file = "aiohttp-3.14.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:11fb37ef075669eee52ab1928fbf6e1741fada40409fa309ebde9607a962aebf"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55bdcc472aafe2de4a253045cc128007a64f1e0264fb675791e132ea5edaa3bd"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c39846c3aad97a8530c89d7a3869a8f8e9e3762c6ac0504481e5c80948f7e807"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5895ef58c4620afe02fa16044f023dc4dafec08158f9d08874a46a7dbc0341b8"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fa9467a8113aa69d3d7c55a70ef0b7c636010a40993f3df9d9d0d73b3eb7ef24"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7d2deec16eeedf55f2c7cf75b521ea3856a5177e123844f8fd0f114ce252cb5"}, + {file = "aiohttp-3.14.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dd54d0e8717de95939766febac482ac0474d8ac3b048115f9f2b1d23a16e7db4"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:df82f3787c940c94986b34222d59c9e38843fba85139f36e85255a82ad5355a9"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:42a67efc36300d052fb4508a53e8b6901b9284b599ae63945c377569c5fcc1e1"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7a75aa63cbf9b21cfaf60dc2657e19df2c2867d91707d653fee171ffeedd1371"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e92eb8acc45eb6a9f4935071a77edf5b85cc6f8dfad5cd99e97653c26593cdde"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b014a6ed7cf912e787149fdc529166d3ceabac23f26efeea3158c9aba2354e7e"}, + {file = "aiohttp-3.14.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3d4f72af88ac2474bb5bca640030320e3d38a0163a1d7533500e87be458eef71"}, + {file = "aiohttp-3.14.3-cp313-cp313-win32.whl", hash = "sha256:5f08ec777f35ee70720233b8b9811d3bb5d728137f30ac91b7457709c3261ac0"}, + {file = "aiohttp-3.14.3-cp313-cp313-win_amd64.whl", hash = "sha256:dff9461ec275f22135650d5ba4b4931a11f3958df7dfbb8db630000d4dee0883"}, + {file = "aiohttp-3.14.3-cp313-cp313-win_arm64.whl", hash = "sha256:ddcac3c6b382e81f1dd0499199d4136b877beb4cb5ef770bbbfba56c4b8f55d2"}, + {file = "aiohttp-3.14.3-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:49f7325beb0f85ef4aef5f48f490269575f83e6e2acad00a1d80b807eb027062"}, + {file = "aiohttp-3.14.3-cp314-cp314-android_24_x86_64.whl", hash = "sha256:e3be98a7c30b8c25d573dafba7171d66dfb05ee6a9070fc46535464ff97700a6"}, + {file = "aiohttp-3.14.3-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:614c61d478b83953e261d02bb2df750f17227cd33ef8002945bf5aebbde21919"}, + {file = "aiohttp-3.14.3-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:1caa7b0d05f3e3a36f87788c59e970a7ee1cefcfcbb924a9f138c4a6551c9cb7"}, + {file = "aiohttp-3.14.3-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:dfa68deb2a443bdaa3ea5297b0699c1464f08aef3812b486d1348eee61b07dc0"}, + {file = "aiohttp-3.14.3-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e72ee89e28d907a18f46959b4eb0bb06701cc7f8cf4366e00029e2ccfaaf5924"}, + {file = "aiohttp-3.14.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ad4c8b7488d745d2ca4838ebd8ae5ba9b56341d30b1da43640e4ce87f9f49646"}, + {file = "aiohttp-3.14.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:db332af25642007330fca8be5c4d194caf2bea7a7fc84415aff3497af5dfee6b"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25bd2708db6bdf6a6630dd37bdcdfcb47c4434d22ac69c64665b802910140b30"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:cef89a58e628c4efcac3275c2d68083f82426dcdc89c1492a6f654f9f7ea6ab9"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c23ec8ee9d5ab2f5421f9c7fffce208435607af27fd46d4a44e031954352838f"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e2667f0bbe7eb6c74eae5e9691441ad186e5845ca3cff63230fc09c4e7514f5d"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18cb43369747b2ae007bd2655fb8e63a099c2ff1d207962943636dac989b3147"}, + {file = "aiohttp-3.14.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d77640cc618c1d99fc4f8589c0f24a730adfa54eb1e57ef7bf0c8dfb78da898c"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:53e5179d8abb5710f8e83ba207c41c8d1261fcffd4616500e15ca2b7a33be10a"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:cd817772b2fcf2b8c0905795318485f9ec16eae60b29feb7f4c77085311637f0"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:4e3ac92d90e92773b2362d506068e9a948192bd553e743c5b2429e28527c8661"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3f42e9b78301f11c8f861746175d8b9c1ccef713fcad9eab396e2f6db8ed4a22"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:9d9edccfe496b476db5f398d97b865e9a6752bcf8aec4eef8390ce20fb64bb41"}, + {file = "aiohttp-3.14.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1c5ec8fb1bcc31a8466f74aaf26c345d5c386fa4bd08a3f0eb9c7a4a3fe8b5bf"}, + {file = "aiohttp-3.14.3-cp314-cp314-win32.whl", hash = "sha256:38901a84da3ce22249f6e860bf8f90d141bcab7da090cc398f8bb58c0e44b7da"}, + {file = "aiohttp-3.14.3-cp314-cp314-win_amd64.whl", hash = "sha256:8b3b60de05f3dcb6f6a00f818bb2ec781cee4de0645f59ccaf99b1d1823b6100"}, + {file = "aiohttp-3.14.3-cp314-cp314-win_arm64.whl", hash = "sha256:1576145bdceeb92382d899751e12743a3a5b8e460a841e3e50543859e54864dc"}, + {file = "aiohttp-3.14.3-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:8800c996b01c2772a783e3e46f3e1abd5823029adca0df54231960de9bfefa5b"}, + {file = "aiohttp-3.14.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ebe8e504f058fe91223351cecd2d9d6946c9d241bb0250d898ffbdf584cc72b0"}, + {file = "aiohttp-3.14.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:30402d03a7c0ff52bce290b57e564e9079fd9d0cb545c8aba73f86a103162d2e"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9fc7b5bfec6573f3ae844f457fdde5adeb713f8b8e4a81ad64fc207b49383716"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8a5fd34f7f7410d1730d5c2ba873cacb2eed3fede366feb268a70ba22581ed8f"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:270d3dace9ca2f10f0da5d8ebe519b7a310fc6112ed916e32df5866df0888553"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3ae5b3a59436d089b5395d910121a390feed4d00578eb95a0fd1a329fe963100"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2498f0fe69ead802f9675beca44a7c21c62fdaa4ec5145ea1c3ad6edbee29f85"}, + {file = "aiohttp-3.14.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a0dc483c00da8b673abbb367eb6f8d8f4bcec30eb58529ea13cb42e7fd2dfa33"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c7d3a97c678d34fc5b59da671ee9cd630096ddc643e7b5a30d54a2a6f3574d3f"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:f8fb78a83c9e5f741ca3a68cfb455c1f5bb83b4e7249a3848b3cd78d0a8563b0"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:74ab5b6a9fb13e873e5a90946588baecaf488745e1db1a4a5c433f971f035098"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:bd52f811e65f6fb634b1047159657c98f52b407f8efec907bcfc09da9a4c0a25"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:f0f177d1b195b9e06376cfd7d308d8a1b920909a609d03ac82a8c73bbb16d3b9"}, + {file = "aiohttp-3.14.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:498c6c623134f8e09a3c4e60bcd607a0b4590dd7dbf08dd40851b27cbb520ccb"}, + {file = "aiohttp-3.14.3-cp314-cp314t-win32.whl", hash = "sha256:b304db572b4368edd8dda8a2274f73156fe15558fca4a917cb8a09fc47af5963"}, + {file = "aiohttp-3.14.3-cp314-cp314t-win_amd64.whl", hash = "sha256:b20032766aedf6261c7a566585a40867d092ac03a0d81592d5370ef9b054f99b"}, + {file = "aiohttp-3.14.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2e1161602f45a54de2ce0905243a95f58cb42dcd378402f3697f5e0b21e9d2e7"}, + {file = "aiohttp-3.14.3.tar.gz", hash = "sha256:9491196535a88924a60afd5b5f434b5b203b6cc616250878dbdb223a8f7844bc"}, ] [package.dependencies] @@ -170,24 +170,24 @@ typing-extensions = {version = ">=4.2", markers = "python_version < \"3.13\""} [[package]] name = "annotated-types" -version = "0.7.0" +version = "0.8.0" description = "Reusable constraint types to use with typing.Annotated" optional = false -python-versions = ">=3.8" +python-versions = ">=3.10" files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, + {file = "annotated_types-0.8.0-py3-none-any.whl", hash = "sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0"}, + {file = "annotated_types-0.8.0.tar.gz", hash = "sha256:13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7"}, ] [[package]] name = "anyio" -version = "4.14.1" +version = "4.14.2" description = "High-level concurrency and networking framework on top of asyncio or Trio" optional = false python-versions = ">=3.10" files = [ - {file = "anyio-4.14.1-py3-none-any.whl", hash = "sha256:4e5533c5b8ff0a24f5d7a176cbe6877129cd183893f66b537f8f227d10527d72"}, - {file = "anyio-4.14.1.tar.gz", hash = "sha256:8d648a3544c1a700e3ff78615cd679e4c5c3f149904287e73687b2596963629e"}, + {file = "anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494"}, + {file = "anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f"}, ] [package.dependencies] @@ -233,13 +233,13 @@ files = [ [[package]] name = "certifi" -version = "2026.6.17" +version = "2026.7.22" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.7" files = [ - {file = "certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"}, - {file = "certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432"}, + {file = "certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775"}, + {file = "certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55"}, ] [[package]] @@ -1238,24 +1238,24 @@ files = [ [[package]] name = "types-python-dateutil" -version = "2.9.0.20260518" +version = "2.9.0.20260716" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.10" files = [ - {file = "types_python_dateutil-2.9.0.20260518-py3-none-any.whl", hash = "sha256:d6a9c5bd0de61460c8fdef8ab2b400f956a1a1075cce08d4e2b4434e478c50b8"}, - {file = "types_python_dateutil-2.9.0.20260518.tar.gz", hash = "sha256:51f02dc03b61c7f6a07df45797d4dfe8a1aa47f0b7db9ad89f6fd3a1a70e1b51"}, + {file = "types_python_dateutil-2.9.0.20260716-py3-none-any.whl", hash = "sha256:1ae41d51a5c5f6bbeeb7f1f34df7086d55ff1605cf88d2ed71a7a276e1a7794e"}, + {file = "types_python_dateutil-2.9.0.20260716.tar.gz", hash = "sha256:1d55d1c3024bdb4861bb6a6622c9ec800c433d87bdc5b16fb84cdd0eed4ef2cb"}, ] [[package]] name = "typing-extensions" -version = "4.15.0" +version = "4.16.0" description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" files = [ - {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, - {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, + {file = "typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"}, + {file = "typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5"}, ] [[package]] @@ -1274,115 +1274,115 @@ typing-extensions = ">=4.12.0" [[package]] name = "yarl" -version = "1.24.2" +version = "1.24.5" description = "Yet another URL library" optional = true python-versions = ">=3.10" files = [ - {file = "yarl-1.24.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5249a113065c2b7a958bc699759e359cd61cfc81e3069662208f48f191b7ed12"}, - {file = "yarl-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7f4425fa244fbf530b006d0c5f79ce920114cfff5b4f5f6056e669f8e160fdc0"}, - {file = "yarl-1.24.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15c0b5e49d3c44e2a0b93e6a49476c5edad0a7686b92c395765a7ea775572a75"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:246d32a53a947c8f0189f5d699cbd4c7036de45d9359e13ba238d1239678c727"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:64480fb3e4d4ed9ed71c48a91a477384fc342a50ca30071d2f8a88d51d9c9413"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:349de4701dc3760b6e876628423a8f147ef4f5599d10aba1e10702075d424ed9"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d162677af8d5d3d6ebab8394b021f4d041ac107a4b705873148a77a49dc9e1b2"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f5f5c6ec23a9043f2d139cc072f53dd23168d202a334b9b2fda8de4c3e890d90"}, - {file = "yarl-1.24.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:60de6742447fbbf697f16f070b8a443f1b5fe6ca3826fbef9fe70ecd5328e643"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acf93187c3710e422368eb768aee98db551ec7c85adc250207a95c16548ab7ac"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f4b0352fd41fd34b6651934606268816afd6914d09626f9bcbbf018edb0afb3f"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6b208bb939099b4b297438da4e9b25357f0b1c791888669b963e45b203ea9f36"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4b85b8825e631295ff4bc8943f7471d54c533a9360bbe15ebb38e018b555bb8a"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e26acf20c26cb4fefc631fdb75aca2a6b8fa8b7b5d7f204fb6a8f1e63c706f53"}, - {file = "yarl-1.24.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:819ca24f8eafcfb683c1bd5f44f2f488cea1274eb8944731ffd2e1f10f619342"}, - {file = "yarl-1.24.2-cp310-cp310-win_amd64.whl", hash = "sha256:5cb0f995a901c36be096ccbf4c673591c2faabbe96279598ffaec8c030f85bf4"}, - {file = "yarl-1.24.2-cp310-cp310-win_arm64.whl", hash = "sha256:f408eace7e22a68b467a0562e0d27d322f91fe3eaaa6f466b962c6cfaea9fa39"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:36348bebb147b83818b9d7e673ea4debc75970afc6ffdc7e3975ad05ce5a58c1"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a97e42c8a2233f2f279ecadd9e4a037bcb5d813b78435e8eedd4db5a9e9708c"}, - {file = "yarl-1.24.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8d027d56f1035e339d1001ac33eceab5b2ec8e42e449787bb75e289fb9a5cd1d"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a6377060e7927187a42b7eb202090cbe2b34933a4eeaf90e3bd9e33432e5cae"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:17076578bce0049a5ce57d14ad1bded391b68a3b213e9b81b0097b090244999a"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:50713f1d4d6be6375bb178bb43d140ee1acb8abe589cd723320b7925a275be1e"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:34263e2fa8fb5bb63a0d97706cda38edbad62fddb58c7f12d6acbc092812aa50"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49016d82f032b1bd1e10b01078a7d29ae71bf468eeae0ea22df8bab691e60003"}, - {file = "yarl-1.24.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3f6d2c216318f8f32038ca3f72501ba08536f0fd18a36e858836b121b2deed9f"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:08d3a33218e0c64393e7610284e770409a9c31c429b078bcb24096ed0a783b8f"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5d699376c4ca3cba49bbfae3a05b5b70ded572937171ce1e0b8d87118e2ba294"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a1cab588b4fa14bea2e55ebea27478adfb05372f47573738e1acc4a36c0b05d2"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:ec87ccc31bd21db7ad009d8572c127c1000f268517618a4cc09adba3c2a7f21c"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d1dd47a22843b212baa8d74f37796815d43bd046b42a0f41e9da433386c3136b"}, - {file = "yarl-1.24.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7b54b9c67c2b06bd7b9a77253d242124b9c95d2c02def5a1144001ee547dd9d5"}, - {file = "yarl-1.24.2-cp311-cp311-win_amd64.whl", hash = "sha256:f8fdbcff8b2c7c9284e60c196f693588598ddcee31e11c18e14949ce44519d45"}, - {file = "yarl-1.24.2-cp311-cp311-win_arm64.whl", hash = "sha256:b32c37a7a337e90822c45797bf3d79d60875cfcccd3ecc80e9f453d87026c122"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b975866c184564c827e0877380f0dae57dcca7e52782128381b72feff6dfceb8"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3b075301a2836a0e297b1b658cb6d6135df535d62efefdd60366bd589c2c82f2"}, - {file = "yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ae44649b00947634ab0dab2a374a638f52923a6e67083f2c156cd5cbd1a881d"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:507cc19f0b45454e2d6dcd62ff7d062b9f77a2812404e62dbdaec05b50faa035"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4c17bad5a530912d2111825d3f05e89bab2dd376aaa8cbc77e449e6db63e576"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5f0cbb112838a4a293985b6ed73948a547dadcc1ba6d2089938e7abdedceef8"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ec8356b8a6afcf81fc7aeeef13b1ff7a49dec00f313394bbb9e83830d32ccd7"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e7ebcdef69dec6c6451e616f32b622a6d4a2e92b445c992f7c8e5274a6bbc4c"}, - {file = "yarl-1.24.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:47a55d6cf6db2f401017a9e96e5288844e5051911fb4e0c8311a3980f5e59a7d"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3065657c80a2321225e804048597ad55658a7e76b32d6f5ee4074d04c50401db"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:cb84b80d88e19ede158619b80813968713d8d008b0e2497a576e6a0557d50712"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:990de4f680b1c217e77ff0d6aa0029f9eb79889c11fb3e9a3942c7eba29c1996"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:abb8ec0323b80161e3802da3150ef660b41d0e9be2048b76a363d93eee992c2b"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e7977781f83638a4c73e0f88425563d70173e0dfd90ac006a45c65036293ee3c"}, - {file = "yarl-1.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e30dd55825dc554ec5b66a94953b8eda8745926514c5089dfcacecb9c99b5bd1"}, - {file = "yarl-1.24.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dafe10c12ddd4d120d528c4b5599c953bd7b12845347d507b95451195bb6cad"}, - {file = "yarl-1.24.2-cp312-cp312-win_arm64.whl", hash = "sha256:044a09d8401fcf8681977faef6d286b8ade1e2d2e9dceda175d1cfa5ca496f30"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:491ac9141decf49ee8030199e1ee251cdff0e131f25678817ff6aa5f837a3536"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e89418f65eda18f99030386305bd44d7d504e328a7945db1ead514fbe03a0607"}, - {file = "yarl-1.24.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cdfcce633b4a4bb8281913c57fcafd4b5933fbc19111a5e3930bbd299d6102f1"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:863297ddede92ee49024e9a9b11ecb59f310ca85b60d8537f56bed9bbb5b1986"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:374423f70754a2c96942ede36a29d37dc6b0cb8f92f8d009ddf3ed78d3da5488"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:33a29b5d00ccbf3219bb3e351d7875739c19481e030779f48cc46a7a71681a9b"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a9532c57211730c515341af11fef6e9b61d157487272a096d0c04da445642592"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91e72cf093fd833483a97ee648e0c053c7c629f51ff4a0e7edd84f806b0c5617"}, - {file = "yarl-1.24.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b3177bc0a768ef3bacceb4f272632990b7bea352f1b2f1eee9d6d6ff16516f92"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e196952aacaf3b232e265ff02980b64d483dc0972bd49bcb061171ff22ac203a"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:204e7a61ce99919c0de1bf904ab5d7aa188a129ea8f690a8f76cfb6e2844dc44"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b156914620f0b9d78dc1adb3751141daee561cfec796088abb89ed49d220f1a"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8372a2b976cf70654b2be6619ab6068acabb35f724c0fda7b277fbf53d66a5cf"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f9a1e9b622ca284143aab5d885848686dcd85453bb1ca9abcdb7503e64dc0056"}, - {file = "yarl-1.24.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:810e19b685c8c3c5862f6a38160a1f4e4c0916c9390024ec347b6157a45a0992"}, - {file = "yarl-1.24.2-cp313-cp313-win_amd64.whl", hash = "sha256:7d37fb7c38f2b6edab0f845c4f85148d4c44204f52bc127021bd2bc9fdbf1656"}, - {file = "yarl-1.24.2-cp313-cp313-win_arm64.whl", hash = "sha256:1e831894be7c2954240e49791fa4b50c05a0dc881de2552cfe3ffd8631c7f461"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f9312b3c02d9b3d23840f67952913c9c8721d7f1b7db305289faefa878f364c2"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a4f4d6cd615823bfc7fb7e9b5987c3f41666371d870d51058f77e2680fbe9630"}, - {file = "yarl-1.24.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0c3063e5c0a8e8e62fae6c2596fa01da1561e4cd1da6fec5789f5cf99a8aefd8"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fecd17873a096036c1c87ab3486f1aef7f269ada7f23f7f856f93b1cc7744f14"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a46d1ab4ba4d32e6dc80daf8a28ce0bd83d08df52fbc32f3e288663427734535"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:73e68edf6dfd5f73f9ca127d84e2a6f9213c65bdffb736bda19524c0564fcd14"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a296ca617f2d25fbceafb962b88750d627e5984e75732c712154d058ae8d79a3"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51b2cf5ec89a8b8470177641ed62a3ba22d74e1e898e06ad53aa77972487208"}, - {file = "yarl-1.24.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:310fc687f7b2044ec54e372c8cbe923bb88f5c37bded0d3079e5791c2fc3cf50"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:297a2fe352ecf858b30a98f87948746ec16f001d279f84aebdbd3bd965e2f1bd"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2a263e76b97bc42bdcd7c5f4953dec1f7cd62a1112fa7f869e57255229390d67"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:822519b64cf0b474f1a0aaef1dc621438ea46bb77c94df97a5b4d213a7d8a8b1"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:b6067060d9dc594899ba83e6db6c48c68d1e494a6dab158156ed86977ca7bcb1"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:0063adad533e57171b79db3943b229d40dfafeeee579767f96541f106bac5f1b"}, - {file = "yarl-1.24.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ee8e3fb34513e8dc082b586ef4910c98335d43a6fab688cd44d4851bacfce3e8"}, - {file = "yarl-1.24.2-cp314-cp314-win_amd64.whl", hash = "sha256:afb00d7fd8e0f285ca29a44cc50df2d622ff2f7a6d933fa641577b5f9d5f3db0"}, - {file = "yarl-1.24.2-cp314-cp314-win_arm64.whl", hash = "sha256:68cf6eacd6028ef1142bc4b48376b81566385ca6f9e7dde3b0fa91be08ffcb57"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:221ce1dd921ac4f603957f17d7c18c5cc0797fbb52f156941f92e04605d1d67b"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5f3224db28173a00d7afacdee07045cc4673dfab2b15492c7ae10deddbece761"}, - {file = "yarl-1.24.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c557165320d6244ebe3a02431b2a201a20080e02f41f0cfa0ccc47a183765da8"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:904065e6e85b1fa54d0d87438bd58c14c0bad97aad654ad1077fd9d87e8478ed"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cec2a38d70edc10e0e856ceda886af5327a017ccbde8e1de1bd44d300357543"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e7484b9361ed222ee1ca5b4337aa4cbdcc4618ce5aff57d9ef1582fd95893fc0"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:84f9670b89f34db07f81e53aee83e0b938a3412329d51c8f922488be7fcc4024"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:abb2759733d63a28b4956500a5dd57140f26486c92b2caedfb964ab7d9b79dbf"}, - {file = "yarl-1.24.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:081c2bf54efe03774d0311172bc04fedf9ca01e644d4cd8c805688e527209bdc"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:86746bef442aa479107fe28132e1277237f9c24c2f00b0b0cf22b3ee0904f2bb"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:2d07d21d0bc4b17558e8de0b02fbfdf1e347d3bb3699edd00bb92e7c57925420"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:4fb1ac3fc5fecd8ae7453ea237e4d22b49befa70266dfe1629924245c21a0c7f"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4da31a5512ed1729ca8d8aacde3f7faeb8843cde3165d6bcf7f88f74f17bb8aa"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:533ded4dceb5f1f3da7906244f4e82cf46cfd40d84c69a1faf5ac506aa65ecbe"}, - {file = "yarl-1.24.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7b3a85525f6e7eeabcfdd372862b21ee1915db1b498a04e8bf0e389b607ff0bd"}, - {file = "yarl-1.24.2-cp314-cp314t-win_amd64.whl", hash = "sha256:a7624b1ca46ca5d7b864ef0d2f8efe3091454085ee1855b4e992314529972215"}, - {file = "yarl-1.24.2-cp314-cp314t-win_arm64.whl", hash = "sha256:e434a45ce2e7a947f951fc5a8944c8cc080b7e59f9c50ae80fd39107cf88126d"}, - {file = "yarl-1.24.2-py3-none-any.whl", hash = "sha256:2783d9226db8797636cd6896e4de81feed252d1db72265686c9558d97a4d94b9"}, - {file = "yarl-1.24.2.tar.gz", hash = "sha256:9ac374123c6fd7abf64d1fec93962b0bd4ee2c19751755a762a72dd96c0378f8"}, + {file = "yarl-1.24.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88f50c94e21a0a7f14042c015b0eba1881af78562e7bf007e0033e624da59750"}, + {file = "yarl-1.24.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6efbccc3d7f75d5b03105172a8dc86d82ba4da86817952529dd93185f4a88be2"}, + {file = "yarl-1.24.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0ebfaffe1a16cb72141c8e09f18cc76856dbe58639f393a4f2b26e474b96b871"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ac73abdc7ab75610f95a8fd994c6457e87752b02a63987e188f937a1fc180f0"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4d97a951a81039050e45f04e96689b58b8243fa5e62aa14fe67cb6075300885e"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fe7b7bb170daccbba19ad33012d2b15f1e7942296fd4d45fc1b79013da8cc0f2"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:89a1bbb58e0e3f7a283653d854b1e95d65e5cfd4af224dac5f02629ec1a3e621"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7fa5e51397466ea7e98de493fa2ff1b8193cfef8a7b0f9b4842f92d342df0dba"}, + {file = "yarl-1.24.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4103b77b8a8225e413107d2349b65eb3c1c52627b5cc5c3c4c1c6a798b218950"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f9f3e9c8a9ecffa57bef8fb4fa19e5fa4d2d8307cf6bac5b1fca5e5860f4ba00"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0ebc836c47a6477e182169c6a476fc691d12b518894bf7dd2572f0d59f1c7ed"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:96d30286dd02679e32a39aa8f0b7498fc847fcda46cfc09df5513e82ce252440"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:fd8c81f346b58f45818d09ea11db69a8d5fd34a224b79871f6d44f12cd7977b1"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:5c55256dee8f4b27bfbf636c8363383c7c8db7890c7cba5217d7bd5f5f21dab6"}, + {file = "yarl-1.24.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9f4d8cf085a4c6a40fb97ea0f46938a8df43c85d31f9d45e2a8867ea9293790d"}, + {file = "yarl-1.24.5-cp310-cp310-win_amd64.whl", hash = "sha256:240cbec09667c1fed4c6cd0060b9ec57332427d7441289a2ed8875dc9fb2b224"}, + {file = "yarl-1.24.5-cp310-cp310-win_arm64.whl", hash = "sha256:8a6987eaad834cb32dd57d9d582225f0054a5d1af706ccfbbdba735af4927e13"}, + {file = "yarl-1.24.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2c1fe720934a16ea8e7146175cba2126f87f54912c8c5435e7f7c7a51ef808d3"}, + {file = "yarl-1.24.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c687ed078e145f5fd53a14854beff320e1d2ab76df03e2009c98f39a0f68f39a"}, + {file = "yarl-1.24.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:709f1efed56c4a145793c046cd4939f9959bcd818979a787b77d8e09c57a0840"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:874019bd513008b009f58657134e5d0c5e030b3559bd0553976837adf52fe966"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a4582acf7ef76482f6f511ebaf1946dae7f2e85ec4728b81a678c01df63bd723"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2cabe6546e41dabe439999a23fcb5246e0c3b595b4315b96ef755252be90caeb"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:17f57620f5475b3c69109376cc87e42a7af5db13c9398e4292772a706ff10780"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:570fec8fbd22b032733625f03f10b7ff023bc399213db15e72a7acaef28c2f4e"}, + {file = "yarl-1.24.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5fede79c6f73ff2c3ef822864cb1ada23196e62756df53bc6231d351a49516a2"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8ccf9aca873b767977c73df497a85dbedee4ee086ae9ae49dc461333b9b79f58"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ad5d8201d310b031e6cd839d9bac2d4e5a01533ce5d3d5b50b7de1ef3af1de61"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:841f0852f48fefea3b12c9dfec00704dfa3aef5215d0e3ce564bb3d7cd8d57c6"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9baafc71b04f8f4bb0703b21d6fc9f0c30b346c636a532ff16ec8491a5ea4b1f"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d897129df1a22b12aeed2c2c98df0785a2e8e6e0bde87b389491d0025c187077"}, + {file = "yarl-1.24.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dd625535328fd9882374356269227670189adfcc6a2d90284f323c05862eecbd"}, + {file = "yarl-1.24.5-cp311-cp311-win_amd64.whl", hash = "sha256:f4239bbec5a3577ddb49e4b50aeb32d8e5792098262ae2f63723f916a29b1a25"}, + {file = "yarl-1.24.5-cp311-cp311-win_arm64.whl", hash = "sha256:3ac6aff147deb9c09461b2d4bbdf6256831198f5d8a23f5d37138213090b6d8a"}, + {file = "yarl-1.24.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d693396e5aea78db03decd60aec9ece16c9b40ba00a587f089615ff4e718a81d"}, + {file = "yarl-1.24.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3363fcc96e665878946ad7a106b9a13eac0541766a690ef287c0232ac768b6ec"}, + {file = "yarl-1.24.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9d399bdcfb4a0f659b9b3788bbc89babe63d9a6a65aacdf4d4e7065ff2e6316c"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90333fd89b43c0d08ac85f3f1447593fc2c66de18c3d6378d7125ea118dc7a54"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:665b0a2c463cc9423dd647e0bfd9f4ccc9b50f768c55304d5e9f80b177c1de12"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e006d3a974c4ee19512e5f058abedb6eef36a5e553c14812bdeba1758d812e6d"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7d42c531243450ef0d4d9c172e7ed6ef052640f195629065041b5add4e058d1"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f08c7513ecef5aad65687bfdf6bc601ae9fccd04a42904501f8f7141abad9eb9"}, + {file = "yarl-1.24.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6c95b17fe34ed802f17e205112e6e10db92275c34fee290aa9bdc55a9c724027"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:56b149b22de33b23b0c6077ab9518c6dcb538ad462e1830e68d06591ccf6e38b"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a8fe66b8f300da93798025a785a5b90b42f3810dc2b72283ff84a41aaaebc293"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:377fe3732edbaf78ee74efdf2c9f49f6e99f20e7f9d2649fda3eb4badd77d76e"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e8ffa78582120024f476a611d7befc123cee59e47e8309d470cf667d806e613b"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:daba5e594f06114e37db186efd2dd916609071e59daca901a0a2e71f02b142ce"}, + {file = "yarl-1.24.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:65be18ec59496c13908f02a2472751d9ef840b4f3fb5726f129306bf6a2a7bba"}, + {file = "yarl-1.24.5-cp312-cp312-win_amd64.whl", hash = "sha256:a929d878fec099030c292803b31e5d5540a7b6a31e6a3cc76cb4685fc2a2f51b"}, + {file = "yarl-1.24.5-cp312-cp312-win_arm64.whl", hash = "sha256:7ce27823052e2013b597e0c738b13e7e36b8ccb9400df8959417b052ab0fd92c"}, + {file = "yarl-1.24.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:79af890482fc94648e8cde4c68620378f7fef60932710fa17a66abc039244da2"}, + {file = "yarl-1.24.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:46c2f213e23a04b93a392942d782eb9e413e6ef6bf7c8c53884e599a5c174dcb"}, + {file = "yarl-1.24.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92ab3e11448f2ff7bf53c5a26eff0edc086898ec8b21fb154b85839ce1d88075"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ebb0ec7f17803063d5aeb982f3b1bd2b2f4e4fae6751226cbd6ba1fcfe9e63ff"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:82632daed195dcc8ea664e8556dc9bdbd671960fb3776bd92806ce05792c2448"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:53e549287ef628fecba270045c9701b0c564563a9b0577d24a4ec75b8ab8040f"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fcd3b77e2f17bbe4ca56ec7bcb07992647d19d0b9c05d84886dcd6f9eb810afd"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d46b86567dd4e248c6c159fcbcdcce01e0a5c8a7cd2334a0fff759d0fa075b16"}, + {file = "yarl-1.24.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7f72c74aa99359e27a2ee8d6613fefa28b5f76a983c083074dfc2aaa4ab46213"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3f45789ce415a7ec0820dc4f82925f9b5f7732070be1dec1f5f23ec381435a24"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6e73e7fe93f17a7b191f52ec9da9dd8c06a8fe735a1ecbd13b97d1c723bff385"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4a36f9becdd4c5c52a20c3e9484128b070b1dcfc8944c006f3a528295a359a9c"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:7bcbe0fcf850eae67b6b01749815a4f7161c560a844c769ad7b48fcd99f791c4"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:24e861e9630e0daddcb9191fb187f60f034e17a4426f8101279f0c475cd74144"}, + {file = "yarl-1.24.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9335a099ad87287c37fe5d1a982ff392fa5efe5d14b40a730b1ec1d6a41382b4"}, + {file = "yarl-1.24.5-cp313-cp313-win_amd64.whl", hash = "sha256:2dbe06fc16bc91502bca713704022182e5729861ae00277c3a23354b40929740"}, + {file = "yarl-1.24.5-cp313-cp313-win_arm64.whl", hash = "sha256:6b8536851f9f65e7f00c7a1d49ba7f2be0ffe2c11555367fc9f50d9f842410a1"}, + {file = "yarl-1.24.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2729fcfc4f6a596fb0c50f32090400aa9367774ac296a00387e65098c0befa76"}, + {file = "yarl-1.24.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ff330d3c30db4eb6b01d79e29d2d0b407a7ecad39cfd9ec993ece57396a2ec0d"}, + {file = "yarl-1.24.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e42d75862735da90e7fc5a7b23db0c976f737113a54b3c9777a9b665e9cbff75"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3732e66413163e72508da9eff9ce9d2846fde51fae45d3605393d3e6cd303e9"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5b8ee53be440a0cffc991a27be3057e0530122548dbe7c0892df08822fce5ede"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:af3aefa655adb5869491fa907e652290386800ae99cc50095cba71e2c6aefdca"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2120b96872df4a117cde97d270bac96aea7cc52205d305cf4611df694a487027"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:66410eb6345d467151934b49bfa70fb32f5b35a6140baa40ad97d6436abea2e9"}, + {file = "yarl-1.24.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4af7b7e1be0a69bee8210735fe6dcfc38879adfac6d62e789d53ba432d1ffa41"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa139875ff98ab97da323cfadfaff08900d1ad42f1b5087b0b812a55c5a06373"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:0055afc45e864b92729ac7600e2d102c17bef060647e74bca75fa84d66b9ff36"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f0e466ed7511fe9d459a819edbc6c2585c0b6eabde9fa8a8947552468a7a6ef0"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f141474e85b7e54998ec5180530a7cda99ab29e282fa50e0756d89981a9b43c5"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:e2935f8c39e3b03e83519292d78f075189978f3f4adc15a78144c7c8e2a1cba5"}, + {file = "yarl-1.24.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9d1216a7f6f77836617dba35687c5b78a4170afc3c3f18fc788f785ba26565c4"}, + {file = "yarl-1.24.5-cp314-cp314-win_amd64.whl", hash = "sha256:5ba4f78df2bcc19f764a4b26a8a4f5049c110090ad5825993aacb052bf8003ad"}, + {file = "yarl-1.24.5-cp314-cp314-win_arm64.whl", hash = "sha256:9e4e16c73d717c5cf27626c524d0a2e261ad20e46932b2670f64ad5dde23e26f"}, + {file = "yarl-1.24.5-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e1ae548a9d901adca07899a4147a7c826bbcc06239d3ce9a59f57886a28a4c88"}, + {file = "yarl-1.24.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ff405d91509d88e8d44129cd87b18d70acd1f0c1aeabd7bc3c46792b1fe2acba"}, + {file = "yarl-1.24.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:47e98aab9d8d82ff682e7b0b5dded33bf138a32b817fcf7fa3b27b2d7c412928"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f0a658a6d3fafee5c6f63c58f3e785c8c43c93fbc02bf9f2b6663f8185e0971f"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4377407001ca3c057773f44d8ddd6358fa5f691407c1ba92210bd3cf8d9e4c95"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7c0494a31a1ac5461a226e7947a9c9b78c44e1dc7185164fa7e9651557a5d9bc"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a7cff474ab7cd149765bb784cf6d78b32e18e20473fb7bda860bce98ab58e9da"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cbb833ccacdb5519eff9b8b71ee618cc2801c878e77e288775d77c3a2ced858a"}, + {file = "yarl-1.24.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:82f75e05912e84b7a0fe57075d9c59de3cb352b928330f2eb69b2e1f54c3e1f0"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:16a2f5010280020e90f5330257e6944bc33e73593b136cc5a241e6c1dc292498"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ffcd54362564dc1a30fb74d8b8a6e5a6b11ebd5e27266adc3b7427a21a6c9104"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0465ec8cedc2349b97a6b595ace64084a50c6e839eca40aa0626f38b8350e331"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4db9aecb141cb7a5447171b57aa1ed3a8fee06af40b992ffc31206c0b0121550"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:f540c013589084679a6c7fac07096b10159737918174f5dfc5e11bf5bca4dfe6"}, + {file = "yarl-1.24.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a61834fb15d81322d872eaafd333838ae7c9cea84067f232656f75965933d047"}, + {file = "yarl-1.24.5-cp314-cp314t-win_amd64.whl", hash = "sha256:5c88e5815a49d289e599f3513aa7fde0bc2092ff188f99c940f007f90f53d104"}, + {file = "yarl-1.24.5-cp314-cp314t-win_arm64.whl", hash = "sha256:cf139c02f5f23ef6532040a30ff662c00a318c952334f211046b8e60b7f17688"}, + {file = "yarl-1.24.5-py3-none-any.whl", hash = "sha256:a33700d13d9b7d84fd10947b09ff69fb9a792e519c8cb9764a3ca70baa6c23a7"}, + {file = "yarl-1.24.5.tar.gz", hash = "sha256:e81b83143bee16329c23db3c1b2d82b29892fcbcb849186d2f6e98a5abe9a57f"}, ] [package.dependencies] diff --git a/pyproject.toml b/pyproject.toml index 5c898117..65676af2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "vapi_server_sdk" -version = "2.0.0" +version = "0.0.0.dev0" description = "" readme = "README.md" authors = [] diff --git a/reference.md b/reference.md index 7d924d04..a85583e3 100644 --- a/reference.md +++ b/reference.md @@ -4,6 +4,20 @@
+#### 📝 Description + +
+
+ +
+
+ +Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. +
+
+
+
+ #### 🔌 Usage
@@ -125,6 +139,20 @@ client.assistants.list()
+#### 📝 Description + +
+
+ +
+
+ +Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior. +
+
+
+
+ #### 🔌 Usage
@@ -182,6 +210,20 @@ client.assistants.create()
+#### 📝 Description + +
+
+ +
+
+ +Returns the assistant identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -217,7 +259,7 @@ client.assistants.get(
-**id:** `str` +**id:** `str` — The unique identifier of the assistant.
@@ -241,6 +283,20 @@ client.assistants.get(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the assistant identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -276,7 +332,7 @@ client.assistants.delete(
-**id:** `str` +**id:** `str` — The unique identifier of the assistant.
@@ -300,6 +356,20 @@ client.assistants.delete(
+#### 📝 Description + +
+
+ +
+
+ +Updates the specified fields of the assistant identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -335,7 +405,7 @@ client.assistants.update(
-**id:** `str` +**id:** `str` — The unique identifier of the assistant.
@@ -379,7 +449,7 @@ If unspecified, assistant will wait for user to speak and use the model to respo
-**first_message_interruptions_enabled:** `typing.Optional[bool]` +**first_message_interruptions_enabled:** `typing.Optional[bool]` — Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`.
@@ -546,7 +616,7 @@ If unspecified, it will hang up without saying anything.
-**compliance_plan:** `typing.Optional[CompliancePlan]` +**compliance_plan:** `typing.Optional[CompliancePlan]` — Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent.
@@ -669,7 +739,7 @@ The order of precedence is:
-**keypad_input_plan:** `typing.Optional[KeypadInputPlan]` +**keypad_input_plan:** `typing.Optional[KeypadInputPlan]` — Configuration for collecting and processing DTMF keypad input during calls.
@@ -694,6 +764,20 @@ The order of precedence is:
+#### 📝 Description + +
+
+ +
+
+ +Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. +
+
+
+
+ #### 🔌 Usage
@@ -815,6 +899,20 @@ client.squads.list()
+#### 📝 Description + +
+
+ +
+
+ +Creates a squad that coordinates multiple assistants and their handoffs during a conversation. +
+
+
+
+ #### 🔌 Usage
@@ -876,6 +974,20 @@ client.squads.create(
+#### 📝 Description + +
+
+ +
+
+ +Returns the squad identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -911,7 +1023,7 @@ client.squads.get(
-**id:** `str` +**id:** `str` — The unique identifier of the squad.
@@ -935,6 +1047,20 @@ client.squads.get(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the squad identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -970,7 +1096,7 @@ client.squads.delete(
-**id:** `str` +**id:** `str` — The unique identifier of the squad.
@@ -994,6 +1120,20 @@ client.squads.delete(
+#### 📝 Description + +
+
+ +
+
+ +Updates the specified fields of the squad identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -1032,7 +1172,7 @@ client.squads.update(
-**id:** `str` +**id:** `str` — The unique identifier of the squad.
@@ -1089,6 +1229,20 @@ Both `membersOverrides` and `members[n].assistantOverrides` can be used together
+#### 📝 Description + +
+
+ +
+
+ +Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -1238,6 +1392,20 @@ Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
+#### 📝 Description + +
+
+ +
+
+ +Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations. +
+
+
+
+ #### 🔌 Usage
@@ -1271,11 +1439,18 @@ client.calls.create()
-**customers:** `typing.Optional[typing.List[CreateCustomerDto]]` +**assistant_version:** `typing.Optional[str]` -This is used to issue batch calls to multiple customers. +This is the assistant version to use for this call. Supported only with +direct `assistantId`. Omit to follow the latest version. + +
+
-Only relevant for `outboundPhoneCall`. To call a single customer, use `customer` instead. +
+
+ +**transport:** `typing.Optional[CreateCallDtoTransport]` — This is the transport of the call.
@@ -1283,7 +1458,11 @@ Only relevant for `outboundPhoneCall`. To call a single customer, use `customer`
-**name:** `typing.Optional[str]` — This is the name of the call. This is just for your own reference. +**customers:** `typing.Optional[typing.List[CreateCustomerDto]]` + +This is used to issue batch calls to multiple customers. + +Only relevant for `outboundPhoneCall`. To call a single customer, use `customer` instead.
@@ -1291,7 +1470,7 @@ Only relevant for `outboundPhoneCall`. To call a single customer, use `customer`
-**schedule_plan:** `typing.Optional[SchedulePlan]` — This is the schedule plan of the call. +**name:** `typing.Optional[str]` — This is the name of the call. This is just for your own reference.
@@ -1299,7 +1478,7 @@ Only relevant for `outboundPhoneCall`. To call a single customer, use `customer`
-**transport:** `typing.Optional[typing.Dict[str, typing.Any]]` — This is the transport of the call. +**schedule_plan:** `typing.Optional[SchedulePlan]` — This is the schedule plan of the call.
@@ -1488,6 +1667,20 @@ Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
+#### 📝 Description + +
+
+ +
+
+ +Returns the call identified by its ID, including its status, configuration, and available call data. +
+
+
+
+ #### 🔌 Usage
@@ -1523,7 +1716,7 @@ client.calls.get(
-**id:** `str` +**id:** `str` — The unique identifier of the call.
@@ -1547,6 +1740,20 @@ client.calls.get(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the call identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -1619,6 +1826,20 @@ It may take up to a few hours to complete the bulk delete, and will be asynchron
+#### 📝 Description + +
+
+ +
+
+ +Updates the call identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -1654,7 +1875,7 @@ client.calls.update(
-**id:** `str` +**id:** `str` — The unique identifier of the call.
@@ -1682,8 +1903,7 @@ client.calls.update(
-## Chats -
client.chats.list(...) -> ChatPaginatedResponse +
client.calls.call_artifact_controller_mono_recording_download(...)
@@ -1704,8 +1924,8 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.chats.list( - assistant_id_any="assistant-1,assistant-2,assistant-3", +client.calls.call_artifact_controller_mono_recording_download( + id="id", ) ``` @@ -1722,7 +1942,7 @@ client.chats.list(
-**id:** `typing.Optional[str]` — This is the unique identifier for the chat to filter by. +**id:** `str` — Call ID
@@ -1730,71 +1950,58 @@ client.chats.list(
-**assistant_id:** `typing.Optional[str]` — This is the unique identifier for the assistant that will be used for the chat. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**assistant_id_any:** `typing.Optional[str]` — Filter by multiple assistant IDs. Provide as comma-separated values. -
-
-
-**squad_id:** `typing.Optional[str]` — This is the unique identifier for the squad that will be used for the chat. -
+
+
client.calls.call_artifact_controller_stereo_recording_download(...)
-**session_id:** `typing.Optional[str]` — This is the unique identifier for the session that will be used for the chat. - -
-
+#### 🔌 Usage
-**previous_chat_id:** `typing.Optional[str]` — This is the unique identifier for the previous chat to filter by. - -
-
-
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. - -
-
- -
-
+```python +from vapi import Vapi +from vapi.environment import VapiEnvironment -**sort_order:** `typing.Optional[ListChatsRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. - +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.calls.call_artifact_controller_stereo_recording_download( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. - -
-
-
-**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. +**id:** `str` — Call ID
@@ -1802,55 +2009,58 @@ client.chats.list(
-**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. -
+ +
client.calls.call_artifact_controller_video_recording_download(...)
-**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. - -
-
+#### 🔌 Usage
-**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. - -
-
-
-**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. - +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.calls.call_artifact_controller_video_recording_download( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. - -
-
-
-**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. +**id:** `str` — Call ID
@@ -1870,24 +2080,10 @@ client.chats.list(
-
client.chats.create(...) -> CreateChatsResponse -
-
- -#### 📝 Description - -
-
- +
client.calls.call_artifact_controller_customer_recording_download(...)
-Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false). -
-
-
-
- #### 🔌 Usage
@@ -1905,8 +2101,8 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.chats.create( - input="input", +client.calls.call_artifact_controller_customer_recording_download( + id="id", ) ``` @@ -1923,11 +2119,7 @@ client.chats.create(
-**input:** `CreateChatDtoInput` - -This is the input text for the chat. -Can be a string or an array of chat messages. -This field is REQUIRED for chat creation. +**id:** `str` — Call ID
@@ -1935,97 +2127,58 @@ This field is REQUIRED for chat creation.
-**assistant_id:** `typing.Optional[str]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**assistant:** `typing.Optional[CreateAssistantDto]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead. -
-
-
- -**assistant_overrides:** `typing.Optional[AssistantOverrides]` -These are the variable values that will be used to replace template variables in the assistant messages. -Only variable substitution is supported in chat contexts - other assistant properties cannot be overridden. -
+
+
client.calls.call_artifact_controller_assistant_recording_download(...)
-**squad_id:** `typing.Optional[str]` — This is the squad that will be used for the chat. To use a transient squad, use `squad` instead. - -
-
+#### 🔌 Usage
-**squad:** `typing.Optional[CreateSquadDto]` — This is the squad that will be used for the chat. To use an existing squad, use `squadId` instead. - -
-
-
-**name:** `typing.Optional[str]` — This is the name of the chat. This is just for your own reference. - -
-
+```python +from vapi import Vapi +from vapi.environment import VapiEnvironment -
-
+client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) -**session_id:** `typing.Optional[str]` +client.calls.call_artifact_controller_assistant_recording_download( + id="id", +) -This is the ID of the session that will be used for the chat. -Mutually exclusive with previousChatId. - +```
- -
-
- -**stream:** `typing.Optional[bool]` - -This is a flag that determines whether the response should be streamed. -When true, the response will be sent as chunks of text. -
+#### ⚙️ Parameters +
-**previous_chat_id:** `typing.Optional[str]` - -This is the ID of the chat that will be used as context for the new chat. -The messages from the previous chat will be used as context. -Mutually exclusive with sessionId. - -
-
-
-**transport:** `typing.Optional[TwilioSmsChatTransport]` - -This is used to send the chat through a transport like SMS. -If transport.phoneNumberId and transport.customer are provided, creates a new session. -If sessionId is provided without transport fields, uses existing session data. -Cannot specify both sessionId and transport fields (phoneNumberId/customer) together. +**id:** `str` — Call ID
@@ -2045,7 +2198,7 @@ Cannot specify both sessionId and transport fields (phoneNumberId/customer) toge
-
client.chats.get(...) -> Chat +
client.calls.call_artifact_controller_pcap_download(...)
@@ -2066,7 +2219,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.chats.get( +client.calls.call_artifact_controller_pcap_download( id="id", ) @@ -2084,7 +2237,7 @@ client.chats.get(
-**id:** `str` +**id:** `str` — Call ID
@@ -2104,7 +2257,7 @@ client.chats.get(
-
client.chats.delete(...) -> Chat +
client.calls.call_artifact_controller_call_logs_download(...)
@@ -2125,7 +2278,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.chats.delete( +client.calls.call_artifact_controller_call_logs_download( id="id", ) @@ -2143,7 +2296,7 @@ client.chats.delete(
-**id:** `str` +**id:** `str` — Call ID
@@ -2163,7 +2316,8 @@ client.chats.delete(
-
client.chats.create_response(...) -> CreateResponseChatsResponse +## Chats +
client.chats.list(...) -> ChatPaginatedResponse
@@ -2184,8 +2338,8 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.chats.create_response( - input="input", +client.chats.list( + assistant_id_any="assistant-1,assistant-2,assistant-3", ) ``` @@ -2202,11 +2356,7 @@ client.chats.create_response(
-**input:** `OpenAiResponsesRequestInput` - -This is the input text for the chat. -Can be a string or an array of chat messages. -This field is REQUIRED for chat creation. +**id:** `typing.Optional[str]` — This is the unique identifier for the chat to filter by.
@@ -2214,7 +2364,7 @@ This field is REQUIRED for chat creation.
-**assistant_id:** `typing.Optional[str]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead. +**assistant_id:** `typing.Optional[str]` — This is the unique identifier for the assistant that will be used for the chat.
@@ -2222,7 +2372,7 @@ This field is REQUIRED for chat creation.
-**assistant:** `typing.Optional[CreateAssistantDto]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead. +**assistant_id_any:** `typing.Optional[str]` — Filter by multiple assistant IDs. Provide as comma-separated values.
@@ -2230,10 +2380,7 @@ This field is REQUIRED for chat creation.
-**assistant_overrides:** `typing.Optional[AssistantOverrides]` - -These are the variable values that will be used to replace template variables in the assistant messages. -Only variable substitution is supported in chat contexts - other assistant properties cannot be overridden. +**squad_id:** `typing.Optional[str]` — This is the unique identifier for the squad that will be used for the chat.
@@ -2241,7 +2388,7 @@ Only variable substitution is supported in chat contexts - other assistant prope
-**squad_id:** `typing.Optional[str]` — This is the squad that will be used for the chat. To use a transient squad, use `squad` instead. +**session_id:** `typing.Optional[str]` — This is the unique identifier for the session that will be used for the chat.
@@ -2249,7 +2396,7 @@ Only variable substitution is supported in chat contexts - other assistant prope
-**squad:** `typing.Optional[CreateSquadDto]` — This is the squad that will be used for the chat. To use an existing squad, use `squadId` instead. +**previous_chat_id:** `typing.Optional[str]` — This is the unique identifier for the previous chat to filter by.
@@ -2257,7 +2404,7 @@ Only variable substitution is supported in chat contexts - other assistant prope
-**name:** `typing.Optional[str]` — This is the name of the chat. This is just for your own reference. +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1.
@@ -2265,10 +2412,7 @@ Only variable substitution is supported in chat contexts - other assistant prope
-**session_id:** `typing.Optional[str]` - -This is the ID of the session that will be used for the chat. -Mutually exclusive with previousChatId. +**sort_order:** `typing.Optional[ListChatsRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'.
@@ -2276,7 +2420,7 @@ Mutually exclusive with previousChatId.
-**stream:** `typing.Optional[bool]` — Whether to stream the response or not. +**sort_by:** `typing.Optional[ListChatsRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'.
@@ -2284,11 +2428,7 @@ Mutually exclusive with previousChatId.
-**previous_chat_id:** `typing.Optional[str]` - -This is the ID of the chat that will be used as context for the new chat. -The messages from the previous chat will be used as context. -Mutually exclusive with sessionId. +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -2296,12 +2436,7 @@ Mutually exclusive with sessionId.
-**transport:** `typing.Optional[TwilioSmsChatTransport]` - -This is used to send the chat through a transport like SMS. -If transport.phoneNumberId and transport.customer are provided, creates a new session. -If sessionId is provided without transport fields, uses existing session data. -Cannot specify both sessionId and transport fields (phoneNumberId/customer) together. +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value.
@@ -2309,57 +2444,47 @@ Cannot specify both sessionId and transport fields (phoneNumberId/customer) toge
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value.
-
-
+
+
+**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. +
-
-## Campaigns -
client.campaigns.campaign_controller_find_all(...) -> CampaignPaginatedResponse
-#### 🔌 Usage +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. + +
+
+**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. + +
+
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.campaigns.campaign_controller_find_all() - -``` -
-
+**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. +
-#### ⚙️ Parameters -
-
-
- -**id:** `typing.Optional[str]` +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value.
@@ -2367,7 +2492,7 @@ client.campaigns.campaign_controller_find_all()
-**status:** `typing.Optional[CampaignControllerFindAllRequestStatus]` +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value.
@@ -2375,87 +2500,76 @@ client.campaigns.campaign_controller_find_all()
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**sort_order:** `typing.Optional[CampaignControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. -
-
-
-**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. -
+ +
client.chats.create(...) -> CreateChatsResponse
-**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. - -
-
+#### 📝 Description
-**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. - -
-
-
-**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. - +Creates a new chat with optional SMS delivery via transport field. Requires at least one of: assistantId/assistant, sessionId, or previousChatId. Note: sessionId and previousChatId are mutually exclusive. Transport field enables SMS delivery with two modes: (1) New conversation - provide transport.phoneNumberId and transport.customer to create a new session, (2) Existing conversation - provide sessionId to use existing session data. Cannot specify both sessionId and transport fields together. The transport.useLLMGeneratedMessageForOutbound flag controls whether input is processed by LLM (true, default) or forwarded directly as SMS (false).
- -
-
- -**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. -
+#### 🔌 Usage +
-**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. - -
-
-
-**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. - +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.chats.create( + input="input", +) + +``` +
+
+#### ⚙️ Parameters +
-**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. - -
-
-
-**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. +**input:** `CreateChatDtoInput` + +This is the input text for the chat. +Can be a string or an array of chat messages. +This field is REQUIRED for chat creation.
@@ -2463,58 +2577,26 @@ client.campaigns.campaign_controller_find_all()
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**assistant_id:** `typing.Optional[str]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead.
-
-
- - -
-
- - -
client.campaigns.campaign_controller_create(...) -> Campaign -
-
- -#### 🔌 Usage
-
-
- -```python -from vapi import Vapi -from vapi.environment import VapiEnvironment - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.campaigns.campaign_controller_create( - name="Q2 Sales Campaign", -) - -``` -
-
+**assistant:** `typing.Optional[CreateAssistantDto]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead. +
-#### ⚙️ Parameters -
-
-
+**assistant_overrides:** `typing.Optional[AssistantOverrides]` -**name:** `str` — This is the name of the campaign. This is just for your own reference. +These are the variable values that will be used to replace template variables in the assistant messages. +Only variable substitution is supported in chat contexts - other assistant properties cannot be overridden.
@@ -2522,7 +2604,7 @@ client.campaigns.campaign_controller_create(
-**assistant_id:** `typing.Optional[str]` — This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. +**squad_id:** `typing.Optional[str]` — This is the squad that will be used for the chat. To use a transient squad, use `squad` instead.
@@ -2530,7 +2612,7 @@ client.campaigns.campaign_controller_create(
-**workflow_id:** `typing.Optional[str]` — This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. +**squad:** `typing.Optional[CreateSquadDto]` — This is the squad that will be used for the chat. To use an existing squad, use `squadId` instead.
@@ -2538,7 +2620,7 @@ client.campaigns.campaign_controller_create(
-**squad_id:** `typing.Optional[str]` — This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. +**name:** `typing.Optional[str]` — This is the name of the chat. This is just for your own reference.
@@ -2546,7 +2628,10 @@ client.campaigns.campaign_controller_create(
-**phone_number_id:** `typing.Optional[str]` — This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. +**session_id:** `typing.Optional[str]` + +This is the ID of the session that will be used for the chat. +Mutually exclusive with previousChatId.
@@ -2554,7 +2639,10 @@ client.campaigns.campaign_controller_create(
-**dial_plan:** `typing.Optional[typing.List[DialPlanEntry]]` — This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. +**stream:** `typing.Optional[bool]` + +This is a flag that determines whether the response should be streamed. +When true, the response will be sent as chunks of text.
@@ -2562,7 +2650,11 @@ client.campaigns.campaign_controller_create(
-**schedule_plan:** `typing.Optional[SchedulePlan]` — This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. +**previous_chat_id:** `typing.Optional[str]` + +This is the ID of the chat that will be used as context for the new chat. +The messages from the previous chat will be used as context. +Mutually exclusive with sessionId.
@@ -2570,7 +2662,12 @@ client.campaigns.campaign_controller_create(
-**customers:** `typing.Optional[typing.List[CreateCustomerDto]]` — These are the customers that will be called in the campaign. Required if dialPlan is not provided. +**transport:** `typing.Optional[TwilioSmsChatTransport]` + +This is used to send the chat through a transport like SMS. +If transport.phoneNumberId and transport.customer are provided, creates a new session. +If sessionId is provided without transport fields, uses existing session data. +Cannot specify both sessionId and transport fields (phoneNumberId/customer) together.
@@ -2590,7 +2687,7 @@ client.campaigns.campaign_controller_create(
-
client.campaigns.campaign_controller_find_one(...) -> Campaign +
client.chats.get(...) -> Chat
@@ -2611,7 +2708,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.campaigns.campaign_controller_find_one( +client.chats.get( id="id", ) @@ -2649,7 +2746,7 @@ client.campaigns.campaign_controller_find_one(
-
client.campaigns.campaign_controller_remove(...) -> Campaign +
client.chats.delete(...) -> Chat
@@ -2670,7 +2767,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.campaigns.campaign_controller_remove( +client.chats.delete( id="id", ) @@ -2708,7 +2805,7 @@ client.campaigns.campaign_controller_remove(
-
client.campaigns.campaign_controller_update(...) -> Campaign +
client.chats.create_response(...) -> CreateResponseChatsResponse
@@ -2729,8 +2826,8 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.campaigns.campaign_controller_update( - id="id", +client.chats.create_response( + input="input", ) ``` @@ -2747,7 +2844,11 @@ client.campaigns.campaign_controller_update(
-**id:** `str` +**input:** `OpenAiResponsesRequestInput` + +This is the input text for the chat. +Can be a string or an array of chat messages. +This field is REQUIRED for chat creation.
@@ -2755,7 +2856,7 @@ client.campaigns.campaign_controller_update(
-**name:** `typing.Optional[str]` — This is the name of the campaign. This is just for your own reference. +**assistant_id:** `typing.Optional[str]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead.
@@ -2763,10 +2864,7 @@ client.campaigns.campaign_controller_update(
-**assistant_id:** `typing.Optional[str]` - -This is the assistant ID that will be used for the campaign calls. -Can only be updated if campaign is not in progress or has ended. +**assistant:** `typing.Optional[CreateAssistantDto]` — This is the assistant that will be used for the chat. To use an existing assistant, use `assistantId` instead.
@@ -2774,10 +2872,10 @@ Can only be updated if campaign is not in progress or has ended.
-**workflow_id:** `typing.Optional[str]` +**assistant_overrides:** `typing.Optional[AssistantOverrides]` -This is the workflow ID that will be used for the campaign calls. -Can only be updated if campaign is not in progress or has ended. +These are the variable values that will be used to replace template variables in the assistant messages. +Only variable substitution is supported in chat contexts - other assistant properties cannot be overridden.
@@ -2785,10 +2883,15 @@ Can only be updated if campaign is not in progress or has ended.
-**squad_id:** `typing.Optional[str]` +**squad_id:** `typing.Optional[str]` — This is the squad that will be used for the chat. To use a transient squad, use `squad` instead. + +
+
+ +
+
-This is the squad ID that will be used for the campaign calls. -Can only be updated if campaign is not in progress or has ended. +**squad:** `typing.Optional[CreateSquadDto]` — This is the squad that will be used for the chat. To use an existing squad, use `squadId` instead.
@@ -2796,11 +2899,18 @@ Can only be updated if campaign is not in progress or has ended.
-**phone_number_id:** `typing.Optional[str]` +**name:** `typing.Optional[str]` — This is the name of the chat. This is just for your own reference. + +
+
-This is the phone number ID that will be used for the campaign calls. -Can only be updated if campaign is not in progress or has ended. -Note: `phoneNumberId` and `dialPlan` are mutually exclusive. +
+
+ +**session_id:** `typing.Optional[str]` + +This is the ID of the session that will be used for the chat. +Mutually exclusive with previousChatId.
@@ -2808,7 +2918,7 @@ Note: `phoneNumberId` and `dialPlan` are mutually exclusive.
-**dial_plan:** `typing.Optional[typing.List[DialPlanEntry]]` — This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. +**stream:** `typing.Optional[bool]` — Whether to stream the response or not.
@@ -2816,10 +2926,11 @@ Note: `phoneNumberId` and `dialPlan` are mutually exclusive.
-**schedule_plan:** `typing.Optional[SchedulePlan]` +**previous_chat_id:** `typing.Optional[str]` -This is the schedule plan for the campaign. -Can only be updated if campaign is not in progress or has ended. +This is the ID of the chat that will be used as context for the new chat. +The messages from the previous chat will be used as context. +Mutually exclusive with sessionId.
@@ -2827,11 +2938,12 @@ Can only be updated if campaign is not in progress or has ended.
-**status:** `typing.Optional[UpdateCampaignDtoStatus]` +**transport:** `typing.Optional[TwilioSmsChatTransport]` -This is the status of the campaign. -Can only be updated to 'ended' if you want to end the campaign. -When set to 'ended', it will delete all scheduled calls. Calls in progress will be allowed to complete. +This is used to send the chat through a transport like SMS. +If transport.phoneNumberId and transport.customer are provided, creates a new session. +If sessionId is provided without transport fields, uses existing session data. +Cannot specify both sessionId and transport fields (phoneNumberId/customer) together.
@@ -2851,11 +2963,25 @@ When set to 'ended', it will delete all scheduled calls. Calls in progress will
-## Sessions -
client.sessions.list(...) -> SessionPaginatedResponse +## Campaigns +
client.campaigns.campaign_controller_find_all(...) -> CampaignPaginatedResponse +
+
+ +#### 📝 Description + +
+
+
+Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -2873,10 +2999,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.sessions.list( - assistant_id_any="assistant-1,assistant-2,assistant-3", - customer_number_any="+1234567890,+0987654321", -) +client.campaigns.campaign_controller_find_all() ```
@@ -2892,7 +3015,7 @@ client.sessions.list(
-**id:** `typing.Optional[str]` — This is the unique identifier for the session to filter by. +**id:** `typing.Optional[str]` — Filters campaigns by ID.
@@ -2900,11 +3023,7 @@ client.sessions.list(
-**name:** `typing.Optional[str]` - -This is the name of the customer. This is just for your own reference. - -For SIP inbound calls, this is extracted from the `From` SIP header with format `"Display Name" `. +**status:** `typing.Optional[CampaignControllerFindAllRequestStatus]` — Filters campaigns by status.
@@ -2912,7 +3031,7 @@ For SIP inbound calls, this is extracted from the `From` SIP header with format
-**assistant_id:** `typing.Optional[str]` — This is the ID of the assistant to filter sessions by. +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1.
@@ -2920,7 +3039,7 @@ For SIP inbound calls, this is extracted from the `From` SIP header with format
-**assistant_id_any:** `typing.Optional[str]` — Filter by multiple assistant IDs. Provide as comma-separated values. +**sort_order:** `typing.Optional[CampaignControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'.
@@ -2928,7 +3047,7 @@ For SIP inbound calls, this is extracted from the `From` SIP header with format
-**squad_id:** `typing.Optional[str]` — This is the ID of the squad to filter sessions by. +**sort_by:** `typing.Optional[CampaignControllerFindAllRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'.
@@ -2936,7 +3055,7 @@ For SIP inbound calls, this is extracted from the `From` SIP header with format
-**workflow_id:** `typing.Optional[str]` — This is the ID of the workflow to filter sessions by. +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -2944,17 +3063,7 @@ For SIP inbound calls, this is extracted from the `From` SIP header with format
-**number_e_164_check_enabled:** `typing.Optional[bool]` - -This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it. - -Use cases: -- `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`. This is useful for dialing out to non-E164 numbers on your SIP trunks. -- `true` (default): To allow only E164 numbers like `+14155551234`. This is standard for PSTN calls. - -If `false`, the `number` is still required to only contain alphanumeric characters (regex: `/^\+?[a-zA-Z0-9]+$/`). - -@default true (E164 check is enabled) +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value.
@@ -2962,7 +3071,7 @@ If `false`, the `number` is still required to only contain alphanumeric characte
-**extension:** `typing.Optional[str]` — This is the extension that will be dialed after the call is answered. +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value.
@@ -2970,10 +3079,7 @@ If `false`, the `number` is still required to only contain alphanumeric characte
-**assistant_overrides:** `typing.Optional[str]` - -These are the overrides for the assistant's settings and template variables specific to this customer. -This allows customization of the assistant's behavior for individual customers in batch calls. +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value.
@@ -2981,7 +3087,7 @@ This allows customization of the assistant's behavior for individual customers i
-**number:** `typing.Optional[str]` — This is the number of the customer. +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value.
@@ -2989,7 +3095,7 @@ This allows customization of the assistant's behavior for individual customers i
-**sip_uri:** `typing.Optional[str]` — This is the SIP URI of the customer. +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value.
@@ -2997,7 +3103,7 @@ This allows customization of the assistant's behavior for individual customers i
-**email:** `typing.Optional[str]` — This is the email of the customer. +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value.
@@ -3005,7 +3111,7 @@ This allows customization of the assistant's behavior for individual customers i
-**external_id:** `typing.Optional[str]` — This is the external ID of the customer. +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value.
@@ -3013,7 +3119,7 @@ This allows customization of the assistant's behavior for individual customers i
-**customer_number_any:** `typing.Optional[str]` — Filter by any of the specified customer phone numbers (comma-separated). +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value.
@@ -3021,103 +3127,72 @@ This allows customization of the assistant's behavior for individual customers i
-**phone_number_id:** `typing.Optional[str]` — This will return sessions with the specified phoneNumberId. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**phone_number_id_any:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — This will return sessions with any of the specified phoneNumberIds. -
-
-
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. -
+
+
client.campaigns.campaign_controller_create(...) -> Campaign
-**sort_order:** `typing.Optional[ListSessionsRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. - -
-
+#### 📝 Description
-**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. - -
-
-
-**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. - +Creates an outbound calling campaign that calls a set of customers.
- -
-
- -**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. -
+#### 🔌 Usage +
-**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. - -
-
-
-**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. - -
-
+```python +from vapi import Vapi +from vapi.environment import VapiEnvironment -
-
+client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) -**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. - +client.campaigns.campaign_controller_create( + name="Q2 Sales Campaign", +) + +```
- -
-
- -**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. -
+#### ⚙️ Parameters +
-**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. - -
-
-
-**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. +**request:** `CreateCampaignDto`
@@ -3137,7 +3212,7 @@ This allows customization of the assistant's behavior for individual customers i
-
client.sessions.create(...) -> Session +
client.campaigns.campaign_controller_find_all_v_2(...) -> CampaignPaginatedResponse
@@ -3158,7 +3233,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.sessions.create() +client.campaigns.campaign_controller_find_all_v_2() ```
@@ -3174,7 +3249,7 @@ client.sessions.create()
-**name:** `typing.Optional[str]` — This is a user-defined name for the session. Maximum length is 40 characters. +**id:** `typing.Optional[str]`
@@ -3182,7 +3257,7 @@ client.sessions.create()
-**status:** `typing.Optional[CreateSessionDtoStatus]` — This is the current status of the session. Can be either 'active' or 'completed'. +**status:** `typing.Optional[CampaignControllerFindAllV2RequestStatus]`
@@ -3190,7 +3265,7 @@ client.sessions.create()
-**expiration_seconds:** `typing.Optional[float]` — Session expiration time in seconds. Defaults to 24 hours (86400 seconds) if not set. +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1.
@@ -3198,7 +3273,7 @@ client.sessions.create()
-**assistant_id:** `typing.Optional[str]` — This is the ID of the assistant associated with this session. Use this when referencing an existing assistant. +**sort_order:** `typing.Optional[CampaignControllerFindAllV2RequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'.
@@ -3206,10 +3281,7 @@ client.sessions.create()
-**assistant:** `typing.Optional[CreateAssistantDto]` - -This is the assistant configuration for this session. Use this when creating a new assistant configuration. -If assistantId is provided, this will be ignored. +**sort_by:** `typing.Optional[CampaignControllerFindAllV2RequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'.
@@ -3217,11 +3289,7 @@ If assistantId is provided, this will be ignored.
-**assistant_overrides:** `typing.Optional[AssistantOverrides]` - -These are the overrides for the assistant configuration. -Use this to provide variable values and other overrides when using assistantId. -Variable substitution will be applied to the assistant's messages and other text-based fields. +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -3229,7 +3297,7 @@ Variable substitution will be applied to the assistant's messages and other text
-**squad_id:** `typing.Optional[str]` — This is the squad ID associated with this session. Use this when referencing an existing squad. +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value.
@@ -3237,10 +3305,15 @@ Variable substitution will be applied to the assistant's messages and other text
-**squad:** `typing.Optional[CreateSquadDto]` +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. + +
+
-This is the squad configuration for this session. Use this when creating a new squad configuration. -If squadId is provided, this will be ignored. +
+
+ +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value.
@@ -3248,7 +3321,7 @@ If squadId is provided, this will be ignored.
-**messages:** `typing.Optional[typing.List[CreateSessionDtoMessagesItem]]` — This is an array of chat messages in the session. +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value.
@@ -3256,7 +3329,7 @@ If squadId is provided, this will be ignored.
-**customer:** `typing.Optional[CreateCustomerDto]` — This is the customer information associated with this session. +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value.
@@ -3264,7 +3337,7 @@ If squadId is provided, this will be ignored.
-**customer_id:** `typing.Optional[str]` — This is the customerId of the customer associated with this session. +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value.
@@ -3272,7 +3345,7 @@ If squadId is provided, this will be ignored.
-**phone_number_id:** `typing.Optional[str]` — This is the ID of the phone number associated with this session. +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value.
@@ -3280,7 +3353,7 @@ If squadId is provided, this will be ignored.
-**phone_number:** `typing.Optional[ImportTwilioPhoneNumberDto]` — This is the phone number configuration for this session. +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value.
@@ -3300,7 +3373,7 @@ If squadId is provided, this will be ignored.
-
client.sessions.get(...) -> Session +
client.campaigns.campaign_controller_create_v_2(...) -> Campaign
@@ -3321,8 +3394,8 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.sessions.get( - id="id", +client.campaigns.campaign_controller_create_v_2( + name="Q2 Sales Campaign", ) ``` @@ -3339,7 +3412,7 @@ client.sessions.get(
-**id:** `str` +**request:** `CreateCampaignDto`
@@ -3359,7 +3432,7 @@ client.sessions.get(
-
client.sessions.delete(...) -> Session +
client.campaigns.campaign_controller_find_one_v_2(...) -> Campaign
@@ -3380,7 +3453,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.sessions.delete( +client.campaigns.campaign_controller_find_one_v_2( id="id", ) @@ -3398,7 +3471,7 @@ client.sessions.delete(
-**id:** `str` +**id:** `str` — The unique identifier for the resource.
@@ -3418,7 +3491,7 @@ client.sessions.delete(
-
client.sessions.update(...) -> Session +
client.campaigns.campaign_controller_remove_v_2(...) -> Campaign
@@ -3439,7 +3512,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.sessions.update( +client.campaigns.campaign_controller_remove_v_2( id="id", ) @@ -3457,39 +3530,7 @@ client.sessions.update(
-**id:** `str` - -
-
- -
-
- -**name:** `typing.Optional[str]` — This is the new name for the session. Maximum length is 40 characters. - -
-
- -
-
- -**status:** `typing.Optional[UpdateSessionDtoStatus]` — This is the new status for the session. - -
-
- -
-
- -**expiration_seconds:** `typing.Optional[float]` — Session expiration time in seconds. Defaults to 24 hours (86400 seconds) if not set. - -
-
- -
-
- -**messages:** `typing.Optional[typing.List[UpdateSessionDtoMessagesItem]]` — This is the updated array of chat messages. +**id:** `str` — The unique identifier for the resource.
@@ -3509,8 +3550,7 @@ client.sessions.update(
-## PhoneNumbers -
client.phone_numbers.list(...) -> typing.List[ListPhoneNumbersResponseItem] +
client.campaigns.campaign_controller_update_v_2(...) -> Campaign
@@ -3531,7 +3571,9 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.phone_numbers.list() +client.campaigns.campaign_controller_update_v_2( + id="id", +) ```
@@ -3547,23 +3589,7 @@ client.phone_numbers.list()
-**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. - -
-
- -
-
- -**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. - -
-
- -
-
- -**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. +**id:** `str` — The unique identifier for the resource.
@@ -3571,7 +3597,7 @@ client.phone_numbers.list()
-**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. +**request:** `UpdateCampaignDto`
@@ -3579,61 +3605,35 @@ client.phone_numbers.list()
-**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. -
-
-
-**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. -
+
+
client.campaigns.campaign_controller_find_one(...) -> Campaign
-**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. - -
-
+#### 📝 Description
-**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. - -
-
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
+Returns the outbound calling campaign identified by its ID.
- -
- - -
client.phone_numbers.create(...) -> CreatePhoneNumbersResponse -
-
#### 🔌 Usage @@ -3646,17 +3646,14 @@ client.phone_numbers.list() ```python from vapi import Vapi from vapi.environment import VapiEnvironment -from vapi.phone_numbers import CreatePhoneNumbersRequest_ByoPhoneNumber client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.phone_numbers.create( - request=CreatePhoneNumbersRequest_ByoPhoneNumber( - credential_id="credentialId", - ), +client.campaigns.campaign_controller_find_one( + id="id", ) ``` @@ -3673,7 +3670,7 @@ client.phone_numbers.create(
-**request:** `CreatePhoneNumbersRequest` +**id:** `str` — The unique identifier of the campaign.
@@ -3693,10 +3690,24 @@ client.phone_numbers.create(
-
client.phone_numbers.phone_number_controller_find_all_paginated(...) -> PhoneNumberPaginatedResponse +
client.campaigns.campaign_controller_remove(...) -> Campaign +
+
+ +#### 📝 Description + +
+
+
+Deletes the outbound calling campaign identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -3714,7 +3725,9 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.phone_numbers.phone_number_controller_find_all_paginated() +client.campaigns.campaign_controller_remove( + id="id", +) ```
@@ -3730,7 +3743,7 @@ client.phone_numbers.phone_number_controller_find_all_paginated()
-**search:** `typing.Optional[str]` — This will search phone numbers by name, number, or SIP URI (partial match, case-insensitive). +**id:** `str` — The unique identifier of the campaign.
@@ -3738,79 +3751,72 @@ client.phone_numbers.phone_number_controller_find_all_paginated()
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**sort_order:** `typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. -
+ +
client.campaigns.campaign_controller_update(...) -> Campaign
-**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. - -
-
+#### 📝 Description
-**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. - -
-
-
-**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. - +Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`.
- -
-
- -**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. -
+#### 🔌 Usage +
-**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. - -
-
-
-**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. - +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.campaigns.campaign_controller_update( + id="id", +) + +``` +
+
+#### ⚙️ Parameters +
-**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. - -
-
-
-**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. +**id:** `str` — The unique identifier of the campaign.
@@ -3818,7 +3824,7 @@ client.phone_numbers.phone_number_controller_find_all_paginated()
-**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. +**request:** `UpdateCampaignDto`
@@ -3838,7 +3844,8 @@ client.phone_numbers.phone_number_controller_find_all_paginated()
-
client.phone_numbers.get(...) -> GetPhoneNumbersResponse +## Sessions +
client.sessions.list(...) -> SessionPaginatedResponse
@@ -3859,8 +3866,9 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.phone_numbers.get( - id="id", +client.sessions.list( + assistant_id_any="assistant-1,assistant-2,assistant-3", + customer_number_any="+1234567890,+0987654321", ) ``` @@ -3877,7 +3885,7 @@ client.phone_numbers.get(
-**id:** `str` +**id:** `typing.Optional[str]` — This is the unique identifier for the session to filter by.
@@ -3885,58 +3893,61 @@ client.phone_numbers.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**name:** `typing.Optional[str]` + +This is the name of the customer. This is just for your own reference. + +For SIP inbound calls, this is extracted from the `From` SIP header with format `"Display Name" `.
-
-
+
+
+**assistant_id:** `typing.Optional[str]` — This is the ID of the assistant to filter sessions by. +
-
-
client.phone_numbers.delete(...) -> DeletePhoneNumbersResponse
-#### 🔌 Usage +**assistant_id_any:** `typing.Optional[str]` — Filter by multiple assistant IDs. Provide as comma-separated values. + +
+
+**squad_id:** `typing.Optional[str]` — This is the ID of the squad to filter sessions by. + +
+
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.phone_numbers.delete( - id="id", -) - -``` -
-
+**workflow_id:** `typing.Optional[str]` — This is the ID of the workflow to filter sessions by. +
-#### ⚙️ Parameters -
-
-
+**number_e_164_check_enabled:** `typing.Optional[bool]` -**id:** `str` +This is the flag to toggle the E164 check for the `number` field. This is an advanced property which should be used if you know your use case requires it. + +Use cases: +- `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`. This is useful for dialing out to non-E164 numbers on your SIP trunks. +- `true` (default): To allow only E164 numbers like `+14155551234`. This is standard for PSTN calls. + +If `false`, the `number` is still required to only contain alphanumeric characters (regex: `/^\+?[a-zA-Z0-9]+$/`). + +@default true (E164 check is enabled)
@@ -3944,60 +3955,54 @@ client.phone_numbers.delete(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**extension:** `typing.Optional[str]` — This is the extension that will be dialed after the call is answered.
-
-
+
+
+ +**assistant_overrides:** `typing.Optional[str]` +These are the overrides for the assistant's settings and template variables specific to this customer. +This allows customization of the assistant's behavior for individual customers in batch calls. +
- -
client.phone_numbers.update(...) -> UpdatePhoneNumbersResponse
-#### 🔌 Usage +**squad_overrides:** `typing.Optional[str]` -
-
+These are the overrides applied when the call targets a `squadId`. Mirrors +the call-level `squadOverrides` — use this instead of `assistantOverrides` +when the campaign or call is squad-based. + +
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment -from vapi.phone_numbers import UpdatePhoneNumbersRequestBody_ByoPhoneNumber - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.phone_numbers.update( - id="id", - request=UpdatePhoneNumbersRequestBody_ByoPhoneNumber(), -) - -``` -
-
+**number:** `typing.Optional[str]` — This is the number of the customer. +
-#### ⚙️ Parameters -
+**sip_uri:** `typing.Optional[str]` — This is the SIP URI of the customer. + +
+
+
-**id:** `str` +**email:** `typing.Optional[str]` — This is the email of the customer.
@@ -4005,7 +4010,7 @@ client.phone_numbers.update(
-**request:** `UpdatePhoneNumbersRequestBody` +**external_id:** `typing.Optional[str]` — This is the external ID of the customer.
@@ -4013,53 +4018,51 @@ client.phone_numbers.update(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**customer_number_any:** `typing.Optional[str]` — Filter by any of the specified customer phone numbers (comma-separated).
-
-
+
+
+**phone_number_id:** `typing.Optional[str]` — This will return sessions with the specified phoneNumberId. +
- -## Tools -
client.tools.list(...) -> typing.List[ListToolsResponseItem]
-#### 🔌 Usage +**phone_number_id_any:** `typing.Optional[typing.Union[str, typing.Sequence[str]]]` — This will return sessions with any of the specified phoneNumberIds. + +
+
+**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. + +
+
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.tools.list() - -``` -
-
+**sort_order:** `typing.Optional[ListSessionsRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. +
-#### ⚙️ Parameters -
+**sort_by:** `typing.Optional[ListSessionsRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+
@@ -4147,7 +4150,7 @@ client.tools.list()
-
client.tools.create(...) -> CreateToolsResponse +
client.sessions.create(...) -> Session
@@ -4162,19 +4165,13 @@ client.tools.list() ```python from vapi import Vapi from vapi.environment import VapiEnvironment -from vapi.tools import CreateToolsRequest_ApiRequest client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.tools.create( - request=CreateToolsRequest_ApiRequest( - method="POST", - url="url", - ), -) +client.sessions.create() ```
@@ -4190,7 +4187,7 @@ client.tools.create(
-**request:** `CreateToolsRequest` +**name:** `typing.Optional[str]` — This is a user-defined name for the session. Maximum length is 40 characters.
@@ -4198,58 +4195,105 @@ client.tools.create(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**status:** `typing.Optional[CreateSessionDtoStatus]` — This is the current status of the session. Can be either 'active' or 'completed'.
-
-
+
+
+**expiration_seconds:** `typing.Optional[float]` — Session expiration time in seconds. Defaults to 24 hours (86400 seconds) if not set. +
- -
client.tools.get(...) -> GetToolsResponse
-#### 🔌 Usage +**assistant_id:** `typing.Optional[str]` — This is the ID of the assistant associated with this session. Use this when referencing an existing assistant. + +
+
+**assistant:** `typing.Optional[CreateAssistantDto]` + +This is the assistant configuration for this session. Use this when creating a new assistant configuration. +If assistantId is provided, this will be ignored. + +
+
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment +**assistant_overrides:** `typing.Optional[AssistantOverrides]` -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) +These are the overrides for the assistant configuration. +Use this to provide variable values and other overrides when using assistantId. +Variable substitution will be applied to the assistant's messages and other text-based fields. + +
+
-client.tools.get( - id="id", -) +
+
-``` +**squad_id:** `typing.Optional[str]` — This is the squad ID associated with this session. Use this when referencing an existing squad. +
+ +
+
+ +**squad:** `typing.Optional[CreateSquadDto]` + +This is the squad configuration for this session. Use this when creating a new squad configuration. +If squadId is provided, this will be ignored. +
-#### ⚙️ Parameters +
+
+ +**messages:** `typing.Optional[typing.List[CreateSessionDtoMessagesItem]]` — This is an array of chat messages in the session. + +
+
+**customer:** `typing.Optional[CreateCustomerDto]` — This is the customer information associated with this session. + +
+
+
-**id:** `str` +**customer_id:** `typing.Optional[str]` — This is the customerId of the customer associated with this session. + +
+
+ +
+
+ +**phone_number_id:** `typing.Optional[str]` — This is the ID of the phone number associated with this session. + +
+
+ +
+
+ +**phone_number:** `typing.Optional[ImportTwilioPhoneNumberDto]` — This is the phone number configuration for this session.
@@ -4269,7 +4313,7 @@ client.tools.get(
-
client.tools.delete(...) -> DeleteToolsResponse +
client.sessions.get(...) -> Session
@@ -4290,7 +4334,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.tools.delete( +client.sessions.get( id="id", ) @@ -4308,7 +4352,7 @@ client.tools.delete(
-**id:** `str` +**id:** `str` — The unique identifier for the resource.
@@ -4328,7 +4372,7 @@ client.tools.delete(
-
client.tools.update(...) -> UpdateToolsResponse +
client.sessions.delete(...) -> Session
@@ -4343,16 +4387,14 @@ client.tools.delete( ```python from vapi import Vapi from vapi.environment import VapiEnvironment -from vapi.tools import UpdateToolsRequestBody_ApiRequest client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.tools.update( +client.sessions.delete( id="id", - request=UpdateToolsRequestBody_ApiRequest(), ) ``` @@ -4369,15 +4411,7 @@ client.tools.update(
-**id:** `str` - -
-
- -
-
- -**request:** `UpdateToolsRequestBody` +**id:** `str` — The unique identifier for the resource.
@@ -4397,8 +4431,7 @@ client.tools.update(
-## Files -
client.files.list() -> typing.List[File] +
client.sessions.update(...) -> Session
@@ -4419,7 +4452,9 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.files.list() +client.sessions.update( + id="id", +) ```
@@ -4435,6 +4470,46 @@ client.files.list()
+**id:** `str` — The unique identifier for the resource. + +
+
+ +
+
+ +**name:** `typing.Optional[str]` — This is the new name for the session. Maximum length is 40 characters. + +
+
+ +
+
+ +**status:** `typing.Optional[UpdateSessionDtoStatus]` — This is the new status for the session. + +
+
+ +
+
+ +**expiration_seconds:** `typing.Optional[float]` — Session expiration time in seconds. Defaults to 24 hours (86400 seconds) if not set. + +
+
+ +
+
+ +**messages:** `typing.Optional[typing.List[UpdateSessionDtoMessagesItem]]` — This is the updated array of chat messages. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -4447,10 +4522,25 @@ client.files.list()
-
client.files.create(...) -> File +## PhoneNumbers +
client.phone_numbers.list(...) -> typing.List[ListPhoneNumbersResponseItem] +
+
+ +#### 📝 Description + +
+
+
+Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. +
+
+
+
+ #### 🔌 Usage
@@ -4468,9 +4558,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.files.create( - file="example_file", -) +client.phone_numbers.list() ```
@@ -4486,7 +4574,7 @@ client.files.create(
-**file:** `core.File` — This is the File you want to upload for use with the Knowledge Base. +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -4494,58 +4582,63 @@ client.files.create(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value.
- -
+
+
+**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. +
-
-
client.files.get(...) -> File
-#### 🔌 Usage +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. + +
+
+**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. + +
+
+
-```python -from vapi import Vapi -from vapi.environment import VapiEnvironment - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.files.get( - id="id", -) - -``` +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. +
+ +
+
+ +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. +
-#### ⚙️ Parameters -
+**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. + +
+
+
-**id:** `str` +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value.
@@ -4565,10 +4658,24 @@ client.files.get(
-
client.files.delete(...) -> File +
client.phone_numbers.create(...) -> CreatePhoneNumbersResponse +
+
+ +#### 📝 Description + +
+
+
+Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider. +
+
+
+
+ #### 🔌 Usage
@@ -4580,14 +4687,17 @@ client.files.get( ```python from vapi import Vapi from vapi.environment import VapiEnvironment +from vapi.phone_numbers import CreatePhoneNumbersRequest_ByoPhoneNumber client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.files.delete( - id="id", +client.phone_numbers.create( + request=CreatePhoneNumbersRequest_ByoPhoneNumber( + credential_id="credentialId", + ), ) ``` @@ -4604,7 +4714,7 @@ client.files.delete(
-**id:** `str` +**request:** `CreatePhoneNumbersRequest`
@@ -4624,10 +4734,24 @@ client.files.delete(
-
client.files.update(...) -> File +
client.phone_numbers.phone_number_controller_find_all_paginated(...) -> PhoneNumberPaginatedResponse +
+
+ +#### 📝 Description + +
+
+
+Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -4645,9 +4769,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.files.update( - id="id", -) +client.phone_numbers.phone_number_controller_find_all_paginated() ```
@@ -4663,7 +4785,1860 @@ client.files.update(
-**id:** `str` +**search:** `typing.Optional[str]` — This will search phone numbers by name, number, or SIP URI (partial match, case-insensitive). + +
+
+ +
+
+ +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. + +
+
+ +
+
+ +**sort_order:** `typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. + +
+
+ +
+
+ +**sort_by:** `typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. + +
+
+ +
+
+ +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. + +
+
+ +
+
+ +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. + +
+
+ +
+
+ +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. + +
+
+ +
+
+ +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. + +
+
+ +
+
+ +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ +
+ + + + +
+ +
client.phone_numbers.get(...) -> GetPhoneNumbersResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns the phone number resource identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.phone_numbers.get( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the phone number. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.phone_numbers.delete(...) -> DeletePhoneNumbersResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes the phone number resource identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.phone_numbers.delete( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the phone number. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.phone_numbers.update(...) -> UpdatePhoneNumbersResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the specified fields of the phone number resource identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment +from vapi.phone_numbers import UpdatePhoneNumbersRequestBody_ByoPhoneNumber + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.phone_numbers.update( + id="id", + request=UpdatePhoneNumbersRequestBody_ByoPhoneNumber(), +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the phone number. + +
+
+ +
+
+ +**request:** `UpdatePhoneNumbersRequestBody` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +## Tools +
client.tools.list(...) -> typing.List[ListToolsResponseItem] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.tools.list() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. + +
+
+ +
+
+ +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. + +
+
+ +
+
+ +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. + +
+
+ +
+
+ +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. + +
+
+ +
+
+ +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. + +
+
+ +
+
+ +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.tools.create(...) -> CreateToolsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates a reusable tool that assistants can invoke during conversations. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment +from vapi.tools import CreateToolsRequest_ApiRequest + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.tools.create( + request=CreateToolsRequest_ApiRequest( + method="POST", + url="url", + ), +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `CreateToolsRequest` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.tools.get(...) -> GetToolsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns the tool identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.tools.get( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the tool. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.tools.delete(...) -> DeleteToolsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes the tool identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.tools.delete( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the tool. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.tools.update(...) -> UpdateToolsResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the specified fields of the tool identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment +from vapi.tools import UpdateToolsRequestBody_ApiRequest + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.tools.update( + id="id", + request=UpdateToolsRequestBody_ApiRequest(), +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the tool. + +
+
+ +
+
+ +**request:** `UpdateToolsRequestBody` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +## Files +
client.files.list(...) -> typing.List[File] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns files uploaded to the authenticated organization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.files.list( + purpose="purpose", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**purpose:** `str` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.files.create(...) -> File +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Uploads a file for use with a Vapi knowledge base. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.files.create( + file="example_file", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**file:** `core.File` — This is the File you want to upload for use with the Knowledge Base. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.files.get(...) -> File +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns the uploaded file identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.files.get( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the file. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.files.delete(...) -> File +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes the uploaded file identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.files.delete( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the file. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.files.update(...) -> File +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the name of the uploaded file identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.files.update( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the file. + +
+
+ +
+
+ +**name:** `typing.Optional[str]` — This is the name of the file. This is just for your own reference. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +## StructuredOutputs +
client.structured_outputs.structured_output_controller_find_all(...) -> StructuredOutputPaginatedResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_find_all() + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `typing.Optional[str]` — This will return structured outputs where the id matches the specified value. + +
+
+ +
+
+ +**name:** `typing.Optional[str]` — This will return structured outputs where the name matches the specified value. + +
+
+ +
+
+ +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. + +
+
+ +
+
+ +**sort_order:** `typing.Optional[StructuredOutputControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. + +
+
+ +
+
+ +**sort_by:** `typing.Optional[StructuredOutputControllerFindAllRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ +**limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100. + +
+
+ +
+
+ +**created_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than the specified value. + +
+
+ +
+
+ +**created_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than the specified value. + +
+
+ +
+
+ +**created_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**created_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the createdAt is less than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_gt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than the specified value. + +
+
+ +
+
+ +**updated_at_lt:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than the specified value. + +
+
+ +
+
+ +**updated_at_ge:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is greater than or equal to the specified value. + +
+
+ +
+
+ +**updated_at_le:** `typing.Optional[datetime.datetime]` — This will return items where the updatedAt is less than or equal to the specified value. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.structured_outputs.structured_output_controller_create(...) -> StructuredOutput +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi, JsonSchema +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_create( + name="name", + schema=JsonSchema( + type="string", + ), +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `CreateStructuredOutputDto` + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.structured_outputs.structured_output_controller_find_one(...) -> StructuredOutput +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Returns the structured-output definition identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_find_one( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the structured output. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.structured_outputs.structured_output_controller_remove(...) -> StructuredOutput +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes the structured-output definition identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_remove( + id="id", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the structured output. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.structured_outputs.structured_output_controller_update(...) -> StructuredOutput +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the structured-output definition identified by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_update( + id="id", + schema_override="schemaOverride", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `str` — The unique identifier of the structured output. + +
+
+ +
+
+ +**schema_override:** `str` — Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. + +
+
+ +
+
+ +**type:** `typing.Optional[UpdateStructuredOutputDtoType]` + +This is the type of structured output. + +- 'ai': Uses an LLM to extract structured data from the conversation (default). +- 'regex': Uses a regex pattern to extract data from the transcript without an LLM. + +
+
+ +
+
+ +**regex:** `typing.Optional[str]` + +This is the regex pattern to match against the transcript. + +Only used when type is 'regex'. Supports both raw patterns (e.g. '\d+') and +regex literal format (e.g. '/\d+/gi'). Uses RE2 syntax for safety. + +The result depends on the schema type: +- boolean: true if the pattern matches, false otherwise +- string: the first match or first capture group +- number/integer: the first match parsed as a number +- array: all matches + +
+
+ +
+
+ +**model:** `typing.Optional[UpdateStructuredOutputDtoModel]` + +This is the model that will be used to extract the structured output. + +To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. +Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. +Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. +i.e.: +`{{structuredOutput}}` +`{{structuredOutput.name}}` +`{{structuredOutput.description}}` +`{{structuredOutput.schema}}` + +If model is not specified, GPT-4.1 will be used by default for extraction, utilizing default system and user prompts. +If messages or required fields are not specified, the default system and user prompts will be used. + +
+
+ +
+
+ +**compliance_plan:** `typing.Optional[ComplianceOverride]` — Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + +
+
+ +
+
+ +**conditions:** `typing.Optional[typing.List[UpdateStructuredOutputDtoConditionsItem]]` — These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + +
+
+ +
+
+ +**name:** `typing.Optional[str]` — This is the name of the structured output. + +
+
+ +
+
+ +**description:** `typing.Optional[str]` + +This is the description of what the structured output extracts. + +Use this to provide context about what data will be extracted and how it will be used. + +
+
+ +
+
+ +**assistant_ids:** `typing.Optional[typing.List[str]]` + +These are the assistant IDs that this structured output is linked to. + +When linked to assistants, this structured output will be available for extraction during those assistant's calls. + +
+
+ +
+
+ +**workflow_ids:** `typing.Optional[typing.List[str]]` + +These are the workflow IDs that this structured output is linked to. + +When linked to workflows, this structured output will be available for extraction during those workflow's execution. + +
+
+ +
+
+ +**schema:** `typing.Optional[JsonSchema]` + +This is the JSON Schema definition for the structured output. + +Defines the structure and validation rules for the data that will be extracted. Supports all JSON Schema features including: +- Objects and nested properties +- Arrays and array validation +- String, number, boolean, and null types +- Enums and const values +- Validation constraints (min/max, patterns, etc.) +- Composition with allOf, anyOf, oneOf + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
+ + +
+
+
+ +
client.structured_outputs.structured_output_controller_run(...) -> StructuredOutputControllerRunResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment + +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) + +client.structured_outputs.structured_output_controller_run( + call_ids=[ + "callIds" + ], +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**call_ids:** `typing.List[str]` + +This is the array of callIds that will be updated with the new structured output value. If preview is true, this array must be provided and contain exactly 1 callId. +If preview is false, up to 100 callIds may be provided. + +
+
+ +
+
+ +**preview_enabled:** `typing.Optional[bool]` + +This is the preview flag for the re-run. If true, the re-run will be executed and the response will be returned immediately and the call artifact will NOT be updated. +If false (default), the re-run will be executed and the response will be updated in the call artifact. + +
+
+ +
+
+ +**structured_output_id:** `typing.Optional[str]` + +This is the ID of the structured output that will be run. This must be provided unless a transient structured output is provided. +When the re-run is executed, only the value of this structured output will be replaced with the new value, or added if not present.
@@ -4671,7 +6646,10 @@ client.files.update(
-**name:** `typing.Optional[str]` — This is the name of the file. This is just for your own reference. +**structured_output:** `typing.Optional[CreateStructuredOutputDto]` + +This is the transient structured output that will be run. This must be provided if a structured output ID is not provided. +When the re-run is executed, the structured output value will be added to the existing artifact.
@@ -4691,11 +6669,25 @@ client.files.update(
-## StructuredOutputs -
client.structured_outputs.structured_output_controller_find_all(...) -> StructuredOutputPaginatedResponse +## Insight +
client.insight.insight_controller_find_all(...) -> InsightPaginatedResponse +
+
+ +#### 📝 Description + +
+
+
+Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -4713,7 +6705,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_find_all() +client.insight.insight_controller_find_all() ```
@@ -4729,7 +6721,7 @@ client.structured_outputs.structured_output_controller_find_all()
-**id:** `typing.Optional[str]` — This will return structured outputs where the id matches the specified value. +**id:** `typing.Optional[str]` — Filters reporting insights by ID.
@@ -4737,7 +6729,7 @@ client.structured_outputs.structured_output_controller_find_all()
-**name:** `typing.Optional[str]` — This will return structured outputs where the name matches the specified value. +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1.
@@ -4745,7 +6737,7 @@ client.structured_outputs.structured_output_controller_find_all()
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. +**sort_order:** `typing.Optional[InsightControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'.
@@ -4753,7 +6745,7 @@ client.structured_outputs.structured_output_controller_find_all()
-**sort_order:** `typing.Optional[StructuredOutputControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. +**sort_by:** `typing.Optional[InsightControllerFindAllRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'.
@@ -4845,10 +6837,24 @@ client.structured_outputs.structured_output_controller_find_all()
-
client.structured_outputs.structured_output_controller_create(...) -> StructuredOutput +
client.insight.insight_controller_create(...) -> InsightControllerCreateResponse +
+
+ +#### 📝 Description +
+
+
+ +Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value. +
+
+
+
+ #### 🔌 Usage
@@ -4858,18 +6864,25 @@ client.structured_outputs.structured_output_controller_find_all()
```python -from vapi import Vapi, JsonSchema +from vapi import Vapi, JsonQueryOnCallTableWithStringTypeColumn from vapi.environment import VapiEnvironment +from vapi.insight import InsightControllerCreateRequest_Bar client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_create( - name="name", - schema=JsonSchema( - type="string", +client.insight.insight_controller_create( + request=InsightControllerCreateRequest_Bar( + queries=[ + JsonQueryOnCallTableWithStringTypeColumn( + type="vapiql-json", + table="call", + column="id", + operation="count", + ) + ], ), ) @@ -4887,7 +6900,7 @@ client.structured_outputs.structured_output_controller_create(
-**request:** `CreateStructuredOutputDto` +**request:** `InsightControllerCreateRequest`
@@ -4907,10 +6920,24 @@ client.structured_outputs.structured_output_controller_create(
-
client.structured_outputs.structured_output_controller_find_one(...) -> StructuredOutput +
client.insight.insight_controller_find_one(...) -> InsightControllerFindOneResponse +
+
+ +#### 📝 Description + +
+
+
+Returns the reporting insight identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -4928,7 +6955,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_find_one( +client.insight.insight_controller_find_one( id="id", ) @@ -4946,7 +6973,7 @@ client.structured_outputs.structured_output_controller_find_one(
-**id:** `str` +**id:** `str` — The unique identifier of the reporting insight.
@@ -4966,10 +6993,24 @@ client.structured_outputs.structured_output_controller_find_one(
-
client.structured_outputs.structured_output_controller_remove(...) -> StructuredOutput +
client.insight.insight_controller_remove(...) -> InsightControllerRemoveResponse +
+
+ +#### 📝 Description +
+
+
+ +Deletes the reporting insight identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -4987,7 +7028,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_remove( +client.insight.insight_controller_remove( id="id", ) @@ -5005,7 +7046,7 @@ client.structured_outputs.structured_output_controller_remove(
-**id:** `str` +**id:** `str` — The unique identifier of the reporting insight.
@@ -5025,10 +7066,24 @@ client.structured_outputs.structured_output_controller_remove(
-
client.structured_outputs.structured_output_controller_update(...) -> StructuredOutput +
client.insight.insight_controller_update(...) -> InsightControllerUpdateResponse +
+
+ +#### 📝 Description + +
+
+
+Updates the reporting insight identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -5040,15 +7095,16 @@ client.structured_outputs.structured_output_controller_remove( ```python from vapi import Vapi from vapi.environment import VapiEnvironment +from vapi.insight import InsightControllerUpdateRequestBody_Bar client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_update( +client.insight.insight_controller_update( id="id", - schema_override="schemaOverride", + request=InsightControllerUpdateRequestBody_Bar(), ) ``` @@ -5065,7 +7121,7 @@ client.structured_outputs.structured_output_controller_update(
-**id:** `str` +**id:** `str` — The unique identifier of the reporting insight.
@@ -5073,7 +7129,7 @@ client.structured_outputs.structured_output_controller_update(
-**schema_override:** `str` +**request:** `InsightControllerUpdateRequestBody`
@@ -5081,81 +7137,72 @@ client.structured_outputs.structured_output_controller_update(
-**type:** `typing.Optional[UpdateStructuredOutputDtoType]` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+
+
-This is the type of structured output. -- 'ai': Uses an LLM to extract structured data from the conversation (default). -- 'regex': Uses a regex pattern to extract data from the transcript without an LLM. - +
+
client.insight.insight_controller_run(...) -> InsightRunResponse
-**regex:** `typing.Optional[str]` +#### 📝 Description -This is the regex pattern to match against the transcript. +
+
-Only used when type is 'regex'. Supports both raw patterns (e.g. '\d+') and -regex literal format (e.g. '/\d+/gi'). Uses RE2 syntax for safety. +
+
-The result depends on the schema type: -- boolean: true if the pattern matches, false otherwise -- string: the first match or first capture group -- number/integer: the first match parsed as a number -- array: all matches - +Runs a saved reporting insight, optionally overriding its time range and response format. +
+
+#### 🔌 Usage +
-**model:** `typing.Optional[UpdateStructuredOutputDtoModel]` +
+
-This is the model that will be used to extract the structured output. +```python +from vapi import Vapi +from vapi.environment import VapiEnvironment -To provide your own custom system and user prompts for structured output extraction, populate the messages array with your system and user messages. You can specify liquid templating in your system and user messages. -Between the system or user messages, you must reference either 'transcript' or 'messages' with the `{{}}` syntax to access the conversation history. -Between the system or user messages, you must reference a variation of the structured output with the `{{}}` syntax to access the structured output definition. -i.e.: -`{{structuredOutput}}` -`{{structuredOutput.name}}` -`{{structuredOutput.description}}` -`{{structuredOutput.schema}}` +client = Vapi( + token="", + environment=VapiEnvironment.DEFAULT, +) -If model is not specified, GPT-4.1 will be used by default for extraction, utilizing default system and user prompts. -If messages or required fields are not specified, the default system and user prompts will be used. - +client.insight.insight_controller_run( + id="id", +) + +```
- -
-
- -**compliance_plan:** `typing.Optional[ComplianceOverride]` — Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. -
+#### ⚙️ Parameters +
-**name:** `typing.Optional[str]` — This is the name of the structured output. - -
-
-
-**description:** `typing.Optional[str]` - -This is the description of what the structured output extracts. - -Use this to provide context about what data will be extracted and how it will be used. +**id:** `str` — The unique identifier of the reporting insight.
@@ -5163,11 +7210,7 @@ Use this to provide context about what data will be extracted and how it will be
-**assistant_ids:** `typing.Optional[typing.List[str]]` - -These are the assistant IDs that this structured output is linked to. - -When linked to assistants, this structured output will be available for extraction during those assistant's calls. +**format_plan:** `typing.Optional[InsightRunFormatPlan]` — Output-formatting instructions applied to the insight run.
@@ -5175,11 +7218,15 @@ When linked to assistants, this structured output will be available for extracti
-**workflow_ids:** `typing.Optional[typing.List[str]]` - -These are the workflow IDs that this structured output is linked to. +**time_range_override:** `typing.Optional[InsightTimeRangeWithStep]` -When linked to workflows, this structured output will be available for extraction during those workflow's execution. +This is the optional time range override for the insight. +If provided, overrides every field in the insight's timeRange. +If this is provided with missing fields, defaults will be used, not the insight's timeRange. +start default - "-7d" +end default - "now" +step default - "day" +For Pie and Text Insights, step will be ignored even if provided.
@@ -5187,17 +7234,10 @@ When linked to workflows, this structured output will be available for extractio
-**schema:** `typing.Optional[JsonSchema]` - -This is the JSON Schema definition for the structured output. +**assistant_id:** `typing.Optional[str]` -Defines the structure and validation rules for the data that will be extracted. Supports all JSON Schema features including: -- Objects and nested properties -- Arrays and array validation -- String, number, boolean, and null types -- Enums and const values -- Validation constraints (min/max, patterns, etc.) -- Composition with allOf, anyOf, oneOf +Optional runtime assistant scope for dashboards. +This is applied to call-table queries without mutating the saved insight.
@@ -5217,10 +7257,24 @@ Defines the structure and validation rules for the data that will be extracted.
-
client.structured_outputs.structured_output_controller_run(...) -> StructuredOutput +
client.insight.insight_controller_preview(...) -> InsightRunResponse +
+
+ +#### 📝 Description +
+
+
+ +Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. +
+
+
+
+ #### 🔌 Usage
@@ -5230,18 +7284,26 @@ Defines the structure and validation rules for the data that will be extracted.
```python -from vapi import Vapi +from vapi import Vapi, JsonQueryOnCallTableWithStringTypeColumn from vapi.environment import VapiEnvironment +from vapi.insight import InsightControllerPreviewRequest_Bar client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.structured_outputs.structured_output_controller_run( - call_ids=[ - "callIds" - ], +client.insight.insight_controller_preview( + request=InsightControllerPreviewRequest_Bar( + queries=[ + JsonQueryOnCallTableWithStringTypeColumn( + type="vapiql-json", + table="call", + column="id", + operation="count", + ) + ], + ), ) ``` @@ -5258,43 +7320,7 @@ client.structured_outputs.structured_output_controller_run(
-**call_ids:** `typing.List[str]` - -This is the array of callIds that will be updated with the new structured output value. If preview is true, this array must be provided and contain exactly 1 callId. -If preview is false, up to 100 callIds may be provided. - -
-
- -
-
- -**preview_enabled:** `typing.Optional[bool]` - -This is the preview flag for the re-run. If true, the re-run will be executed and the response will be returned immediately and the call artifact will NOT be updated. -If false (default), the re-run will be executed and the response will be updated in the call artifact. - -
-
- -
-
- -**structured_output_id:** `typing.Optional[str]` - -This is the ID of the structured output that will be run. This must be provided unless a transient structured output is provided. -When the re-run is executed, only the value of this structured output will be replaced with the new value, or added if not present. - -
-
- -
-
- -**structured_output:** `typing.Optional[CreateStructuredOutputDto]` - -This is the transient structured output that will be run. This must be provided if a structured output ID is not provided. -When the re-run is executed, the structured output value will be added to the existing artifact. +**request:** `InsightControllerPreviewRequest`
@@ -5314,8 +7340,8 @@ When the re-run is executed, the structured output value will be added to the ex
-## Insight -
client.insight.insight_controller_find_all(...) -> InsightPaginatedResponse +## Board +
client.board.board_controller_find_all(...) -> BoardPaginatedResponse
@@ -5336,7 +7362,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_find_all() +client.board.board_controller_find_all() ```
@@ -5352,7 +7378,7 @@ client.insight.insight_controller_find_all()
-**id:** `typing.Optional[str]` +**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1.
@@ -5360,7 +7386,7 @@ client.insight.insight_controller_find_all()
-**page:** `typing.Optional[float]` — This is the page number to return. Defaults to 1. +**sort_order:** `typing.Optional[BoardControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'.
@@ -5368,7 +7394,7 @@ client.insight.insight_controller_find_all()
-**sort_order:** `typing.Optional[InsightControllerFindAllRequestSortOrder]` — This is the sort order for pagination. Defaults to 'DESC'. +**sort_by:** `typing.Optional[BoardControllerFindAllRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'.
@@ -5460,7 +7486,7 @@ client.insight.insight_controller_find_all()
-
client.insight.insight_controller_create(...) -> InsightControllerCreateResponse +
client.board.board_controller_create(...) -> Board
@@ -5473,25 +7499,18 @@ client.insight.insight_controller_find_all()
```python -from vapi import Vapi, JsonQueryOnCallTableWithStringTypeColumn +from vapi import Vapi, BoardLayout from vapi.environment import VapiEnvironment -from vapi.insight import InsightControllerCreateRequest_Bar client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_create( - request=InsightControllerCreateRequest_Bar( - queries=[ - JsonQueryOnCallTableWithStringTypeColumn( - type="vapiql-json", - table="call", - column="id", - operation="count", - ) - ], +client.board.board_controller_create( + name="name", + layout=BoardLayout( + columns=1.1, ), ) @@ -5509,7 +7528,35 @@ client.insight.insight_controller_create(
-**request:** `InsightControllerCreateRequest` +**name:** `str` — This is the name of the Board. + +
+
+ +
+
+ +**layout:** `BoardLayout` — This is the layout of the Board. + +
+
+ +
+
+ +**items:** `typing.Optional[typing.List[CreateBoardDtoItemsItem]]` — This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + +
+
+ +
+
+ +**time_range_override:** `typing.Optional[InsightTimeRangeWithStep]` + +This is the timerange override for the board. +By default, individual insights have their own timerange. +This is a global override for the board which will be passed to all insights on the board.
@@ -5529,7 +7576,7 @@ client.insight.insight_controller_create(
-
client.insight.insight_controller_find_one(...) -> InsightControllerFindOneResponse +
client.board.board_controller_metrics_overview_ensure() -> Board
@@ -5550,9 +7597,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_find_one( - id="id", -) +client.board.board_controller_metrics_overview_ensure() ```
@@ -5568,14 +7613,6 @@ client.insight.insight_controller_find_one(
-**id:** `str` - -
-
- -
-
- **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -5588,7 +7625,7 @@ client.insight.insight_controller_find_one(
-
client.insight.insight_controller_remove(...) -> InsightControllerRemoveResponse +
client.board.board_controller_find_one(...) -> Board
@@ -5609,7 +7646,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_remove( +client.board.board_controller_find_one( id="id", ) @@ -5627,7 +7664,7 @@ client.insight.insight_controller_remove(
-**id:** `str` +**id:** `str` — The unique identifier for the resource.
@@ -5647,7 +7684,7 @@ client.insight.insight_controller_remove(
-
client.insight.insight_controller_update(...) -> InsightControllerUpdateResponse +
client.board.board_controller_remove(...) -> Board
@@ -5662,16 +7699,14 @@ client.insight.insight_controller_remove( ```python from vapi import Vapi from vapi.environment import VapiEnvironment -from vapi.insight import InsightControllerUpdateRequestBody_Bar client = Vapi( token="", environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_update( +client.board.board_controller_remove( id="id", - request=InsightControllerUpdateRequestBody_Bar(), ) ``` @@ -5688,15 +7723,7 @@ client.insight.insight_controller_update(
-**id:** `str` - -
-
- -
-
- -**request:** `InsightControllerUpdateRequestBody` +**id:** `str` — The unique identifier for the resource.
@@ -5716,7 +7743,7 @@ client.insight.insight_controller_update(
-
client.insight.insight_controller_run(...) -> InsightRunResponse +
client.board.board_controller_update(...) -> Board
@@ -5737,7 +7764,7 @@ client = Vapi( environment=VapiEnvironment.DEFAULT, ) -client.insight.insight_controller_run( +client.board.board_controller_update( id="id", ) @@ -5755,7 +7782,7 @@ client.insight.insight_controller_run(
-**id:** `str` +**id:** `str` — The unique identifier for the resource.
@@ -5763,7 +7790,7 @@ client.insight.insight_controller_run(
-**format_plan:** `typing.Optional[InsightRunFormatPlan]` +**items:** `typing.Optional[typing.List[UpdateBoardDtoItemsItem]]` — This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board.
@@ -5771,15 +7798,7 @@ client.insight.insight_controller_run(
-**time_range_override:** `typing.Optional[InsightTimeRangeWithStep]` - -This is the optional time range override for the insight. -If provided, overrides every field in the insight's timeRange. -If this is provided with missing fields, defaults will be used, not the insight's timeRange. -start default - "-7d" -end default - "now" -step default - "day" -For Pie and Text Insights, step will be ignored even if provided. +**name:** `typing.Optional[str]` — This is the name of the Board.
@@ -5787,68 +7806,19 @@ For Pie and Text Insights, step will be ignored even if provided.
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**layout:** `typing.Optional[BoardLayout]` — This is the layout of the Board.
-
-
- - - - -
- -
client.insight.insight_controller_preview(...) -> InsightRunResponse -
-
- -#### 🔌 Usage - -
-
- -
-
- -```python -from vapi import Vapi, JsonQueryOnCallTableWithStringTypeColumn -from vapi.environment import VapiEnvironment -from vapi.insight import InsightControllerPreviewRequest_Bar - -client = Vapi( - token="", - environment=VapiEnvironment.DEFAULT, -) - -client.insight.insight_controller_preview( - request=InsightControllerPreviewRequest_Bar( - queries=[ - JsonQueryOnCallTableWithStringTypeColumn( - type="vapiql-json", - table="call", - column="id", - operation="count", - ) - ], - ), -) - -``` -
-
-
-
- -#### ⚙️ Parameters
-
-
+**time_range_override:** `typing.Optional[InsightTimeRangeWithStep]` -**request:** `InsightControllerPreviewRequest` +This is the timerange override for the board. +By default, individual insights have their own timerange. +This is a global override for the board which will be passed to all insights on the board.
@@ -5873,6 +7843,20 @@ client.insight.insight_controller_preview(
+#### 📝 Description + +
+
+ +
+
+ +Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -5906,7 +7890,7 @@ client.eval.eval_controller_get_paginated()
-**id:** `typing.Optional[str]` +**id:** `typing.Optional[str]` — Filters eval definitions by ID.
@@ -5930,6 +7914,14 @@ client.eval.eval_controller_get_paginated()
+**sort_by:** `typing.Optional[EvalControllerGetPaginatedRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ **limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -6018,6 +8010,20 @@ client.eval.eval_controller_get_paginated()
+#### 📝 Description + +
+
+ +
+
+ +Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls. +
+
+
+
+ #### 🔌 Usage
@@ -6082,6 +8088,20 @@ client.eval.eval_controller_create(
+#### 📝 Description + +
+
+ +
+
+ +Returns the eval definition identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6117,29 +8137,43 @@ client.eval.eval_controller_get(
-**id:** `str` +**id:** `str` — The unique identifier of the eval definition. + +
+
+ +
+
+ +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+ + +
+
+
+ +
client.eval.eval_controller_remove(...) -> Eval +
+
+ +#### 📝 Description + +
+
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
+Deletes the eval definition identified by its ID.
- -
-
- -
client.eval.eval_controller_remove(...) -> Eval -
-
#### 🔌 Usage @@ -6176,7 +8210,7 @@ client.eval.eval_controller_remove(
-**id:** `str` +**id:** `str` — The unique identifier of the eval definition.
@@ -6200,6 +8234,20 @@ client.eval.eval_controller_remove(
+#### 📝 Description + +
+
+ +
+
+ +Updates the eval definition identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6235,7 +8283,7 @@ client.eval.eval_controller_update(
-**id:** `str` +**id:** `str` — The unique identifier of the eval definition.
@@ -6306,6 +8354,20 @@ Currently it is fixed to `chat.mockConversation`.
+#### 📝 Description + +
+
+ +
+
+ +Returns the eval run identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6341,7 +8403,7 @@ client.eval.eval_controller_get_run(
-**id:** `str` +**id:** `str` — The unique identifier of the eval run.
@@ -6365,6 +8427,20 @@ client.eval.eval_controller_get_run(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the eval run identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6400,7 +8476,7 @@ client.eval.eval_controller_remove_run(
-**id:** `str` +**id:** `str` — The unique identifier of the eval run.
@@ -6424,6 +8500,20 @@ client.eval.eval_controller_remove_run(
+#### 📝 Description + +
+
+ +
+
+ +Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -6457,7 +8547,7 @@ client.eval.eval_controller_get_runs_paginated()
-**id:** `typing.Optional[str]` +**id:** `typing.Optional[str]` — Filters eval runs by ID.
@@ -6481,6 +8571,14 @@ client.eval.eval_controller_get_runs_paginated()
+**sort_by:** `typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ **limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -6569,6 +8667,20 @@ client.eval.eval_controller_get_runs_paginated()
+#### 📝 Description + +
+
+ +
+
+ +Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results. +
+
+
+
+ #### 🔌 Usage
@@ -6658,6 +8770,20 @@ Currently it is fixed to `eval`.
+#### 📝 Description + +
+
+ +
+
+ +Returns the scorecard identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6693,7 +8819,7 @@ client.observability_scorecard.scorecard_controller_get(
-**id:** `str` +**id:** `str` — The unique identifier of the scorecard.
@@ -6717,6 +8843,20 @@ client.observability_scorecard.scorecard_controller_get(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the scorecard identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6752,7 +8892,7 @@ client.observability_scorecard.scorecard_controller_remove(
-**id:** `str` +**id:** `str` — The unique identifier of the scorecard.
@@ -6776,6 +8916,20 @@ client.observability_scorecard.scorecard_controller_remove(
+#### 📝 Description + +
+
+ +
+
+ +Updates the scorecard identified by its ID. +
+
+
+
+ #### 🔌 Usage
@@ -6811,7 +8965,7 @@ client.observability_scorecard.scorecard_controller_update(
-**id:** `str` +**id:** `str` — The unique identifier of the scorecard.
@@ -6873,6 +9027,20 @@ When linked to assistants, this scorecard will be available for evaluation durin
+#### 📝 Description + +
+
+ +
+
+ +Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -6906,7 +9074,7 @@ client.observability_scorecard.scorecard_controller_get_paginated()
-**id:** `typing.Optional[str]` +**id:** `typing.Optional[str]` — Filters scorecards by ID.
@@ -6930,6 +9098,14 @@ client.observability_scorecard.scorecard_controller_get_paginated()
+**sort_by:** `typing.Optional[ScorecardControllerGetPaginatedRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ **limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -7018,6 +9194,20 @@ client.observability_scorecard.scorecard_controller_get_paginated()
+#### 📝 Description + +
+
+ +
+
+ +Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated. +
+
+
+
+ #### 🔌 Usage
@@ -7027,7 +9217,7 @@ client.observability_scorecard.scorecard_controller_get_paginated()
```python -from vapi import Vapi, ScorecardMetric +from vapi import Vapi, ScorecardMetric, NumberComparatorScorecardMetricCondition from vapi.environment import VapiEnvironment client = Vapi( @@ -7038,12 +9228,15 @@ client = Vapi( client.observability_scorecard.scorecard_controller_create( metrics=[ ScorecardMetric( - structured_output_id="structuredOutputId", conditions=[ - { - "key": "value" - } + NumberComparatorScorecardMetricCondition( + type="comparator", + comparator="=", + value=1.1, + points=1.1, + ) ], + structured_output_id="structuredOutputId", ) ], ) @@ -7087,6 +9280,20 @@ client.observability_scorecard.scorecard_controller_create(
+#### 📝 Description + +
+
+ +
+
+ +Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps. +
+
+
+
+ #### 🔌 Usage
@@ -7139,7 +9346,7 @@ client.provider_resources.provider_resource_controller_get_provider_resources_pa
-**id:** `typing.Optional[str]` +**id:** `typing.Optional[str]` — Filters provider resources by their resource ID.
@@ -7147,7 +9354,7 @@ client.provider_resources.provider_resource_controller_get_provider_resources_pa
-**resource_id:** `typing.Optional[str]` +**resource_id:** `typing.Optional[str]` — Filters provider resources by their provider-specific resource ID.
@@ -7171,6 +9378,14 @@ client.provider_resources.provider_resource_controller_get_provider_resources_pa
+**sort_by:** `typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy]` — This is the column to sort by. Defaults to 'createdAt'. + +
+
+ +
+
+ **limit:** `typing.Optional[float]` — This is the maximum number of items to return. Defaults to 100.
@@ -7259,6 +9474,20 @@ client.provider_resources.provider_resource_controller_get_provider_resources_pa
+#### 📝 Description + +
+
+ +
+
+ +Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. +
+
+
+
+ #### 🔌 Usage
@@ -7327,6 +9556,20 @@ client.provider_resources.provider_resource_controller_create_provider_resource(
+#### 📝 Description + +
+
+ +
+
+ +Returns the provider resource identified by its Vapi resource ID. +
+
+
+
+ #### 🔌 Usage
@@ -7380,7 +9623,7 @@ client.provider_resources.provider_resource_controller_get_provider_resource(
-**id:** `str` +**id:** `str` — The unique identifier of the provider resource.
@@ -7404,6 +9647,20 @@ client.provider_resources.provider_resource_controller_get_provider_resource(
+#### 📝 Description + +
+
+ +
+
+ +Deletes the provider resource identified by its Vapi resource ID. +
+
+
+
+ #### 🔌 Usage
@@ -7457,7 +9714,7 @@ client.provider_resources.provider_resource_controller_delete_provider_resource(
-**id:** `str` +**id:** `str` — The unique identifier of the provider resource.
@@ -7481,6 +9738,20 @@ client.provider_resources.provider_resource_controller_delete_provider_resource(
+#### 📝 Description + +
+
+ +
+
+ +Updates the provider resource identified by its Vapi resource ID. +
+
+
+
+ #### 🔌 Usage
@@ -7534,7 +9805,7 @@ client.provider_resources.provider_resource_controller_update_provider_resource(
-**id:** `str` +**id:** `str` — The unique identifier of the provider resource.
@@ -7559,6 +9830,20 @@ client.provider_resources.provider_resource_controller_update_provider_resource(
+#### 📝 Description + +
+
+ +
+
+ +Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations. +
+
+
+
+ #### 🔌 Usage
diff --git a/src/vapi/__init__.py b/src/vapi/__init__.py index 0da12389..6d53e820 100644 --- a/src/vapi/__init__.py +++ b/src/vapi/__init__.py @@ -165,6 +165,7 @@ AssistantCredentialsItem_Langfuse, AssistantCredentialsItem_Lmnt, AssistantCredentialsItem_Make, + AssistantCredentialsItem_Microsoft, AssistantCredentialsItem_Minimax, AssistantCredentialsItem_Mistral, AssistantCredentialsItem_Neuphonic, @@ -175,6 +176,7 @@ AssistantCredentialsItem_RimeAi, AssistantCredentialsItem_Runpod, AssistantCredentialsItem_S3, + AssistantCredentialsItem_S3Compatible, AssistantCredentialsItem_SlackOauth2Authorization, AssistantCredentialsItem_SlackWebhook, AssistantCredentialsItem_SmallestAi, @@ -183,13 +185,136 @@ AssistantCredentialsItem_Supabase, AssistantCredentialsItem_Tavus, AssistantCredentialsItem_TogetherAi, - AssistantCredentialsItem_Trieve, AssistantCredentialsItem_Twilio, AssistantCredentialsItem_Vonage, AssistantCredentialsItem_Webhook, AssistantCredentialsItem_Wellsaid, AssistantCredentialsItem_Xai, AssistantCustomEndpointingRule, + AssistantDraft, + AssistantDraftBackgroundSound, + AssistantDraftBackgroundSoundZero, + AssistantDraftClientMessagesItem, + AssistantDraftConflictResponseDto, + AssistantDraftCredentialsItem, + AssistantDraftCredentialsItem_11Labs, + AssistantDraftCredentialsItem_Anthropic, + AssistantDraftCredentialsItem_AnthropicBedrock, + AssistantDraftCredentialsItem_Anyscale, + AssistantDraftCredentialsItem_AssemblyAi, + AssistantDraftCredentialsItem_Azure, + AssistantDraftCredentialsItem_AzureOpenai, + AssistantDraftCredentialsItem_ByoSipTrunk, + AssistantDraftCredentialsItem_Cartesia, + AssistantDraftCredentialsItem_Cerebras, + AssistantDraftCredentialsItem_Cloudflare, + AssistantDraftCredentialsItem_CustomCredential, + AssistantDraftCredentialsItem_CustomLlm, + AssistantDraftCredentialsItem_DeepSeek, + AssistantDraftCredentialsItem_Deepgram, + AssistantDraftCredentialsItem_Deepinfra, + AssistantDraftCredentialsItem_Email, + AssistantDraftCredentialsItem_Gcp, + AssistantDraftCredentialsItem_GhlOauth2Authorization, + AssistantDraftCredentialsItem_Gladia, + AssistantDraftCredentialsItem_Gohighlevel, + AssistantDraftCredentialsItem_Google, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Client, + AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantDraftCredentialsItem_Groq, + AssistantDraftCredentialsItem_Hume, + AssistantDraftCredentialsItem_InflectionAi, + AssistantDraftCredentialsItem_Inworld, + AssistantDraftCredentialsItem_Langfuse, + AssistantDraftCredentialsItem_Lmnt, + AssistantDraftCredentialsItem_Make, + AssistantDraftCredentialsItem_Microsoft, + AssistantDraftCredentialsItem_Minimax, + AssistantDraftCredentialsItem_Mistral, + AssistantDraftCredentialsItem_Neuphonic, + AssistantDraftCredentialsItem_Openai, + AssistantDraftCredentialsItem_Openrouter, + AssistantDraftCredentialsItem_PerplexityAi, + AssistantDraftCredentialsItem_Playht, + AssistantDraftCredentialsItem_RimeAi, + AssistantDraftCredentialsItem_Runpod, + AssistantDraftCredentialsItem_S3, + AssistantDraftCredentialsItem_S3Compatible, + AssistantDraftCredentialsItem_SlackOauth2Authorization, + AssistantDraftCredentialsItem_SlackWebhook, + AssistantDraftCredentialsItem_SmallestAi, + AssistantDraftCredentialsItem_Soniox, + AssistantDraftCredentialsItem_Speechmatics, + AssistantDraftCredentialsItem_Supabase, + AssistantDraftCredentialsItem_Tavus, + AssistantDraftCredentialsItem_TogetherAi, + AssistantDraftCredentialsItem_Twilio, + AssistantDraftCredentialsItem_Vonage, + AssistantDraftCredentialsItem_Webhook, + AssistantDraftCredentialsItem_Wellsaid, + AssistantDraftCredentialsItem_Xai, + AssistantDraftFirstMessageMode, + AssistantDraftHooksItem, + AssistantDraftModel, + AssistantDraftModel_Anthropic, + AssistantDraftModel_AnthropicBedrock, + AssistantDraftModel_Anyscale, + AssistantDraftModel_Cerebras, + AssistantDraftModel_CustomLlm, + AssistantDraftModel_DeepSeek, + AssistantDraftModel_Deepinfra, + AssistantDraftModel_Google, + AssistantDraftModel_Groq, + AssistantDraftModel_InflectionAi, + AssistantDraftModel_Minimax, + AssistantDraftModel_Openai, + AssistantDraftModel_Openrouter, + AssistantDraftModel_PerplexityAi, + AssistantDraftModel_TogetherAi, + AssistantDraftModel_Vapi, + AssistantDraftModel_Xai, + AssistantDraftPaginatedMetadata, + AssistantDraftPaginatedResponse, + AssistantDraftServerMessagesItem, + AssistantDraftTranscriber, + AssistantDraftTranscriber_11Labs, + AssistantDraftTranscriber_AssemblyAi, + AssistantDraftTranscriber_Azure, + AssistantDraftTranscriber_Cartesia, + AssistantDraftTranscriber_CustomTranscriber, + AssistantDraftTranscriber_Deepgram, + AssistantDraftTranscriber_Gladia, + AssistantDraftTranscriber_Google, + AssistantDraftTranscriber_Openai, + AssistantDraftTranscriber_Soniox, + AssistantDraftTranscriber_Speechmatics, + AssistantDraftTranscriber_Talkscriber, + AssistantDraftTranscriber_Vapi, + AssistantDraftTranscriber_Xai, + AssistantDraftVoice, + AssistantDraftVoice_11Labs, + AssistantDraftVoice_Azure, + AssistantDraftVoice_Cartesia, + AssistantDraftVoice_CustomVoice, + AssistantDraftVoice_Deepgram, + AssistantDraftVoice_Hume, + AssistantDraftVoice_Inworld, + AssistantDraftVoice_Lmnt, + AssistantDraftVoice_Microsoft, + AssistantDraftVoice_Minimax, + AssistantDraftVoice_Neuphonic, + AssistantDraftVoice_Openai, + AssistantDraftVoice_Playht, + AssistantDraftVoice_RimeAi, + AssistantDraftVoice_Sesame, + AssistantDraftVoice_SmallestAi, + AssistantDraftVoice_Tavus, + AssistantDraftVoice_Vapi, + AssistantDraftVoice_Wellsaid, + AssistantDraftVoice_Xai, + AssistantDraftVoicemailDetection, + AssistantDraftVoicemailDetectionZero, AssistantFirstMessageMode, AssistantHookAssistantSpeechInterrupted, AssistantHookCallEnding, @@ -223,6 +348,7 @@ AssistantModel_Openrouter, AssistantModel_PerplexityAi, AssistantModel_TogetherAi, + AssistantModel_Vapi, AssistantModel_Xai, AssistantOverrides, AssistantOverridesBackgroundSound, @@ -261,6 +387,7 @@ AssistantOverridesCredentialsItem_Langfuse, AssistantOverridesCredentialsItem_Lmnt, AssistantOverridesCredentialsItem_Make, + AssistantOverridesCredentialsItem_Microsoft, AssistantOverridesCredentialsItem_Minimax, AssistantOverridesCredentialsItem_Mistral, AssistantOverridesCredentialsItem_Neuphonic, @@ -271,6 +398,7 @@ AssistantOverridesCredentialsItem_RimeAi, AssistantOverridesCredentialsItem_Runpod, AssistantOverridesCredentialsItem_S3, + AssistantOverridesCredentialsItem_S3Compatible, AssistantOverridesCredentialsItem_SlackOauth2Authorization, AssistantOverridesCredentialsItem_SlackWebhook, AssistantOverridesCredentialsItem_SmallestAi, @@ -279,7 +407,6 @@ AssistantOverridesCredentialsItem_Supabase, AssistantOverridesCredentialsItem_Tavus, AssistantOverridesCredentialsItem_TogetherAi, - AssistantOverridesCredentialsItem_Trieve, AssistantOverridesCredentialsItem_Twilio, AssistantOverridesCredentialsItem_Vonage, AssistantOverridesCredentialsItem_Webhook, @@ -303,6 +430,7 @@ AssistantOverridesModel_Openrouter, AssistantOverridesModel_PerplexityAi, AssistantOverridesModel_TogetherAi, + AssistantOverridesModel_Vapi, AssistantOverridesModel_Xai, AssistantOverridesServerMessagesItem, AssistantOverridesToolsAppendItem, @@ -342,6 +470,8 @@ AssistantOverridesTranscriber_Soniox, AssistantOverridesTranscriber_Speechmatics, AssistantOverridesTranscriber_Talkscriber, + AssistantOverridesTranscriber_Vapi, + AssistantOverridesTranscriber_Xai, AssistantOverridesVoice, AssistantOverridesVoice_11Labs, AssistantOverridesVoice_Azure, @@ -351,6 +481,7 @@ AssistantOverridesVoice_Hume, AssistantOverridesVoice_Inworld, AssistantOverridesVoice_Lmnt, + AssistantOverridesVoice_Microsoft, AssistantOverridesVoice_Minimax, AssistantOverridesVoice_Neuphonic, AssistantOverridesVoice_Openai, @@ -361,9 +492,12 @@ AssistantOverridesVoice_Tavus, AssistantOverridesVoice_Vapi, AssistantOverridesVoice_Wellsaid, + AssistantOverridesVoice_Xai, AssistantOverridesVoicemailDetection, AssistantOverridesVoicemailDetectionZero, AssistantPaginatedResponse, + AssistantPinnedConflictResponseDto, + AssistantPinnedConflictResponseDtoError, AssistantServerMessagesItem, AssistantSpeechWordAlignmentTiming, AssistantSpeechWordProgressTiming, @@ -381,8 +515,132 @@ AssistantTranscriber_Soniox, AssistantTranscriber_Speechmatics, AssistantTranscriber_Talkscriber, + AssistantTranscriber_Vapi, + AssistantTranscriber_Xai, AssistantUserEditable, + AssistantVersion, + AssistantVersionBackgroundSound, + AssistantVersionBackgroundSoundZero, + AssistantVersionClientMessagesItem, + AssistantVersionCredentialsItem, + AssistantVersionCredentialsItem_11Labs, + AssistantVersionCredentialsItem_Anthropic, + AssistantVersionCredentialsItem_AnthropicBedrock, + AssistantVersionCredentialsItem_Anyscale, + AssistantVersionCredentialsItem_AssemblyAi, + AssistantVersionCredentialsItem_Azure, + AssistantVersionCredentialsItem_AzureOpenai, + AssistantVersionCredentialsItem_ByoSipTrunk, + AssistantVersionCredentialsItem_Cartesia, + AssistantVersionCredentialsItem_Cerebras, + AssistantVersionCredentialsItem_Cloudflare, + AssistantVersionCredentialsItem_CustomCredential, + AssistantVersionCredentialsItem_CustomLlm, + AssistantVersionCredentialsItem_DeepSeek, + AssistantVersionCredentialsItem_Deepgram, + AssistantVersionCredentialsItem_Deepinfra, + AssistantVersionCredentialsItem_Email, + AssistantVersionCredentialsItem_Gcp, + AssistantVersionCredentialsItem_GhlOauth2Authorization, + AssistantVersionCredentialsItem_Gladia, + AssistantVersionCredentialsItem_Gohighlevel, + AssistantVersionCredentialsItem_Google, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Client, + AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantVersionCredentialsItem_Groq, + AssistantVersionCredentialsItem_Hume, + AssistantVersionCredentialsItem_InflectionAi, + AssistantVersionCredentialsItem_Inworld, + AssistantVersionCredentialsItem_Langfuse, + AssistantVersionCredentialsItem_Lmnt, + AssistantVersionCredentialsItem_Make, + AssistantVersionCredentialsItem_Microsoft, + AssistantVersionCredentialsItem_Minimax, + AssistantVersionCredentialsItem_Mistral, + AssistantVersionCredentialsItem_Neuphonic, + AssistantVersionCredentialsItem_Openai, + AssistantVersionCredentialsItem_Openrouter, + AssistantVersionCredentialsItem_PerplexityAi, + AssistantVersionCredentialsItem_Playht, + AssistantVersionCredentialsItem_RimeAi, + AssistantVersionCredentialsItem_Runpod, + AssistantVersionCredentialsItem_S3, + AssistantVersionCredentialsItem_S3Compatible, + AssistantVersionCredentialsItem_SlackOauth2Authorization, + AssistantVersionCredentialsItem_SlackWebhook, + AssistantVersionCredentialsItem_SmallestAi, + AssistantVersionCredentialsItem_Soniox, + AssistantVersionCredentialsItem_Speechmatics, + AssistantVersionCredentialsItem_Supabase, + AssistantVersionCredentialsItem_Tavus, + AssistantVersionCredentialsItem_TogetherAi, + AssistantVersionCredentialsItem_Twilio, + AssistantVersionCredentialsItem_Vonage, + AssistantVersionCredentialsItem_Webhook, + AssistantVersionCredentialsItem_Wellsaid, + AssistantVersionCredentialsItem_Xai, + AssistantVersionFirstMessageMode, + AssistantVersionHooksItem, + AssistantVersionModel, + AssistantVersionModel_Anthropic, + AssistantVersionModel_AnthropicBedrock, + AssistantVersionModel_Anyscale, + AssistantVersionModel_Cerebras, + AssistantVersionModel_CustomLlm, + AssistantVersionModel_DeepSeek, + AssistantVersionModel_Deepinfra, + AssistantVersionModel_Google, + AssistantVersionModel_Groq, + AssistantVersionModel_InflectionAi, + AssistantVersionModel_Minimax, + AssistantVersionModel_Openai, + AssistantVersionModel_Openrouter, + AssistantVersionModel_PerplexityAi, + AssistantVersionModel_TogetherAi, + AssistantVersionModel_Vapi, + AssistantVersionModel_Xai, + AssistantVersionPaginatedMetadata, AssistantVersionPaginatedResponse, + AssistantVersionServerMessagesItem, + AssistantVersionTranscriber, + AssistantVersionTranscriber_11Labs, + AssistantVersionTranscriber_AssemblyAi, + AssistantVersionTranscriber_Azure, + AssistantVersionTranscriber_Cartesia, + AssistantVersionTranscriber_CustomTranscriber, + AssistantVersionTranscriber_Deepgram, + AssistantVersionTranscriber_Gladia, + AssistantVersionTranscriber_Google, + AssistantVersionTranscriber_Openai, + AssistantVersionTranscriber_Soniox, + AssistantVersionTranscriber_Speechmatics, + AssistantVersionTranscriber_Talkscriber, + AssistantVersionTranscriber_Vapi, + AssistantVersionTranscriber_Xai, + AssistantVersionVoice, + AssistantVersionVoice_11Labs, + AssistantVersionVoice_Azure, + AssistantVersionVoice_Cartesia, + AssistantVersionVoice_CustomVoice, + AssistantVersionVoice_Deepgram, + AssistantVersionVoice_Hume, + AssistantVersionVoice_Inworld, + AssistantVersionVoice_Lmnt, + AssistantVersionVoice_Microsoft, + AssistantVersionVoice_Minimax, + AssistantVersionVoice_Neuphonic, + AssistantVersionVoice_Openai, + AssistantVersionVoice_Playht, + AssistantVersionVoice_RimeAi, + AssistantVersionVoice_Sesame, + AssistantVersionVoice_SmallestAi, + AssistantVersionVoice_Tavus, + AssistantVersionVoice_Vapi, + AssistantVersionVoice_Wellsaid, + AssistantVersionVoice_Xai, + AssistantVersionVoicemailDetection, + AssistantVersionVoicemailDetectionZero, AssistantVoice, AssistantVoice_11Labs, AssistantVoice_Azure, @@ -392,6 +650,7 @@ AssistantVoice_Hume, AssistantVoice_Inworld, AssistantVoice_Lmnt, + AssistantVoice_Microsoft, AssistantVoice_Minimax, AssistantVoice_Neuphonic, AssistantVoice_Openai, @@ -402,8 +661,11 @@ AssistantVoice_Tavus, AssistantVoice_Vapi, AssistantVoice_Wellsaid, + AssistantVoice_Xai, AssistantVoicemailDetection, AssistantVoicemailDetectionZero, + AudioFormat, + AudioFormatContainer, AutoReloadPlan, AwsStsAssumeRoleUser, AwsStsAuthenticationArtifact, @@ -453,6 +715,19 @@ BashToolWithToolCallName, BashToolWithToolCallSubType, BearerAuthenticationPlan, + Board, + BoardInsightItem, + BoardInsightItemType, + BoardItemPosition, + BoardItemSize, + BoardItemsItem, + BoardLayout, + BoardMetricWidgetItem, + BoardMetricWidgetItemType, + BoardPaginatedResponse, + BooleanComparatorScorecardMetricCondition, + BooleanComparatorScorecardMetricConditionComparator, + BooleanComparatorScorecardMetricConditionType, BotMessage, BothCustomEndpointingRule, BucketPlan, @@ -522,10 +797,20 @@ CallPhoneCallProvider, CallPhoneCallTransport, CallStatus, + CallTransport, + CallTransport_Daily, + CallTransport_Telnyx, + CallTransport_Twilio, + CallTransport_VapiSip, + CallTransport_VapiWebsocket, + CallTransport_Vonage, CallType, Campaign, + CampaignContact, CampaignEndedReason, CampaignPaginatedResponse, + CampaignPredialPlan, + CampaignServerMessagesItem, CampaignStatus, CartesiaCredential, CartesiaCredentialProvider, @@ -858,6 +1143,7 @@ ContextEngineeringPlanAll, ContextEngineeringPlanLastNMessages, ContextEngineeringPlanNone, + ContextEngineeringPlanPreviousAssistantMessages, ContextEngineeringPlanUserAndAssistantMessages, ConversationNode, ConversationNodeModel, @@ -903,6 +1189,8 @@ ConversationNodeTranscriber_Soniox, ConversationNodeTranscriber_Speechmatics, ConversationNodeTranscriber_Talkscriber, + ConversationNodeTranscriber_Vapi, + ConversationNodeTranscriber_Xai, ConversationNodeVoice, ConversationNodeVoice_11Labs, ConversationNodeVoice_Azure, @@ -912,6 +1200,7 @@ ConversationNodeVoice_Hume, ConversationNodeVoice_Inworld, ConversationNodeVoice_Lmnt, + ConversationNodeVoice_Microsoft, ConversationNodeVoice_Minimax, ConversationNodeVoice_Neuphonic, ConversationNodeVoice_Openai, @@ -922,6 +1211,7 @@ ConversationNodeVoice_Tavus, ConversationNodeVoice_Vapi, ConversationNodeVoice_Wellsaid, + ConversationNodeVoice_Xai, CostBreakdown, CreateAnthropicBedrockCredentialDto, CreateAnthropicBedrockCredentialDtoAuthenticationPlan, @@ -938,6 +1228,127 @@ CreateApiRequestToolDtoMessagesItem_RequestStart, CreateApiRequestToolDtoMethod, CreateAssemblyAiCredentialDto, + CreateAssistantDraftDto, + CreateAssistantDraftDtoBackgroundSound, + CreateAssistantDraftDtoBackgroundSoundZero, + CreateAssistantDraftDtoClientMessagesItem, + CreateAssistantDraftDtoCredentialsItem, + CreateAssistantDraftDtoCredentialsItem_11Labs, + CreateAssistantDraftDtoCredentialsItem_Anthropic, + CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + CreateAssistantDraftDtoCredentialsItem_Anyscale, + CreateAssistantDraftDtoCredentialsItem_AssemblyAi, + CreateAssistantDraftDtoCredentialsItem_Azure, + CreateAssistantDraftDtoCredentialsItem_AzureOpenai, + CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + CreateAssistantDraftDtoCredentialsItem_Cartesia, + CreateAssistantDraftDtoCredentialsItem_Cerebras, + CreateAssistantDraftDtoCredentialsItem_Cloudflare, + CreateAssistantDraftDtoCredentialsItem_CustomCredential, + CreateAssistantDraftDtoCredentialsItem_CustomLlm, + CreateAssistantDraftDtoCredentialsItem_DeepSeek, + CreateAssistantDraftDtoCredentialsItem_Deepgram, + CreateAssistantDraftDtoCredentialsItem_Deepinfra, + CreateAssistantDraftDtoCredentialsItem_Email, + CreateAssistantDraftDtoCredentialsItem_Gcp, + CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_Gladia, + CreateAssistantDraftDtoCredentialsItem_Gohighlevel, + CreateAssistantDraftDtoCredentialsItem_Google, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_Groq, + CreateAssistantDraftDtoCredentialsItem_Hume, + CreateAssistantDraftDtoCredentialsItem_InflectionAi, + CreateAssistantDraftDtoCredentialsItem_Inworld, + CreateAssistantDraftDtoCredentialsItem_Langfuse, + CreateAssistantDraftDtoCredentialsItem_Lmnt, + CreateAssistantDraftDtoCredentialsItem_Make, + CreateAssistantDraftDtoCredentialsItem_Microsoft, + CreateAssistantDraftDtoCredentialsItem_Minimax, + CreateAssistantDraftDtoCredentialsItem_Mistral, + CreateAssistantDraftDtoCredentialsItem_Neuphonic, + CreateAssistantDraftDtoCredentialsItem_Openai, + CreateAssistantDraftDtoCredentialsItem_Openrouter, + CreateAssistantDraftDtoCredentialsItem_PerplexityAi, + CreateAssistantDraftDtoCredentialsItem_Playht, + CreateAssistantDraftDtoCredentialsItem_RimeAi, + CreateAssistantDraftDtoCredentialsItem_Runpod, + CreateAssistantDraftDtoCredentialsItem_S3, + CreateAssistantDraftDtoCredentialsItem_S3Compatible, + CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_SlackWebhook, + CreateAssistantDraftDtoCredentialsItem_SmallestAi, + CreateAssistantDraftDtoCredentialsItem_Soniox, + CreateAssistantDraftDtoCredentialsItem_Speechmatics, + CreateAssistantDraftDtoCredentialsItem_Supabase, + CreateAssistantDraftDtoCredentialsItem_Tavus, + CreateAssistantDraftDtoCredentialsItem_TogetherAi, + CreateAssistantDraftDtoCredentialsItem_Twilio, + CreateAssistantDraftDtoCredentialsItem_Vonage, + CreateAssistantDraftDtoCredentialsItem_Webhook, + CreateAssistantDraftDtoCredentialsItem_Wellsaid, + CreateAssistantDraftDtoCredentialsItem_Xai, + CreateAssistantDraftDtoFirstMessageMode, + CreateAssistantDraftDtoHooksItem, + CreateAssistantDraftDtoModel, + CreateAssistantDraftDtoModel_Anthropic, + CreateAssistantDraftDtoModel_AnthropicBedrock, + CreateAssistantDraftDtoModel_Anyscale, + CreateAssistantDraftDtoModel_Cerebras, + CreateAssistantDraftDtoModel_CustomLlm, + CreateAssistantDraftDtoModel_DeepSeek, + CreateAssistantDraftDtoModel_Deepinfra, + CreateAssistantDraftDtoModel_Google, + CreateAssistantDraftDtoModel_Groq, + CreateAssistantDraftDtoModel_InflectionAi, + CreateAssistantDraftDtoModel_Minimax, + CreateAssistantDraftDtoModel_Openai, + CreateAssistantDraftDtoModel_Openrouter, + CreateAssistantDraftDtoModel_PerplexityAi, + CreateAssistantDraftDtoModel_TogetherAi, + CreateAssistantDraftDtoModel_Vapi, + CreateAssistantDraftDtoModel_Xai, + CreateAssistantDraftDtoServerMessagesItem, + CreateAssistantDraftDtoTranscriber, + CreateAssistantDraftDtoTranscriber_11Labs, + CreateAssistantDraftDtoTranscriber_AssemblyAi, + CreateAssistantDraftDtoTranscriber_Azure, + CreateAssistantDraftDtoTranscriber_Cartesia, + CreateAssistantDraftDtoTranscriber_CustomTranscriber, + CreateAssistantDraftDtoTranscriber_Deepgram, + CreateAssistantDraftDtoTranscriber_Gladia, + CreateAssistantDraftDtoTranscriber_Google, + CreateAssistantDraftDtoTranscriber_Openai, + CreateAssistantDraftDtoTranscriber_Soniox, + CreateAssistantDraftDtoTranscriber_Speechmatics, + CreateAssistantDraftDtoTranscriber_Talkscriber, + CreateAssistantDraftDtoTranscriber_Vapi, + CreateAssistantDraftDtoTranscriber_Xai, + CreateAssistantDraftDtoVoice, + CreateAssistantDraftDtoVoice_11Labs, + CreateAssistantDraftDtoVoice_Azure, + CreateAssistantDraftDtoVoice_Cartesia, + CreateAssistantDraftDtoVoice_CustomVoice, + CreateAssistantDraftDtoVoice_Deepgram, + CreateAssistantDraftDtoVoice_Hume, + CreateAssistantDraftDtoVoice_Inworld, + CreateAssistantDraftDtoVoice_Lmnt, + CreateAssistantDraftDtoVoice_Microsoft, + CreateAssistantDraftDtoVoice_Minimax, + CreateAssistantDraftDtoVoice_Neuphonic, + CreateAssistantDraftDtoVoice_Openai, + CreateAssistantDraftDtoVoice_Playht, + CreateAssistantDraftDtoVoice_RimeAi, + CreateAssistantDraftDtoVoice_Sesame, + CreateAssistantDraftDtoVoice_SmallestAi, + CreateAssistantDraftDtoVoice_Tavus, + CreateAssistantDraftDtoVoice_Vapi, + CreateAssistantDraftDtoVoice_Wellsaid, + CreateAssistantDraftDtoVoice_Xai, + CreateAssistantDraftDtoVoicemailDetection, + CreateAssistantDraftDtoVoicemailDetectionZero, CreateAssistantDto, CreateAssistantDtoBackgroundSound, CreateAssistantDtoBackgroundSoundZero, @@ -975,6 +1386,7 @@ CreateAssistantDtoCredentialsItem_Langfuse, CreateAssistantDtoCredentialsItem_Lmnt, CreateAssistantDtoCredentialsItem_Make, + CreateAssistantDtoCredentialsItem_Microsoft, CreateAssistantDtoCredentialsItem_Minimax, CreateAssistantDtoCredentialsItem_Mistral, CreateAssistantDtoCredentialsItem_Neuphonic, @@ -985,6 +1397,7 @@ CreateAssistantDtoCredentialsItem_RimeAi, CreateAssistantDtoCredentialsItem_Runpod, CreateAssistantDtoCredentialsItem_S3, + CreateAssistantDtoCredentialsItem_S3Compatible, CreateAssistantDtoCredentialsItem_SlackOauth2Authorization, CreateAssistantDtoCredentialsItem_SlackWebhook, CreateAssistantDtoCredentialsItem_SmallestAi, @@ -993,7 +1406,6 @@ CreateAssistantDtoCredentialsItem_Supabase, CreateAssistantDtoCredentialsItem_Tavus, CreateAssistantDtoCredentialsItem_TogetherAi, - CreateAssistantDtoCredentialsItem_Trieve, CreateAssistantDtoCredentialsItem_Twilio, CreateAssistantDtoCredentialsItem_Vonage, CreateAssistantDtoCredentialsItem_Webhook, @@ -1017,6 +1429,7 @@ CreateAssistantDtoModel_Openrouter, CreateAssistantDtoModel_PerplexityAi, CreateAssistantDtoModel_TogetherAi, + CreateAssistantDtoModel_Vapi, CreateAssistantDtoModel_Xai, CreateAssistantDtoServerMessagesItem, CreateAssistantDtoTranscriber, @@ -1032,6 +1445,8 @@ CreateAssistantDtoTranscriber_Soniox, CreateAssistantDtoTranscriber_Speechmatics, CreateAssistantDtoTranscriber_Talkscriber, + CreateAssistantDtoTranscriber_Vapi, + CreateAssistantDtoTranscriber_Xai, CreateAssistantDtoVoice, CreateAssistantDtoVoice_11Labs, CreateAssistantDtoVoice_Azure, @@ -1041,6 +1456,7 @@ CreateAssistantDtoVoice_Hume, CreateAssistantDtoVoice_Inworld, CreateAssistantDtoVoice_Lmnt, + CreateAssistantDtoVoice_Microsoft, CreateAssistantDtoVoice_Minimax, CreateAssistantDtoVoice_Neuphonic, CreateAssistantDtoVoice_Openai, @@ -1051,6 +1467,7 @@ CreateAssistantDtoVoice_Tavus, CreateAssistantDtoVoice_Vapi, CreateAssistantDtoVoice_Wellsaid, + CreateAssistantDtoVoice_Xai, CreateAssistantDtoVoicemailDetection, CreateAssistantDtoVoicemailDetectionZero, CreateAzureCredentialDto, @@ -1078,6 +1495,8 @@ CreateByoPhoneNumberDtoHooksItem_CallEnding, CreateByoPhoneNumberDtoHooksItem_CallRinging, CreateByoSipTrunkCredentialDto, + CreateCampaignDto, + CreateCampaignDtoServerMessagesItem, CreateCartesiaCredentialDto, CreateCerebrasCredentialDto, CreateChatStreamResponse, @@ -1117,6 +1536,7 @@ CreateDtmfToolDtoMessagesItem_RequestResponseDelayed, CreateDtmfToolDtoMessagesItem_RequestStart, CreateElevenLabsCredentialDto, + CreateElevenLabsCredentialDtoApiUrl, CreateEmailCredentialDto, CreateEndCallToolDto, CreateEndCallToolDtoMessagesItem, @@ -1223,6 +1643,7 @@ CreateMcpToolDtoMessagesItem_RequestFailed, CreateMcpToolDtoMessagesItem_RequestResponseDelayed, CreateMcpToolDtoMessagesItem_RequestStart, + CreateMicrosoftCredentialDto, CreateMinimaxCredentialDto, CreateMistralCredentialDto, CreateNeuphonicCredentialDto, @@ -1231,6 +1652,13 @@ CreateOrgDto, CreateOrgDtoChannel, CreateOutboundCallDto, + CreateOutboundCallDtoTransport, + CreateOutboundCallDtoTransport_Daily, + CreateOutboundCallDtoTransport_Telnyx, + CreateOutboundCallDtoTransport_Twilio, + CreateOutboundCallDtoTransport_VapiSip, + CreateOutboundCallDtoTransport_VapiWebsocket, + CreateOutboundCallDtoTransport_Vonage, CreateOutputToolDto, CreateOutputToolDtoMessagesItem, CreateOutputToolDtoMessagesItem_RequestComplete, @@ -1252,6 +1680,7 @@ CreateQueryToolDtoMessagesItem_RequestStart, CreateRimeAiCredentialDto, CreateRunpodCredentialDto, + CreateS3CompatibleCredentialDto, CreateS3CredentialDto, CreateScenarioDto, CreateScenarioDtoHooksItem, @@ -1267,6 +1696,14 @@ CreateSimulationRunDtoTarget, CreateSimulationRunDtoTarget_Assistant, CreateSimulationRunDtoTarget_Squad, + CreateSimulationRunResponse, + CreateSimulationRunResponseSimulationsItem, + CreateSimulationRunResponseSimulationsItem_Simulation, + CreateSimulationRunResponseSimulationsItem_SimulationSuite, + CreateSimulationRunResponseStatus, + CreateSimulationRunResponseTarget, + CreateSimulationRunResponseTarget_Assistant, + CreateSimulationRunResponseTarget_Squad, CreateSimulationSuiteDto, CreateSipRequestToolDto, CreateSipRequestToolDtoBody, @@ -1295,6 +1732,10 @@ CreateSpeechmaticsCredentialDto, CreateSquadDto, CreateStructuredOutputDto, + CreateStructuredOutputDtoConditionsItem, + CreateStructuredOutputDtoConditionsItem_EndedReason, + CreateStructuredOutputDtoConditionsItem_MinCallDuration, + CreateStructuredOutputDtoConditionsItem_MinMessages, CreateStructuredOutputDtoModel, CreateStructuredOutputDtoModel_Anthropic, CreateStructuredOutputDtoModel_AnthropicBedrock, @@ -1330,6 +1771,15 @@ CreateTogetherAiCredentialDto, CreateTokenDto, CreateTokenDtoTag, + CreateToolDraftDto, + CreateToolDraftDtoMessagesItem, + CreateToolDraftDtoMessagesItem_RequestComplete, + CreateToolDraftDtoMessagesItem_RequestFailed, + CreateToolDraftDtoMessagesItem_RequestResponseDelayed, + CreateToolDraftDtoMessagesItem_RequestStart, + CreateToolDraftDtoMethod, + CreateToolDraftDtoType, + CreateToolDraftDtoVerb, CreateToolTemplateDto, CreateToolTemplateDtoDetails, CreateToolTemplateDtoDetails_ApiRequest, @@ -1380,7 +1830,6 @@ CreateTransferCallToolDtoMessagesItem_RequestStart, CreateTrieveCredentialDto, CreateTrieveKnowledgeBaseDto, - CreateTrieveKnowledgeBaseDtoProvider, CreateTwilioCredentialDto, CreateTwilioPhoneNumberDto, CreateTwilioPhoneNumberDtoFallbackDestination, @@ -1457,6 +1906,7 @@ CreateWorkflowDtoCredentialsItem_Langfuse, CreateWorkflowDtoCredentialsItem_Lmnt, CreateWorkflowDtoCredentialsItem_Make, + CreateWorkflowDtoCredentialsItem_Microsoft, CreateWorkflowDtoCredentialsItem_Minimax, CreateWorkflowDtoCredentialsItem_Mistral, CreateWorkflowDtoCredentialsItem_Neuphonic, @@ -1467,6 +1917,7 @@ CreateWorkflowDtoCredentialsItem_RimeAi, CreateWorkflowDtoCredentialsItem_Runpod, CreateWorkflowDtoCredentialsItem_S3, + CreateWorkflowDtoCredentialsItem_S3Compatible, CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization, CreateWorkflowDtoCredentialsItem_SlackWebhook, CreateWorkflowDtoCredentialsItem_SmallestAi, @@ -1475,7 +1926,6 @@ CreateWorkflowDtoCredentialsItem_Supabase, CreateWorkflowDtoCredentialsItem_Tavus, CreateWorkflowDtoCredentialsItem_TogetherAi, - CreateWorkflowDtoCredentialsItem_Trieve, CreateWorkflowDtoCredentialsItem_Twilio, CreateWorkflowDtoCredentialsItem_Vonage, CreateWorkflowDtoCredentialsItem_Webhook, @@ -1504,6 +1954,8 @@ CreateWorkflowDtoTranscriber_Soniox, CreateWorkflowDtoTranscriber_Speechmatics, CreateWorkflowDtoTranscriber_Talkscriber, + CreateWorkflowDtoTranscriber_Vapi, + CreateWorkflowDtoTranscriber_Xai, CreateWorkflowDtoVoice, CreateWorkflowDtoVoice_11Labs, CreateWorkflowDtoVoice_Azure, @@ -1513,6 +1965,7 @@ CreateWorkflowDtoVoice_Hume, CreateWorkflowDtoVoice_Inworld, CreateWorkflowDtoVoice_Lmnt, + CreateWorkflowDtoVoice_Microsoft, CreateWorkflowDtoVoice_Minimax, CreateWorkflowDtoVoice_Neuphonic, CreateWorkflowDtoVoice_Openai, @@ -1523,6 +1976,7 @@ CreateWorkflowDtoVoice_Tavus, CreateWorkflowDtoVoice_Vapi, CreateWorkflowDtoVoice_Wellsaid, + CreateWorkflowDtoVoice_Xai, CreateWorkflowDtoVoicemailDetection, CreateWorkflowDtoVoicemailDetectionZero, CreateXAiCredentialDto, @@ -1580,6 +2034,7 @@ CustomVoice, CustomerCustomEndpointingRule, CustomerSpeechTimeoutOptions, + CustomerSpeechTimeoutOptionsTriggerResetMode, DeepInfraCredential, DeepInfraCredentialProvider, DeepInfraModel, @@ -1640,6 +2095,7 @@ DeepgramTranscriber, DeepgramTranscriberLanguage, DeepgramTranscriberModel, + DeepgramTranscriberRedactionItem, DeepgramVoice, DeepgramVoiceId, DeepgramVoiceModel, @@ -1654,6 +2110,7 @@ DtmfToolMessagesItem_RequestStart, Edge, ElevenLabsCredential, + ElevenLabsCredentialApiUrl, ElevenLabsPronunciationDictionary, ElevenLabsPronunciationDictionaryLocator, ElevenLabsPronunciationDictionaryPermissionOnResource, @@ -1672,6 +2129,8 @@ EndCallToolMessagesItem_RequestFailed, EndCallToolMessagesItem_RequestResponseDelayed, EndCallToolMessagesItem_RequestStart, + EndedReasonCondition, + EndedReasonConditionOperator, EndpointedSpeechLowConfidenceOptions, Eval, EvalAnthropicModel, @@ -1722,10 +2181,12 @@ ExportChatDto, ExportChatDtoColumns, ExportChatDtoFormat, + ExportChatDtoSortBy, ExportChatDtoSortOrder, ExportSessionDto, ExportSessionDtoColumns, ExportSessionDtoFormat, + ExportSessionDtoSortBy, ExportSessionDtoSortOrder, FailedEdgeCondition, FallbackAssemblyAiTranscriber, @@ -1748,6 +2209,7 @@ FallbackDeepgramTranscriber, FallbackDeepgramTranscriberLanguage, FallbackDeepgramTranscriberModel, + FallbackDeepgramTranscriberRedactionItem, FallbackDeepgramVoice, FallbackDeepgramVoiceId, FallbackDeepgramVoiceModel, @@ -1761,7 +2223,7 @@ FallbackGladiaTranscriber, FallbackGladiaTranscriberLanguage, FallbackGladiaTranscriberLanguageBehaviour, - FallbackGladiaTranscriberLanguages, + FallbackGladiaTranscriberLanguagesItem, FallbackGladiaTranscriberModel, FallbackGladiaTranscriberRegion, FallbackGoogleTranscriber, @@ -1777,6 +2239,10 @@ FallbackLmntVoiceId, FallbackLmntVoiceIdEnum, FallbackLmntVoiceLanguage, + FallbackMicrosoftVoice, + FallbackMicrosoftVoiceRole, + FallbackMicrosoftVoiceStyle, + FallbackMicrosoftVoiceVoiceId, FallbackMinimaxVoice, FallbackMinimaxVoiceLanguageBoost, FallbackMinimaxVoiceModel, @@ -1803,6 +2269,7 @@ FallbackPlanVoicesItem_Hume, FallbackPlanVoicesItem_Inworld, FallbackPlanVoicesItem_Lmnt, + FallbackPlanVoicesItem_Microsoft, FallbackPlanVoicesItem_Neuphonic, FallbackPlanVoicesItem_Openai, FallbackPlanVoicesItem_Playht, @@ -1812,6 +2279,7 @@ FallbackPlanVoicesItem_Tavus, FallbackPlanVoicesItem_Vapi, FallbackPlanVoicesItem_Wellsaid, + FallbackPlanVoicesItem_Xai, FallbackPlayHtVoice, FallbackPlayHtVoiceEmotion, FallbackPlayHtVoiceId, @@ -1831,6 +2299,7 @@ FallbackSmallestAiVoiceModel, FallbackSonioxTranscriber, FallbackSonioxTranscriberLanguage, + FallbackSonioxTranscriberLanguagesItem, FallbackSonioxTranscriberModel, FallbackSpeechmaticsTranscriber, FallbackSpeechmaticsTranscriberLanguage, @@ -1858,10 +2327,19 @@ FallbackTranscriberPlanTranscribersItem_Soniox, FallbackTranscriberPlanTranscribersItem_Speechmatics, FallbackTranscriberPlanTranscribersItem_Talkscriber, + FallbackTranscriberPlanTranscribersItem_Xai, FallbackVapiVoice, + FallbackVapiVoiceLanguage, + FallbackVapiVoiceVersion, FallbackVapiVoiceVoiceId, FallbackWellSaidVoice, FallbackWellSaidVoiceModel, + FallbackXaiTranscriber, + FallbackXaiTranscriberLanguage, + FallbackXaiTranscriberModel, + FallbackXaiVoice, + FallbackXaiVoiceLanguage, + FallbackXaiVoiceVoiceId, File, FileObject, FileStatus, @@ -1923,13 +2401,18 @@ GeneratedScenario, GeneratedScenarioCategory, GetChatPaginatedDto, + GetChatPaginatedDtoSortBy, GetChatPaginatedDtoSortOrder, GetEvalPaginatedDto, + GetEvalPaginatedDtoSortBy, GetEvalPaginatedDtoSortOrder, GetEvalRunPaginatedDto, + GetEvalRunPaginatedDtoSortBy, GetEvalRunPaginatedDtoSortOrder, GetSessionPaginatedDto, + GetSessionPaginatedDtoSortBy, GetSessionPaginatedDtoSortOrder, + GetToolDraftsDto, GhlTool, GhlToolMessagesItem, GhlToolMessagesItem_RequestComplete, @@ -1952,7 +2435,7 @@ GladiaTranscriber, GladiaTranscriberLanguage, GladiaTranscriberLanguageBehaviour, - GladiaTranscriberLanguages, + GladiaTranscriberLanguagesItem, GladiaTranscriberModel, GladiaTranscriberRegion, GladiaVocabularyItemDto, @@ -2130,6 +2613,7 @@ HandoffDestinationAssistantContextEngineeringPlan_All, HandoffDestinationAssistantContextEngineeringPlan_LastNMessages, HandoffDestinationAssistantContextEngineeringPlan_None, + HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages, HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages, HandoffDestinationAssistantType, HandoffDestinationDynamic, @@ -2138,6 +2622,7 @@ HandoffDestinationSquadContextEngineeringPlan_All, HandoffDestinationSquadContextEngineeringPlan_LastNMessages, HandoffDestinationSquadContextEngineeringPlan_None, + HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages, HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages, HandoffTool, HandoffToolDestinationsItem, @@ -2212,6 +2697,7 @@ InsightType, InviteUserDto, InviteUserDtoRole, + InviteUserDtoRoleZero, InvoicePlan, InworldCredential, InworldCredentialProvider, @@ -2259,6 +2745,8 @@ LangfuseObservabilityPlan, LangfuseObservabilityPlanProvider, LatencyMetrics, + LegacyAssistantVersion, + LegacyAssistantVersionPaginatedResponse, LineInsight, LineInsightFromCallTable, LineInsightFromCallTableGroupBy, @@ -2311,6 +2799,14 @@ MessageAddHookAction, MessageTarget, MessageTargetRole, + MicrosoftCredential, + MicrosoftCredentialProvider, + MicrosoftVoice, + MicrosoftVoiceRole, + MicrosoftVoiceStyle, + MicrosoftVoiceVoiceId, + MinCallDurationCondition, + MinMessagesCondition, MinimaxLlmModel, MinimaxLlmModelModel, MinimaxLlmModelToolsItem, @@ -2356,6 +2852,9 @@ NeuphonicVoiceModel, NodeArtifact, NodeArtifactMessagesItem, + NumberComparatorScorecardMetricCondition, + NumberComparatorScorecardMetricConditionComparator, + NumberComparatorScorecardMetricConditionType, OAuth2AuthenticationPlan, OAuth2AuthenticationPlanType, Oauth2AuthenticationSession, @@ -2370,6 +2869,7 @@ OpenAiModelFallbackModelsItem, OpenAiModelModel, OpenAiModelPromptCacheRetention, + OpenAiModelReasoningEffort, OpenAiModelToolStrictCompatibilityMode, OpenAiModelToolsItem, OpenAiModelToolsItem_ApiRequest, @@ -2445,6 +2945,9 @@ OutputToolMessagesItem_RequestStart, OutputToolType, PaginationMeta, + PaginationMetaSortOrder, + PendingInvitationDto, + PendingInvitationsResponseDto, PerformanceMetrics, PerplexityAiCredential, PerplexityAiCredentialProvider, @@ -2533,6 +3036,7 @@ Recording, RecordingConsent, RecordingConsentPlanStayOnLine, + RecordingConsentPlanStayOnLineFirstMessageMode, RecordingConsentPlanStayOnLineVoice, RecordingConsentPlanStayOnLineVoice_11Labs, RecordingConsentPlanStayOnLineVoice_Azure, @@ -2542,6 +3046,7 @@ RecordingConsentPlanStayOnLineVoice_Hume, RecordingConsentPlanStayOnLineVoice_Inworld, RecordingConsentPlanStayOnLineVoice_Lmnt, + RecordingConsentPlanStayOnLineVoice_Microsoft, RecordingConsentPlanStayOnLineVoice_Minimax, RecordingConsentPlanStayOnLineVoice_Neuphonic, RecordingConsentPlanStayOnLineVoice_Openai, @@ -2552,7 +3057,9 @@ RecordingConsentPlanStayOnLineVoice_Tavus, RecordingConsentPlanStayOnLineVoice_Vapi, RecordingConsentPlanStayOnLineVoice_Wellsaid, + RecordingConsentPlanStayOnLineVoice_Xai, RecordingConsentPlanVerbal, + RecordingConsentPlanVerbalFirstMessageMode, RecordingConsentPlanVerbalVoice, RecordingConsentPlanVerbalVoice_11Labs, RecordingConsentPlanVerbalVoice_Azure, @@ -2562,6 +3069,7 @@ RecordingConsentPlanVerbalVoice_Hume, RecordingConsentPlanVerbalVoice_Inworld, RecordingConsentPlanVerbalVoice_Lmnt, + RecordingConsentPlanVerbalVoice_Microsoft, RecordingConsentPlanVerbalVoice_Minimax, RecordingConsentPlanVerbalVoice_Neuphonic, RecordingConsentPlanVerbalVoice_Openai, @@ -2572,6 +3080,8 @@ RecordingConsentPlanVerbalVoice_Tavus, RecordingConsentPlanVerbalVoice_Vapi, RecordingConsentPlanVerbalVoice_Wellsaid, + RecordingConsentPlanVerbalVoice_Xai, + RecordingConsentType, RegexCondition, RegexOption, RegexOptionType, @@ -2612,6 +3122,7 @@ ResponseTextDeltaEventType, ResponseTextDoneEvent, ResponseTextDoneEventType, + RevokeInvitationResponseDto, RimeAiCredential, RimeAiCredentialProvider, RimeAiVoice, @@ -2621,10 +3132,14 @@ RimeAiVoiceModel, RunpodCredential, RunpodCredentialProvider, + S3CompatibleBucketPlan, + S3CompatibleStorageCredential, + S3CompatibleStorageCredentialProvider, S3Credential, S3CredentialProvider, SayAssistantHookAction, SayHookAction, + SayHookActionExact, SayHookActionPrompt, SayHookActionPromptOneItem, SayPhoneNumberHookAction, @@ -2637,6 +3152,7 @@ SchedulePlan, Scorecard, ScorecardMetric, + ScorecardMetricConditionsItem, ScorecardPaginatedResponse, SecurityFilterBase, SecurityFilterPlan, @@ -2688,6 +3204,14 @@ ServerMessageCallEndpointingRequestPhoneNumber_Vapi, ServerMessageCallEndpointingRequestPhoneNumber_Vonage, ServerMessageCallEndpointingRequestType, + ServerMessageCampaignPredial, + ServerMessageCampaignPredialPhoneNumber, + ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber, + ServerMessageCampaignPredialPhoneNumber_Telnyx, + ServerMessageCampaignPredialPhoneNumber_Twilio, + ServerMessageCampaignPredialPhoneNumber_Vapi, + ServerMessageCampaignPredialPhoneNumber_Vonage, + ServerMessageCampaignPredialType, ServerMessageChatCreated, ServerMessageChatCreatedPhoneNumber, ServerMessageChatCreatedPhoneNumber_ByoPhoneNumber, @@ -2794,6 +3318,7 @@ ServerMessageResponseAssistantRequestDestination_Number, ServerMessageResponseAssistantRequestDestination_Sip, ServerMessageResponseCallEndpointingRequest, + ServerMessageResponseCampaignPredial, ServerMessageResponseHandoffDestinationRequest, ServerMessageResponseKnowledgeBaseRequest, ServerMessageResponseMessageResponse, @@ -2975,6 +3500,8 @@ SimulationRunTransportConfiguration, SimulationRunTransportConfigurationProvider, SimulationSuite, + SimulationSuiteTargetAssignment, + SimulationSuiteTargetAssignmentTargetType, SipAuthentication, SipRequestTool, SipRequestToolBody, @@ -2988,6 +3515,11 @@ SipTrunkGatewayOutboundProtocol, SipTrunkOutboundAuthenticationPlan, SipTrunkOutboundSipRegisterPlan, + SkippedStructuredOutput, + SkippedStructuredOutputUnmetCondition, + SkippedStructuredOutputUnmetCondition_EndedReason, + SkippedStructuredOutputUnmetCondition_MinCallDuration, + SkippedStructuredOutputUnmetCondition_MinMessages, SlackOAuth2AuthorizationCredential, SlackOAuth2AuthorizationCredentialProvider, SlackSendMessageTool, @@ -3011,10 +3543,12 @@ SmsToolMessagesItem_RequestFailed, SmsToolMessagesItem_RequestResponseDelayed, SmsToolMessagesItem_RequestStart, + SonioxContextGeneralItem, SonioxCredential, SonioxCredentialProvider, SonioxTranscriber, SonioxTranscriberLanguage, + SonioxTranscriberLanguagesItem, SonioxTranscriberModel, SpeechmaticsCredential, SpeechmaticsCredentialProvider, @@ -3045,6 +3579,10 @@ StructuredDataMultiPlan, StructuredDataPlan, StructuredOutput, + StructuredOutputConditionsItem, + StructuredOutputConditionsItem_EndedReason, + StructuredOutputConditionsItem_MinCallDuration, + StructuredOutputConditionsItem_MinMessages, StructuredOutputEvaluationResult, StructuredOutputEvaluationResultComparator, StructuredOutputEvaluationResultExpectedValue, @@ -3057,6 +3595,10 @@ StructuredOutputModel_Google, StructuredOutputModel_Openai, StructuredOutputPaginatedResponse, + StructuredOutputRerunResponse, + StructuredOutputRunPreviewResponse, + StructuredOutputRunResult, + StructuredOutputRunResultResult, StructuredOutputType, Subscription, SubscriptionLimits, @@ -3091,6 +3633,8 @@ TelnyxPhoneNumberHooksItem_CallEnding, TelnyxPhoneNumberHooksItem_CallRinging, TelnyxPhoneNumberStatus, + TelnyxTransport, + TelnyxTransportConversationType, Template, TemplateDetails, TemplateDetails_ApiRequest, @@ -3240,11 +3784,28 @@ ToolCallMessage, ToolCallResult, ToolCallResultMessage, + ToolCallResultMessageWarning, + ToolCallResultMessageWarningType, + ToolCallResultMessage_RequestComplete, + ToolCallResultMessage_RequestFailed, + ToolDraft, + ToolDraftConflictResponseDto, + ToolDraftMessagesItem, + ToolDraftMessagesItem_RequestComplete, + ToolDraftMessagesItem_RequestFailed, + ToolDraftMessagesItem_RequestResponseDelayed, + ToolDraftMessagesItem_RequestStart, + ToolDraftMethod, + ToolDraftPaginatedMetadata, + ToolDraftPaginatedResponse, + ToolDraftType, + ToolDraftVerb, ToolMessage, ToolMessageComplete, ToolMessageCompleteRole, ToolMessageDelayed, ToolMessageFailed, + ToolMessageFailedRole, ToolMessageRole, ToolMessageStart, ToolNode, @@ -3274,6 +3835,9 @@ ToolNodeTool_Voicemail, ToolParameter, ToolParameterValue, + ToolPinnedConflictResponseDto, + ToolPinnedConflictResponseDtoError, + ToolRef, ToolRejectionPlan, ToolRejectionPlanConditionsItem, ToolRejectionPlanConditionsItem_Group, @@ -3281,9 +3845,19 @@ ToolRejectionPlanConditionsItem_Regex, ToolTemplateMetadata, ToolTemplateSetup, + ToolVersion, + ToolVersionPaginatedMetadata, + ToolVersionPaginatedResponse, TranscriberCost, TranscriptPlan, TranscriptionEndpointingPlan, + TransferArtifact, + TransferArtifactDestination, + TransferArtifactDestination_Number, + TransferArtifactDestination_Sip, + TransferArtifactMessagesItem, + TransferArtifactMode, + TransferArtifactStatus, TransferAssistant, TransferAssistantBackgroundSound, TransferAssistantBackgroundSoundZero, @@ -3304,6 +3878,8 @@ TransferAssistantTranscriber_Soniox, TransferAssistantTranscriber_Speechmatics, TransferAssistantTranscriber_Talkscriber, + TransferAssistantTranscriber_Vapi, + TransferAssistantTranscriber_Xai, TransferAssistantVoice, TransferAssistantVoice_11Labs, TransferAssistantVoice_Azure, @@ -3313,6 +3889,7 @@ TransferAssistantVoice_Hume, TransferAssistantVoice_Inworld, TransferAssistantVoice_Lmnt, + TransferAssistantVoice_Microsoft, TransferAssistantVoice_Minimax, TransferAssistantVoice_Neuphonic, TransferAssistantVoice_Openai, @@ -3323,6 +3900,7 @@ TransferAssistantVoice_Tavus, TransferAssistantVoice_Vapi, TransferAssistantVoice_Wellsaid, + TransferAssistantVoice_Xai, TransferCallTool, TransferCallToolDestinationsItem, TransferCallToolDestinationsItem_Assistant, @@ -3378,17 +3956,8 @@ TransportConfigurationTwilioRecordingChannels, TransportCost, TransportCostProvider, - TrieveCredential, - TrieveCredentialProvider, TrieveKnowledgeBase, - TrieveKnowledgeBaseChunkPlan, - TrieveKnowledgeBaseCreate, - TrieveKnowledgeBaseCreateType, TrieveKnowledgeBaseImport, - TrieveKnowledgeBaseImportType, - TrieveKnowledgeBaseProvider, - TrieveKnowledgeBaseSearchPlan, - TrieveKnowledgeBaseSearchPlanSearchType, TurnLatency, TwilioCredential, TwilioCredentialProvider, @@ -3403,6 +3972,8 @@ TwilioSmsChatTransport, TwilioSmsChatTransportConversationType, TwilioSmsChatTransportType, + TwilioTransport, + TwilioTransportConversationType, TwilioTransportMessage, TwilioVoicemailDetectionPlan, TwilioVoicemailDetectionPlanProvider, @@ -3411,9 +3982,12 @@ UpdateAnthropicBedrockCredentialDtoAuthenticationPlan, UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam, UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts, + UpdateAnthropicBedrockCredentialDtoProvider, UpdateAnthropicBedrockCredentialDtoRegion, UpdateAnthropicCredentialDto, + UpdateAnthropicCredentialDtoProvider, UpdateAnyscaleCredentialDto, + UpdateAnyscaleCredentialDtoProvider, UpdateApiRequestToolDto, UpdateApiRequestToolDtoMessagesItem, UpdateApiRequestToolDtoMessagesItem_RequestComplete, @@ -3422,11 +3996,136 @@ UpdateApiRequestToolDtoMessagesItem_RequestStart, UpdateApiRequestToolDtoMethod, UpdateAssemblyAiCredentialDto, + UpdateAssemblyAiCredentialDtoProvider, + UpdateAssistantDraftDto, + UpdateAssistantDraftDtoBackgroundSound, + UpdateAssistantDraftDtoBackgroundSoundZero, + UpdateAssistantDraftDtoClientMessagesItem, + UpdateAssistantDraftDtoCredentialsItem, + UpdateAssistantDraftDtoCredentialsItem_11Labs, + UpdateAssistantDraftDtoCredentialsItem_Anthropic, + UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + UpdateAssistantDraftDtoCredentialsItem_Anyscale, + UpdateAssistantDraftDtoCredentialsItem_AssemblyAi, + UpdateAssistantDraftDtoCredentialsItem_Azure, + UpdateAssistantDraftDtoCredentialsItem_AzureOpenai, + UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + UpdateAssistantDraftDtoCredentialsItem_Cartesia, + UpdateAssistantDraftDtoCredentialsItem_Cerebras, + UpdateAssistantDraftDtoCredentialsItem_Cloudflare, + UpdateAssistantDraftDtoCredentialsItem_CustomCredential, + UpdateAssistantDraftDtoCredentialsItem_CustomLlm, + UpdateAssistantDraftDtoCredentialsItem_DeepSeek, + UpdateAssistantDraftDtoCredentialsItem_Deepgram, + UpdateAssistantDraftDtoCredentialsItem_Deepinfra, + UpdateAssistantDraftDtoCredentialsItem_Email, + UpdateAssistantDraftDtoCredentialsItem_Gcp, + UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_Gladia, + UpdateAssistantDraftDtoCredentialsItem_Gohighlevel, + UpdateAssistantDraftDtoCredentialsItem_Google, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_Groq, + UpdateAssistantDraftDtoCredentialsItem_Hume, + UpdateAssistantDraftDtoCredentialsItem_InflectionAi, + UpdateAssistantDraftDtoCredentialsItem_Inworld, + UpdateAssistantDraftDtoCredentialsItem_Langfuse, + UpdateAssistantDraftDtoCredentialsItem_Lmnt, + UpdateAssistantDraftDtoCredentialsItem_Make, + UpdateAssistantDraftDtoCredentialsItem_Microsoft, + UpdateAssistantDraftDtoCredentialsItem_Minimax, + UpdateAssistantDraftDtoCredentialsItem_Mistral, + UpdateAssistantDraftDtoCredentialsItem_Neuphonic, + UpdateAssistantDraftDtoCredentialsItem_Openai, + UpdateAssistantDraftDtoCredentialsItem_Openrouter, + UpdateAssistantDraftDtoCredentialsItem_PerplexityAi, + UpdateAssistantDraftDtoCredentialsItem_Playht, + UpdateAssistantDraftDtoCredentialsItem_RimeAi, + UpdateAssistantDraftDtoCredentialsItem_Runpod, + UpdateAssistantDraftDtoCredentialsItem_S3, + UpdateAssistantDraftDtoCredentialsItem_S3Compatible, + UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_SlackWebhook, + UpdateAssistantDraftDtoCredentialsItem_SmallestAi, + UpdateAssistantDraftDtoCredentialsItem_Soniox, + UpdateAssistantDraftDtoCredentialsItem_Speechmatics, + UpdateAssistantDraftDtoCredentialsItem_Supabase, + UpdateAssistantDraftDtoCredentialsItem_Tavus, + UpdateAssistantDraftDtoCredentialsItem_TogetherAi, + UpdateAssistantDraftDtoCredentialsItem_Twilio, + UpdateAssistantDraftDtoCredentialsItem_Vonage, + UpdateAssistantDraftDtoCredentialsItem_Webhook, + UpdateAssistantDraftDtoCredentialsItem_Wellsaid, + UpdateAssistantDraftDtoCredentialsItem_Xai, + UpdateAssistantDraftDtoFirstMessageMode, + UpdateAssistantDraftDtoHooksItem, + UpdateAssistantDraftDtoModel, + UpdateAssistantDraftDtoModel_Anthropic, + UpdateAssistantDraftDtoModel_AnthropicBedrock, + UpdateAssistantDraftDtoModel_Anyscale, + UpdateAssistantDraftDtoModel_Cerebras, + UpdateAssistantDraftDtoModel_CustomLlm, + UpdateAssistantDraftDtoModel_DeepSeek, + UpdateAssistantDraftDtoModel_Deepinfra, + UpdateAssistantDraftDtoModel_Google, + UpdateAssistantDraftDtoModel_Groq, + UpdateAssistantDraftDtoModel_InflectionAi, + UpdateAssistantDraftDtoModel_Minimax, + UpdateAssistantDraftDtoModel_Openai, + UpdateAssistantDraftDtoModel_Openrouter, + UpdateAssistantDraftDtoModel_PerplexityAi, + UpdateAssistantDraftDtoModel_TogetherAi, + UpdateAssistantDraftDtoModel_Vapi, + UpdateAssistantDraftDtoModel_Xai, + UpdateAssistantDraftDtoServerMessagesItem, + UpdateAssistantDraftDtoTranscriber, + UpdateAssistantDraftDtoTranscriber_11Labs, + UpdateAssistantDraftDtoTranscriber_AssemblyAi, + UpdateAssistantDraftDtoTranscriber_Azure, + UpdateAssistantDraftDtoTranscriber_Cartesia, + UpdateAssistantDraftDtoTranscriber_CustomTranscriber, + UpdateAssistantDraftDtoTranscriber_Deepgram, + UpdateAssistantDraftDtoTranscriber_Gladia, + UpdateAssistantDraftDtoTranscriber_Google, + UpdateAssistantDraftDtoTranscriber_Openai, + UpdateAssistantDraftDtoTranscriber_Soniox, + UpdateAssistantDraftDtoTranscriber_Speechmatics, + UpdateAssistantDraftDtoTranscriber_Talkscriber, + UpdateAssistantDraftDtoTranscriber_Vapi, + UpdateAssistantDraftDtoTranscriber_Xai, + UpdateAssistantDraftDtoVoice, + UpdateAssistantDraftDtoVoice_11Labs, + UpdateAssistantDraftDtoVoice_Azure, + UpdateAssistantDraftDtoVoice_Cartesia, + UpdateAssistantDraftDtoVoice_CustomVoice, + UpdateAssistantDraftDtoVoice_Deepgram, + UpdateAssistantDraftDtoVoice_Hume, + UpdateAssistantDraftDtoVoice_Inworld, + UpdateAssistantDraftDtoVoice_Lmnt, + UpdateAssistantDraftDtoVoice_Microsoft, + UpdateAssistantDraftDtoVoice_Minimax, + UpdateAssistantDraftDtoVoice_Neuphonic, + UpdateAssistantDraftDtoVoice_Openai, + UpdateAssistantDraftDtoVoice_Playht, + UpdateAssistantDraftDtoVoice_RimeAi, + UpdateAssistantDraftDtoVoice_Sesame, + UpdateAssistantDraftDtoVoice_SmallestAi, + UpdateAssistantDraftDtoVoice_Tavus, + UpdateAssistantDraftDtoVoice_Vapi, + UpdateAssistantDraftDtoVoice_Wellsaid, + UpdateAssistantDraftDtoVoice_Xai, + UpdateAssistantDraftDtoVoicemailDetection, + UpdateAssistantDraftDtoVoicemailDetectionZero, + UpdateAssistantVersionMetadataDto, UpdateAzureCredentialDto, + UpdateAzureCredentialDtoProvider, UpdateAzureCredentialDtoRegion, UpdateAzureCredentialDtoService, UpdateAzureOpenAiCredentialDto, UpdateAzureOpenAiCredentialDtoModelsItem, + UpdateAzureOpenAiCredentialDtoProvider, UpdateAzureOpenAiCredentialDtoRegion, UpdateBarInsightFromCallTableDto, UpdateBarInsightFromCallTableDtoGroupBy, @@ -3447,15 +4146,22 @@ UpdateByoPhoneNumberDtoHooksItem_CallEnding, UpdateByoPhoneNumberDtoHooksItem_CallRinging, UpdateByoSipTrunkCredentialDto, + UpdateByoSipTrunkCredentialDtoProvider, + UpdateCampaignDto, + UpdateCampaignDtoStatus, UpdateCartesiaCredentialDto, + UpdateCartesiaCredentialDtoProvider, UpdateCerebrasCredentialDto, + UpdateCerebrasCredentialDtoProvider, UpdateCloudflareCredentialDto, + UpdateCloudflareCredentialDtoProvider, UpdateCodeToolDto, UpdateCodeToolDtoMessagesItem, UpdateCodeToolDtoMessagesItem_RequestComplete, UpdateCodeToolDtoMessagesItem_RequestFailed, UpdateCodeToolDtoMessagesItem_RequestResponseDelayed, UpdateCodeToolDtoMessagesItem_RequestStart, + UpdateCodeToolDtoType, UpdateComputerToolDto, UpdateComputerToolDtoMessagesItem, UpdateComputerToolDtoMessagesItem_RequestComplete, @@ -3471,11 +4177,17 @@ UpdateCustomCredentialDtoAuthenticationPlan_Oauth2, UpdateCustomCredentialDtoEncryptionPlan, UpdateCustomCredentialDtoEncryptionPlan_PublicKey, + UpdateCustomCredentialDtoProvider, UpdateCustomKnowledgeBaseDto, + UpdateCustomKnowledgeBaseDtoProvider, UpdateCustomLlmCredentialDto, + UpdateCustomLlmCredentialDtoProvider, UpdateDeepInfraCredentialDto, + UpdateDeepInfraCredentialDtoProvider, UpdateDeepSeekCredentialDto, + UpdateDeepSeekCredentialDtoProvider, UpdateDeepgramCredentialDto, + UpdateDeepgramCredentialDtoProvider, UpdateDtmfToolDto, UpdateDtmfToolDtoMessagesItem, UpdateDtmfToolDtoMessagesItem_RequestComplete, @@ -3483,7 +4195,9 @@ UpdateDtmfToolDtoMessagesItem_RequestResponseDelayed, UpdateDtmfToolDtoMessagesItem_RequestStart, UpdateElevenLabsCredentialDto, + UpdateElevenLabsCredentialDtoApiUrl, UpdateEmailCredentialDto, + UpdateEmailCredentialDtoProvider, UpdateEndCallToolDto, UpdateEndCallToolDtoMessagesItem, UpdateEndCallToolDtoMessagesItem_RequestComplete, @@ -3497,13 +4211,16 @@ UpdateFunctionToolDtoMessagesItem_RequestResponseDelayed, UpdateFunctionToolDtoMessagesItem_RequestStart, UpdateGcpCredentialDto, + UpdateGcpCredentialDtoProvider, UpdateGhlToolDto, UpdateGhlToolDtoMessagesItem, UpdateGhlToolDtoMessagesItem_RequestComplete, UpdateGhlToolDtoMessagesItem_RequestFailed, UpdateGhlToolDtoMessagesItem_RequestResponseDelayed, UpdateGhlToolDtoMessagesItem_RequestStart, + UpdateGhlToolDtoType, UpdateGladiaCredentialDto, + UpdateGladiaCredentialDtoProvider, UpdateGoHighLevelCalendarAvailabilityToolDto, UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem, UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestComplete, @@ -3529,7 +4246,9 @@ UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestResponseDelayed, UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart, UpdateGoHighLevelCredentialDto, + UpdateGoHighLevelCredentialDtoProvider, UpdateGoHighLevelMcpCredentialDto, + UpdateGoHighLevelMcpCredentialDtoProvider, UpdateGoogleCalendarCheckAvailabilityToolDto, UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem, UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestComplete, @@ -3543,9 +4262,13 @@ UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestResponseDelayed, UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart, UpdateGoogleCalendarOAuth2AuthorizationCredentialDto, + UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider, UpdateGoogleCalendarOAuth2ClientCredentialDto, + UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider, UpdateGoogleCredentialDto, + UpdateGoogleCredentialDtoProvider, UpdateGoogleSheetsOAuth2AuthorizationCredentialDto, + UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider, UpdateGoogleSheetsRowAppendToolDto, UpdateGoogleSheetsRowAppendToolDtoMessagesItem, UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestComplete, @@ -3553,6 +4276,7 @@ UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestResponseDelayed, UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart, UpdateGroqCredentialDto, + UpdateGroqCredentialDtoProvider, UpdateHandoffToolDto, UpdateHandoffToolDtoDestinationsItem, UpdateHandoffToolDtoDestinationsItem_Assistant, @@ -3564,30 +4288,43 @@ UpdateHandoffToolDtoMessagesItem_RequestResponseDelayed, UpdateHandoffToolDtoMessagesItem_RequestStart, UpdateHumeCredentialDto, + UpdateHumeCredentialDtoProvider, UpdateInflectionAiCredentialDto, + UpdateInflectionAiCredentialDtoProvider, UpdateInworldCredentialDto, + UpdateInworldCredentialDtoProvider, UpdateLangfuseCredentialDto, + UpdateLangfuseCredentialDtoProvider, UpdateLineInsightFromCallTableDto, UpdateLineInsightFromCallTableDtoGroupBy, UpdateLineInsightFromCallTableDtoQueriesItem, UpdateLmntCredentialDto, + UpdateLmntCredentialDtoProvider, UpdateMakeCredentialDto, + UpdateMakeCredentialDtoProvider, UpdateMakeToolDto, UpdateMakeToolDtoMessagesItem, UpdateMakeToolDtoMessagesItem_RequestComplete, UpdateMakeToolDtoMessagesItem_RequestFailed, UpdateMakeToolDtoMessagesItem_RequestResponseDelayed, UpdateMakeToolDtoMessagesItem_RequestStart, + UpdateMakeToolDtoType, UpdateMcpToolDto, UpdateMcpToolDtoMessagesItem, UpdateMcpToolDtoMessagesItem_RequestComplete, UpdateMcpToolDtoMessagesItem_RequestFailed, UpdateMcpToolDtoMessagesItem_RequestResponseDelayed, UpdateMcpToolDtoMessagesItem_RequestStart, + UpdateMicrosoftCredentialDto, + UpdateMicrosoftCredentialDtoProvider, UpdateMistralCredentialDto, + UpdateMistralCredentialDtoProvider, UpdateNeuphonicCredentialDto, + UpdateNeuphonicCredentialDtoProvider, UpdateOpenAiCredentialDto, + UpdateOpenAiCredentialDtoProvider, UpdateOpenRouterCredentialDto, + UpdateOpenRouterCredentialDtoProvider, UpdateOrgDto, UpdateOrgDtoChannel, UpdateOutputToolDto, @@ -3596,12 +4333,15 @@ UpdateOutputToolDtoMessagesItem_RequestFailed, UpdateOutputToolDtoMessagesItem_RequestResponseDelayed, UpdateOutputToolDtoMessagesItem_RequestStart, + UpdateOutputToolDtoType, UpdatePerplexityAiCredentialDto, + UpdatePerplexityAiCredentialDtoProvider, UpdatePersonalityDto, UpdatePieInsightFromCallTableDto, UpdatePieInsightFromCallTableDtoGroupBy, UpdatePieInsightFromCallTableDtoQueriesItem, UpdatePlayHtCredentialDto, + UpdatePlayHtCredentialDtoProvider, UpdateQueryToolDto, UpdateQueryToolDtoMessagesItem, UpdateQueryToolDtoMessagesItem_RequestComplete, @@ -3609,8 +4349,14 @@ UpdateQueryToolDtoMessagesItem_RequestResponseDelayed, UpdateQueryToolDtoMessagesItem_RequestStart, UpdateRimeAiCredentialDto, + UpdateRimeAiCredentialDtoProvider, UpdateRunpodCredentialDto, + UpdateRunpodCredentialDtoProvider, + UpdateS3CompatibleBucketPlanDto, + UpdateS3CompatibleCredentialDto, + UpdateS3CompatibleCredentialDtoProvider, UpdateS3CredentialDto, + UpdateS3CredentialDtoProvider, UpdateScenarioDto, UpdateScenarioDtoHooksItem, UpdateScenarioDtoHooksItem_SimulationRunEnded, @@ -3626,6 +4372,7 @@ UpdateSipRequestToolDtoMessagesItem_RequestStart, UpdateSipRequestToolDtoVerb, UpdateSlackOAuth2AuthorizationCredentialDto, + UpdateSlackOAuth2AuthorizationCredentialDtoProvider, UpdateSlackSendMessageToolDto, UpdateSlackSendMessageToolDtoMessagesItem, UpdateSlackSendMessageToolDtoMessagesItem_RequestComplete, @@ -3633,6 +4380,7 @@ UpdateSlackSendMessageToolDtoMessagesItem_RequestResponseDelayed, UpdateSlackSendMessageToolDtoMessagesItem_RequestStart, UpdateSlackWebhookCredentialDto, + UpdateSlackWebhookCredentialDtoProvider, UpdateSmsToolDto, UpdateSmsToolDtoMessagesItem, UpdateSmsToolDtoMessagesItem_RequestComplete, @@ -3640,6 +4388,7 @@ UpdateSmsToolDtoMessagesItem_RequestResponseDelayed, UpdateSmsToolDtoMessagesItem_RequestStart, UpdateSonioxCredentialDto, + UpdateSonioxCredentialDtoProvider, UpdateTelnyxPhoneNumberDto, UpdateTelnyxPhoneNumberDtoFallbackDestination, UpdateTelnyxPhoneNumberDtoFallbackDestination_Number, @@ -3664,8 +4413,18 @@ UpdateTextInsightFromCallTableDto, UpdateTextInsightFromCallTableDtoQueriesItem, UpdateTogetherAiCredentialDto, + UpdateTogetherAiCredentialDtoProvider, UpdateTokenDto, UpdateTokenDtoTag, + UpdateToolDraftDto, + UpdateToolDraftDtoMessagesItem, + UpdateToolDraftDtoMessagesItem_RequestComplete, + UpdateToolDraftDtoMessagesItem_RequestFailed, + UpdateToolDraftDtoMessagesItem_RequestResponseDelayed, + UpdateToolDraftDtoMessagesItem_RequestStart, + UpdateToolDraftDtoMethod, + UpdateToolDraftDtoType, + UpdateToolDraftDtoVerb, UpdateToolTemplateDto, UpdateToolTemplateDtoDetails, UpdateToolTemplateDtoDetails_ApiRequest, @@ -3704,6 +4463,7 @@ UpdateToolTemplateDtoProviderDetails_Make, UpdateToolTemplateDtoType, UpdateToolTemplateDtoVisibility, + UpdateToolVersionMetadataDto, UpdateTransferCallToolDto, UpdateTransferCallToolDtoDestinationsItem, UpdateTransferCallToolDtoDestinationsItem_Assistant, @@ -3714,9 +4474,9 @@ UpdateTransferCallToolDtoMessagesItem_RequestFailed, UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed, UpdateTransferCallToolDtoMessagesItem_RequestStart, - UpdateTrieveCredentialDto, UpdateTrieveKnowledgeBaseDto, UpdateTwilioCredentialDto, + UpdateTwilioCredentialDtoProvider, UpdateTwilioPhoneNumberDto, UpdateTwilioPhoneNumberDtoFallbackDestination, UpdateTwilioPhoneNumberDtoFallbackDestination_Number, @@ -3726,6 +4486,7 @@ UpdateTwilioPhoneNumberDtoHooksItem_CallRinging, UpdateUserRoleDto, UpdateUserRoleDtoRole, + UpdateUserRoleDtoRoleZero, UpdateVapiPhoneNumberDto, UpdateVapiPhoneNumberDtoFallbackDestination, UpdateVapiPhoneNumberDtoFallbackDestination_Number, @@ -3740,6 +4501,7 @@ UpdateVoicemailToolDtoMessagesItem_RequestResponseDelayed, UpdateVoicemailToolDtoMessagesItem_RequestStart, UpdateVonageCredentialDto, + UpdateVonageCredentialDtoProvider, UpdateVonagePhoneNumberDto, UpdateVonagePhoneNumberDtoFallbackDestination, UpdateVonagePhoneNumberDtoFallbackDestination_Number, @@ -3752,7 +4514,9 @@ UpdateWebhookCredentialDtoAuthenticationPlan_Bearer, UpdateWebhookCredentialDtoAuthenticationPlan_Hmac, UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2, + UpdateWebhookCredentialDtoProvider, UpdateWellSaidCredentialDto, + UpdateWellSaidCredentialDtoProvider, UpdateWorkflowDto, UpdateWorkflowDtoBackgroundSound, UpdateWorkflowDtoBackgroundSoundZero, @@ -3789,6 +4553,7 @@ UpdateWorkflowDtoCredentialsItem_Langfuse, UpdateWorkflowDtoCredentialsItem_Lmnt, UpdateWorkflowDtoCredentialsItem_Make, + UpdateWorkflowDtoCredentialsItem_Microsoft, UpdateWorkflowDtoCredentialsItem_Minimax, UpdateWorkflowDtoCredentialsItem_Mistral, UpdateWorkflowDtoCredentialsItem_Neuphonic, @@ -3799,6 +4564,7 @@ UpdateWorkflowDtoCredentialsItem_RimeAi, UpdateWorkflowDtoCredentialsItem_Runpod, UpdateWorkflowDtoCredentialsItem_S3, + UpdateWorkflowDtoCredentialsItem_S3Compatible, UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization, UpdateWorkflowDtoCredentialsItem_SlackWebhook, UpdateWorkflowDtoCredentialsItem_SmallestAi, @@ -3807,7 +4573,6 @@ UpdateWorkflowDtoCredentialsItem_Supabase, UpdateWorkflowDtoCredentialsItem_Tavus, UpdateWorkflowDtoCredentialsItem_TogetherAi, - UpdateWorkflowDtoCredentialsItem_Trieve, UpdateWorkflowDtoCredentialsItem_Twilio, UpdateWorkflowDtoCredentialsItem_Vonage, UpdateWorkflowDtoCredentialsItem_Webhook, @@ -3836,6 +4601,8 @@ UpdateWorkflowDtoTranscriber_Soniox, UpdateWorkflowDtoTranscriber_Speechmatics, UpdateWorkflowDtoTranscriber_Talkscriber, + UpdateWorkflowDtoTranscriber_Vapi, + UpdateWorkflowDtoTranscriber_Xai, UpdateWorkflowDtoVoice, UpdateWorkflowDtoVoice_11Labs, UpdateWorkflowDtoVoice_Azure, @@ -3845,6 +4612,7 @@ UpdateWorkflowDtoVoice_Hume, UpdateWorkflowDtoVoice_Inworld, UpdateWorkflowDtoVoice_Lmnt, + UpdateWorkflowDtoVoice_Microsoft, UpdateWorkflowDtoVoice_Minimax, UpdateWorkflowDtoVoice_Neuphonic, UpdateWorkflowDtoVoice_Openai, @@ -3855,15 +4623,16 @@ UpdateWorkflowDtoVoice_Tavus, UpdateWorkflowDtoVoice_Vapi, UpdateWorkflowDtoVoice_Wellsaid, + UpdateWorkflowDtoVoice_Xai, UpdateWorkflowDtoVoicemailDetection, UpdateWorkflowDtoVoicemailDetectionZero, UpdateXAiCredentialDto, + UpdateXAiCredentialDtoProvider, User, UserMessage, VapiCost, VapiCostSubType, VapiModel, - VapiModelProvider, VapiModelToolsItem, VapiModelToolsItem_ApiRequest, VapiModelToolsItem_Bash, @@ -3888,6 +4657,7 @@ VapiModelToolsItem_TextEditor, VapiModelToolsItem_TransferCall, VapiModelToolsItem_Voicemail, + VapiModelVersion, VapiPhoneNumber, VapiPhoneNumberFallbackDestination, VapiPhoneNumberFallbackDestination_Number, @@ -3897,22 +4667,40 @@ VapiPhoneNumberHooksItem_CallRinging, VapiPhoneNumberStatus, VapiPronunciationDictionaryLocator, + VapiSipTransport, + VapiSipTransportConversationType, VapiSipTransportMessage, VapiSipTransportMessageSipVerb, VapiSmartEndpointingPlan, VapiSmartEndpointingPlanProvider, + VapiTranscriber, + VapiTranscriberLanguage, + VapiTranscriberLanguagesItem, + VapiTranscriberTurnTaking, + VapiTranscriberVersion, VapiVoice, + VapiVoiceLanguage, + VapiVoiceVersion, VapiVoiceVoiceId, VapiVoicemailDetectionPlan, VapiVoicemailDetectionPlanProvider, VapiVoicemailDetectionPlanType, + VapiWebCallTransport, + VapiWebCallTransportConversationType, + VapiWebsocketTransport, + VapiWebsocketTransportConversationType, VariableExtractionAlias, VariableExtractionPlan, VariableValueGroupBy, + VersionPinConflictResponseDto, + VersionPinConflictResponseDtoError, + VersionPinReference, + VersionPinReferenceSourceType, VoiceCost, VoiceLibrary, VoiceLibraryGender, VoiceLibraryVoiceResponse, + VoiceLibraryVoiceResponseAge, VoicemailDetectionBackoffPlan, VoicemailDetectionCost, VoicemailDetectionCostProvider, @@ -3932,6 +4720,8 @@ VonagePhoneNumberHooksItem_CallEnding, VonagePhoneNumberHooksItem_CallRinging, VonagePhoneNumberStatus, + VonageTransport, + VonageTransportConversationType, WebChat, WebChatOutputItem, WebhookCredential, @@ -3984,6 +4774,7 @@ WorkflowCredentialsItem_Langfuse, WorkflowCredentialsItem_Lmnt, WorkflowCredentialsItem_Make, + WorkflowCredentialsItem_Microsoft, WorkflowCredentialsItem_Minimax, WorkflowCredentialsItem_Mistral, WorkflowCredentialsItem_Neuphonic, @@ -3994,6 +4785,7 @@ WorkflowCredentialsItem_RimeAi, WorkflowCredentialsItem_Runpod, WorkflowCredentialsItem_S3, + WorkflowCredentialsItem_S3Compatible, WorkflowCredentialsItem_SlackOauth2Authorization, WorkflowCredentialsItem_SlackWebhook, WorkflowCredentialsItem_SmallestAi, @@ -4002,7 +4794,6 @@ WorkflowCredentialsItem_Supabase, WorkflowCredentialsItem_Tavus, WorkflowCredentialsItem_TogetherAi, - WorkflowCredentialsItem_Trieve, WorkflowCredentialsItem_Twilio, WorkflowCredentialsItem_Vonage, WorkflowCredentialsItem_Webhook, @@ -4038,6 +4829,8 @@ WorkflowTranscriber_Soniox, WorkflowTranscriber_Speechmatics, WorkflowTranscriber_Talkscriber, + WorkflowTranscriber_Vapi, + WorkflowTranscriber_Xai, WorkflowUserEditable, WorkflowUserEditableBackgroundSound, WorkflowUserEditableBackgroundSoundZero, @@ -4074,6 +4867,7 @@ WorkflowUserEditableCredentialsItem_Langfuse, WorkflowUserEditableCredentialsItem_Lmnt, WorkflowUserEditableCredentialsItem_Make, + WorkflowUserEditableCredentialsItem_Microsoft, WorkflowUserEditableCredentialsItem_Minimax, WorkflowUserEditableCredentialsItem_Mistral, WorkflowUserEditableCredentialsItem_Neuphonic, @@ -4084,6 +4878,7 @@ WorkflowUserEditableCredentialsItem_RimeAi, WorkflowUserEditableCredentialsItem_Runpod, WorkflowUserEditableCredentialsItem_S3, + WorkflowUserEditableCredentialsItem_S3Compatible, WorkflowUserEditableCredentialsItem_SlackOauth2Authorization, WorkflowUserEditableCredentialsItem_SlackWebhook, WorkflowUserEditableCredentialsItem_SmallestAi, @@ -4092,7 +4887,6 @@ WorkflowUserEditableCredentialsItem_Supabase, WorkflowUserEditableCredentialsItem_Tavus, WorkflowUserEditableCredentialsItem_TogetherAi, - WorkflowUserEditableCredentialsItem_Trieve, WorkflowUserEditableCredentialsItem_Twilio, WorkflowUserEditableCredentialsItem_Vonage, WorkflowUserEditableCredentialsItem_Webhook, @@ -4121,6 +4915,8 @@ WorkflowUserEditableTranscriber_Soniox, WorkflowUserEditableTranscriber_Speechmatics, WorkflowUserEditableTranscriber_Talkscriber, + WorkflowUserEditableTranscriber_Vapi, + WorkflowUserEditableTranscriber_Xai, WorkflowUserEditableVoice, WorkflowUserEditableVoice_11Labs, WorkflowUserEditableVoice_Azure, @@ -4130,6 +4926,7 @@ WorkflowUserEditableVoice_Hume, WorkflowUserEditableVoice_Inworld, WorkflowUserEditableVoice_Lmnt, + WorkflowUserEditableVoice_Microsoft, WorkflowUserEditableVoice_Minimax, WorkflowUserEditableVoice_Neuphonic, WorkflowUserEditableVoice_Openai, @@ -4140,6 +4937,7 @@ WorkflowUserEditableVoice_Tavus, WorkflowUserEditableVoice_Vapi, WorkflowUserEditableVoice_Wellsaid, + WorkflowUserEditableVoice_Xai, WorkflowUserEditableVoicemailDetection, WorkflowUserEditableVoicemailDetectionZero, WorkflowVoice, @@ -4151,6 +4949,7 @@ WorkflowVoice_Hume, WorkflowVoice_Inworld, WorkflowVoice_Lmnt, + WorkflowVoice_Microsoft, WorkflowVoice_Minimax, WorkflowVoice_Neuphonic, WorkflowVoice_Openai, @@ -4161,6 +4960,7 @@ WorkflowVoice_Tavus, WorkflowVoice_Vapi, WorkflowVoice_Wellsaid, + WorkflowVoice_Xai, WorkflowVoicemailDetection, WorkflowVoicemailDetectionZero, XAiCredential, @@ -4191,13 +4991,20 @@ XaiModelToolsItem_TextEditor, XaiModelToolsItem_TransferCall, XaiModelToolsItem_Voicemail, + XaiTranscriber, + XaiTranscriberLanguage, + XaiTranscriberModel, + XaiVoice, + XaiVoiceLanguage, + XaiVoiceVoiceId, XssSecurityFilter, XssSecurityFilterType, ) - from .errors import BadRequestError, NotFoundError + from .errors import BadRequestError, ConflictError, NotFoundError, ServiceUnavailableError, UnauthorizedError from . import ( analytics, assistants, + board, calls, campaigns, chats, @@ -4250,6 +5057,7 @@ UpdateAssistantDtoCredentialsItem_Langfuse, UpdateAssistantDtoCredentialsItem_Lmnt, UpdateAssistantDtoCredentialsItem_Make, + UpdateAssistantDtoCredentialsItem_Microsoft, UpdateAssistantDtoCredentialsItem_Minimax, UpdateAssistantDtoCredentialsItem_Mistral, UpdateAssistantDtoCredentialsItem_Neuphonic, @@ -4260,6 +5068,7 @@ UpdateAssistantDtoCredentialsItem_RimeAi, UpdateAssistantDtoCredentialsItem_Runpod, UpdateAssistantDtoCredentialsItem_S3, + UpdateAssistantDtoCredentialsItem_S3Compatible, UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization, UpdateAssistantDtoCredentialsItem_SlackWebhook, UpdateAssistantDtoCredentialsItem_SmallestAi, @@ -4268,7 +5077,6 @@ UpdateAssistantDtoCredentialsItem_Supabase, UpdateAssistantDtoCredentialsItem_Tavus, UpdateAssistantDtoCredentialsItem_TogetherAi, - UpdateAssistantDtoCredentialsItem_Trieve, UpdateAssistantDtoCredentialsItem_Twilio, UpdateAssistantDtoCredentialsItem_Vonage, UpdateAssistantDtoCredentialsItem_Webhook, @@ -4292,6 +5100,7 @@ UpdateAssistantDtoModel_Openrouter, UpdateAssistantDtoModel_PerplexityAi, UpdateAssistantDtoModel_TogetherAi, + UpdateAssistantDtoModel_Vapi, UpdateAssistantDtoModel_Xai, UpdateAssistantDtoServerMessagesItem, UpdateAssistantDtoTranscriber, @@ -4307,6 +5116,8 @@ UpdateAssistantDtoTranscriber_Soniox, UpdateAssistantDtoTranscriber_Speechmatics, UpdateAssistantDtoTranscriber_Talkscriber, + UpdateAssistantDtoTranscriber_Vapi, + UpdateAssistantDtoTranscriber_Xai, UpdateAssistantDtoVoice, UpdateAssistantDtoVoice_11Labs, UpdateAssistantDtoVoice_Azure, @@ -4316,6 +5127,7 @@ UpdateAssistantDtoVoice_Hume, UpdateAssistantDtoVoice_Inworld, UpdateAssistantDtoVoice_Lmnt, + UpdateAssistantDtoVoice_Microsoft, UpdateAssistantDtoVoice_Minimax, UpdateAssistantDtoVoice_Neuphonic, UpdateAssistantDtoVoice_Openai, @@ -4326,20 +5138,40 @@ UpdateAssistantDtoVoice_Tavus, UpdateAssistantDtoVoice_Vapi, UpdateAssistantDtoVoice_Wellsaid, + UpdateAssistantDtoVoice_Xai, UpdateAssistantDtoVoicemailDetection, UpdateAssistantDtoVoicemailDetectionZero, ) - from .calls import CreateCallsResponse + from .board import ( + BoardControllerFindAllRequestSortBy, + BoardControllerFindAllRequestSortOrder, + CreateBoardDtoItemsItem, + UpdateBoardDtoItemsItem, + ) + from .calls import ( + CreateCallDtoTransport, + CreateCallDtoTransport_Daily, + CreateCallDtoTransport_Telnyx, + CreateCallDtoTransport_Twilio, + CreateCallDtoTransport_VapiSip, + CreateCallDtoTransport_VapiWebsocket, + CreateCallDtoTransport_Vonage, + CreateCallsResponse, + ) from .campaigns import ( + CampaignControllerFindAllRequestSortBy, CampaignControllerFindAllRequestSortOrder, CampaignControllerFindAllRequestStatus, - UpdateCampaignDtoStatus, + CampaignControllerFindAllV2RequestSortBy, + CampaignControllerFindAllV2RequestSortOrder, + CampaignControllerFindAllV2RequestStatus, ) from .chats import ( CreateChatDtoInput, CreateChatDtoInputOneItem, CreateChatsResponse, CreateResponseChatsResponse, + ListChatsRequestSortBy, ListChatsRequestSortOrder, OpenAiResponsesRequestInput, OpenAiResponsesRequestInputOneItem, @@ -4351,7 +5183,9 @@ CreateEvalRunDtoTarget_Assistant, CreateEvalRunDtoTarget_Squad, CreateEvalRunDtoType, + EvalControllerGetPaginatedRequestSortBy, EvalControllerGetPaginatedRequestSortOrder, + EvalControllerGetRunsPaginatedRequestSortBy, EvalControllerGetRunsPaginatedRequestSortOrder, UpdateEvalDtoMessagesItem, UpdateEvalDtoType, @@ -4367,6 +5201,7 @@ InsightControllerCreateResponse_Line, InsightControllerCreateResponse_Pie, InsightControllerCreateResponse_Text, + InsightControllerFindAllRequestSortBy, InsightControllerFindAllRequestSortOrder, InsightControllerFindOneResponse, InsightControllerFindOneResponse_Bar, @@ -4394,7 +5229,10 @@ InsightControllerUpdateResponse_Pie, InsightControllerUpdateResponse_Text, ) - from .observability_scorecard import ScorecardControllerGetPaginatedRequestSortOrder + from .observability_scorecard import ( + ScorecardControllerGetPaginatedRequestSortBy, + ScorecardControllerGetPaginatedRequestSortOrder, + ) from .phone_numbers import ( CreatePhoneNumbersRequest, CreatePhoneNumbersRequest_ByoPhoneNumber, @@ -4426,6 +5264,7 @@ ListPhoneNumbersResponseItem_Twilio, ListPhoneNumbersResponseItem_Vapi, ListPhoneNumbersResponseItem_Vonage, + PhoneNumberControllerFindAllPaginatedRequestSortBy, PhoneNumberControllerFindAllPaginatedRequestSortOrder, UpdatePhoneNumbersRequestBody, UpdatePhoneNumbersRequestBody_ByoPhoneNumber, @@ -4449,6 +5288,7 @@ ProviderResourceControllerGetProviderResourceRequestResourceName, ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider, ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName, + ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, ProviderResourceControllerUpdateProviderResourceRequestProvider, ProviderResourceControllerUpdateProviderResourceRequestResourceName, @@ -4456,12 +5296,20 @@ from .sessions import ( CreateSessionDtoMessagesItem, CreateSessionDtoStatus, + ListSessionsRequestSortBy, ListSessionsRequestSortOrder, UpdateSessionDtoMessagesItem, UpdateSessionDtoStatus, ) from .structured_outputs import ( + StructuredOutputControllerFindAllRequestSortBy, StructuredOutputControllerFindAllRequestSortOrder, + StructuredOutputControllerRunResponse, + StructuredOutputControllerRunResponseZero, + UpdateStructuredOutputDtoConditionsItem, + UpdateStructuredOutputDtoConditionsItem_EndedReason, + UpdateStructuredOutputDtoConditionsItem_MinCallDuration, + UpdateStructuredOutputDtoConditionsItem_MinMessages, UpdateStructuredOutputDtoModel, UpdateStructuredOutputDtoModel_Anthropic, UpdateStructuredOutputDtoModel_AnthropicBedrock, @@ -4798,6 +5646,7 @@ "AssistantCredentialsItem_Langfuse": ".types", "AssistantCredentialsItem_Lmnt": ".types", "AssistantCredentialsItem_Make": ".types", + "AssistantCredentialsItem_Microsoft": ".types", "AssistantCredentialsItem_Minimax": ".types", "AssistantCredentialsItem_Mistral": ".types", "AssistantCredentialsItem_Neuphonic": ".types", @@ -4808,6 +5657,7 @@ "AssistantCredentialsItem_RimeAi": ".types", "AssistantCredentialsItem_Runpod": ".types", "AssistantCredentialsItem_S3": ".types", + "AssistantCredentialsItem_S3Compatible": ".types", "AssistantCredentialsItem_SlackOauth2Authorization": ".types", "AssistantCredentialsItem_SlackWebhook": ".types", "AssistantCredentialsItem_SmallestAi": ".types", @@ -4816,13 +5666,136 @@ "AssistantCredentialsItem_Supabase": ".types", "AssistantCredentialsItem_Tavus": ".types", "AssistantCredentialsItem_TogetherAi": ".types", - "AssistantCredentialsItem_Trieve": ".types", "AssistantCredentialsItem_Twilio": ".types", "AssistantCredentialsItem_Vonage": ".types", "AssistantCredentialsItem_Webhook": ".types", "AssistantCredentialsItem_Wellsaid": ".types", "AssistantCredentialsItem_Xai": ".types", "AssistantCustomEndpointingRule": ".types", + "AssistantDraft": ".types", + "AssistantDraftBackgroundSound": ".types", + "AssistantDraftBackgroundSoundZero": ".types", + "AssistantDraftClientMessagesItem": ".types", + "AssistantDraftConflictResponseDto": ".types", + "AssistantDraftCredentialsItem": ".types", + "AssistantDraftCredentialsItem_11Labs": ".types", + "AssistantDraftCredentialsItem_Anthropic": ".types", + "AssistantDraftCredentialsItem_AnthropicBedrock": ".types", + "AssistantDraftCredentialsItem_Anyscale": ".types", + "AssistantDraftCredentialsItem_AssemblyAi": ".types", + "AssistantDraftCredentialsItem_Azure": ".types", + "AssistantDraftCredentialsItem_AzureOpenai": ".types", + "AssistantDraftCredentialsItem_ByoSipTrunk": ".types", + "AssistantDraftCredentialsItem_Cartesia": ".types", + "AssistantDraftCredentialsItem_Cerebras": ".types", + "AssistantDraftCredentialsItem_Cloudflare": ".types", + "AssistantDraftCredentialsItem_CustomCredential": ".types", + "AssistantDraftCredentialsItem_CustomLlm": ".types", + "AssistantDraftCredentialsItem_DeepSeek": ".types", + "AssistantDraftCredentialsItem_Deepgram": ".types", + "AssistantDraftCredentialsItem_Deepinfra": ".types", + "AssistantDraftCredentialsItem_Email": ".types", + "AssistantDraftCredentialsItem_Gcp": ".types", + "AssistantDraftCredentialsItem_GhlOauth2Authorization": ".types", + "AssistantDraftCredentialsItem_Gladia": ".types", + "AssistantDraftCredentialsItem_Gohighlevel": ".types", + "AssistantDraftCredentialsItem_Google": ".types", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization": ".types", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Client": ".types", + "AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization": ".types", + "AssistantDraftCredentialsItem_Groq": ".types", + "AssistantDraftCredentialsItem_Hume": ".types", + "AssistantDraftCredentialsItem_InflectionAi": ".types", + "AssistantDraftCredentialsItem_Inworld": ".types", + "AssistantDraftCredentialsItem_Langfuse": ".types", + "AssistantDraftCredentialsItem_Lmnt": ".types", + "AssistantDraftCredentialsItem_Make": ".types", + "AssistantDraftCredentialsItem_Microsoft": ".types", + "AssistantDraftCredentialsItem_Minimax": ".types", + "AssistantDraftCredentialsItem_Mistral": ".types", + "AssistantDraftCredentialsItem_Neuphonic": ".types", + "AssistantDraftCredentialsItem_Openai": ".types", + "AssistantDraftCredentialsItem_Openrouter": ".types", + "AssistantDraftCredentialsItem_PerplexityAi": ".types", + "AssistantDraftCredentialsItem_Playht": ".types", + "AssistantDraftCredentialsItem_RimeAi": ".types", + "AssistantDraftCredentialsItem_Runpod": ".types", + "AssistantDraftCredentialsItem_S3": ".types", + "AssistantDraftCredentialsItem_S3Compatible": ".types", + "AssistantDraftCredentialsItem_SlackOauth2Authorization": ".types", + "AssistantDraftCredentialsItem_SlackWebhook": ".types", + "AssistantDraftCredentialsItem_SmallestAi": ".types", + "AssistantDraftCredentialsItem_Soniox": ".types", + "AssistantDraftCredentialsItem_Speechmatics": ".types", + "AssistantDraftCredentialsItem_Supabase": ".types", + "AssistantDraftCredentialsItem_Tavus": ".types", + "AssistantDraftCredentialsItem_TogetherAi": ".types", + "AssistantDraftCredentialsItem_Twilio": ".types", + "AssistantDraftCredentialsItem_Vonage": ".types", + "AssistantDraftCredentialsItem_Webhook": ".types", + "AssistantDraftCredentialsItem_Wellsaid": ".types", + "AssistantDraftCredentialsItem_Xai": ".types", + "AssistantDraftFirstMessageMode": ".types", + "AssistantDraftHooksItem": ".types", + "AssistantDraftModel": ".types", + "AssistantDraftModel_Anthropic": ".types", + "AssistantDraftModel_AnthropicBedrock": ".types", + "AssistantDraftModel_Anyscale": ".types", + "AssistantDraftModel_Cerebras": ".types", + "AssistantDraftModel_CustomLlm": ".types", + "AssistantDraftModel_DeepSeek": ".types", + "AssistantDraftModel_Deepinfra": ".types", + "AssistantDraftModel_Google": ".types", + "AssistantDraftModel_Groq": ".types", + "AssistantDraftModel_InflectionAi": ".types", + "AssistantDraftModel_Minimax": ".types", + "AssistantDraftModel_Openai": ".types", + "AssistantDraftModel_Openrouter": ".types", + "AssistantDraftModel_PerplexityAi": ".types", + "AssistantDraftModel_TogetherAi": ".types", + "AssistantDraftModel_Vapi": ".types", + "AssistantDraftModel_Xai": ".types", + "AssistantDraftPaginatedMetadata": ".types", + "AssistantDraftPaginatedResponse": ".types", + "AssistantDraftServerMessagesItem": ".types", + "AssistantDraftTranscriber": ".types", + "AssistantDraftTranscriber_11Labs": ".types", + "AssistantDraftTranscriber_AssemblyAi": ".types", + "AssistantDraftTranscriber_Azure": ".types", + "AssistantDraftTranscriber_Cartesia": ".types", + "AssistantDraftTranscriber_CustomTranscriber": ".types", + "AssistantDraftTranscriber_Deepgram": ".types", + "AssistantDraftTranscriber_Gladia": ".types", + "AssistantDraftTranscriber_Google": ".types", + "AssistantDraftTranscriber_Openai": ".types", + "AssistantDraftTranscriber_Soniox": ".types", + "AssistantDraftTranscriber_Speechmatics": ".types", + "AssistantDraftTranscriber_Talkscriber": ".types", + "AssistantDraftTranscriber_Vapi": ".types", + "AssistantDraftTranscriber_Xai": ".types", + "AssistantDraftVoice": ".types", + "AssistantDraftVoice_11Labs": ".types", + "AssistantDraftVoice_Azure": ".types", + "AssistantDraftVoice_Cartesia": ".types", + "AssistantDraftVoice_CustomVoice": ".types", + "AssistantDraftVoice_Deepgram": ".types", + "AssistantDraftVoice_Hume": ".types", + "AssistantDraftVoice_Inworld": ".types", + "AssistantDraftVoice_Lmnt": ".types", + "AssistantDraftVoice_Microsoft": ".types", + "AssistantDraftVoice_Minimax": ".types", + "AssistantDraftVoice_Neuphonic": ".types", + "AssistantDraftVoice_Openai": ".types", + "AssistantDraftVoice_Playht": ".types", + "AssistantDraftVoice_RimeAi": ".types", + "AssistantDraftVoice_Sesame": ".types", + "AssistantDraftVoice_SmallestAi": ".types", + "AssistantDraftVoice_Tavus": ".types", + "AssistantDraftVoice_Vapi": ".types", + "AssistantDraftVoice_Wellsaid": ".types", + "AssistantDraftVoice_Xai": ".types", + "AssistantDraftVoicemailDetection": ".types", + "AssistantDraftVoicemailDetectionZero": ".types", "AssistantFirstMessageMode": ".types", "AssistantHookAssistantSpeechInterrupted": ".types", "AssistantHookCallEnding": ".types", @@ -4856,6 +5829,7 @@ "AssistantModel_Openrouter": ".types", "AssistantModel_PerplexityAi": ".types", "AssistantModel_TogetherAi": ".types", + "AssistantModel_Vapi": ".types", "AssistantModel_Xai": ".types", "AssistantOverrides": ".types", "AssistantOverridesBackgroundSound": ".types", @@ -4894,6 +5868,7 @@ "AssistantOverridesCredentialsItem_Langfuse": ".types", "AssistantOverridesCredentialsItem_Lmnt": ".types", "AssistantOverridesCredentialsItem_Make": ".types", + "AssistantOverridesCredentialsItem_Microsoft": ".types", "AssistantOverridesCredentialsItem_Minimax": ".types", "AssistantOverridesCredentialsItem_Mistral": ".types", "AssistantOverridesCredentialsItem_Neuphonic": ".types", @@ -4904,6 +5879,7 @@ "AssistantOverridesCredentialsItem_RimeAi": ".types", "AssistantOverridesCredentialsItem_Runpod": ".types", "AssistantOverridesCredentialsItem_S3": ".types", + "AssistantOverridesCredentialsItem_S3Compatible": ".types", "AssistantOverridesCredentialsItem_SlackOauth2Authorization": ".types", "AssistantOverridesCredentialsItem_SlackWebhook": ".types", "AssistantOverridesCredentialsItem_SmallestAi": ".types", @@ -4912,7 +5888,6 @@ "AssistantOverridesCredentialsItem_Supabase": ".types", "AssistantOverridesCredentialsItem_Tavus": ".types", "AssistantOverridesCredentialsItem_TogetherAi": ".types", - "AssistantOverridesCredentialsItem_Trieve": ".types", "AssistantOverridesCredentialsItem_Twilio": ".types", "AssistantOverridesCredentialsItem_Vonage": ".types", "AssistantOverridesCredentialsItem_Webhook": ".types", @@ -4936,6 +5911,7 @@ "AssistantOverridesModel_Openrouter": ".types", "AssistantOverridesModel_PerplexityAi": ".types", "AssistantOverridesModel_TogetherAi": ".types", + "AssistantOverridesModel_Vapi": ".types", "AssistantOverridesModel_Xai": ".types", "AssistantOverridesServerMessagesItem": ".types", "AssistantOverridesToolsAppendItem": ".types", @@ -4975,6 +5951,8 @@ "AssistantOverridesTranscriber_Soniox": ".types", "AssistantOverridesTranscriber_Speechmatics": ".types", "AssistantOverridesTranscriber_Talkscriber": ".types", + "AssistantOverridesTranscriber_Vapi": ".types", + "AssistantOverridesTranscriber_Xai": ".types", "AssistantOverridesVoice": ".types", "AssistantOverridesVoice_11Labs": ".types", "AssistantOverridesVoice_Azure": ".types", @@ -4984,6 +5962,7 @@ "AssistantOverridesVoice_Hume": ".types", "AssistantOverridesVoice_Inworld": ".types", "AssistantOverridesVoice_Lmnt": ".types", + "AssistantOverridesVoice_Microsoft": ".types", "AssistantOverridesVoice_Minimax": ".types", "AssistantOverridesVoice_Neuphonic": ".types", "AssistantOverridesVoice_Openai": ".types", @@ -4994,9 +5973,12 @@ "AssistantOverridesVoice_Tavus": ".types", "AssistantOverridesVoice_Vapi": ".types", "AssistantOverridesVoice_Wellsaid": ".types", + "AssistantOverridesVoice_Xai": ".types", "AssistantOverridesVoicemailDetection": ".types", "AssistantOverridesVoicemailDetectionZero": ".types", "AssistantPaginatedResponse": ".types", + "AssistantPinnedConflictResponseDto": ".types", + "AssistantPinnedConflictResponseDtoError": ".types", "AssistantServerMessagesItem": ".types", "AssistantSpeechWordAlignmentTiming": ".types", "AssistantSpeechWordProgressTiming": ".types", @@ -5014,8 +5996,132 @@ "AssistantTranscriber_Soniox": ".types", "AssistantTranscriber_Speechmatics": ".types", "AssistantTranscriber_Talkscriber": ".types", + "AssistantTranscriber_Vapi": ".types", + "AssistantTranscriber_Xai": ".types", "AssistantUserEditable": ".types", + "AssistantVersion": ".types", + "AssistantVersionBackgroundSound": ".types", + "AssistantVersionBackgroundSoundZero": ".types", + "AssistantVersionClientMessagesItem": ".types", + "AssistantVersionCredentialsItem": ".types", + "AssistantVersionCredentialsItem_11Labs": ".types", + "AssistantVersionCredentialsItem_Anthropic": ".types", + "AssistantVersionCredentialsItem_AnthropicBedrock": ".types", + "AssistantVersionCredentialsItem_Anyscale": ".types", + "AssistantVersionCredentialsItem_AssemblyAi": ".types", + "AssistantVersionCredentialsItem_Azure": ".types", + "AssistantVersionCredentialsItem_AzureOpenai": ".types", + "AssistantVersionCredentialsItem_ByoSipTrunk": ".types", + "AssistantVersionCredentialsItem_Cartesia": ".types", + "AssistantVersionCredentialsItem_Cerebras": ".types", + "AssistantVersionCredentialsItem_Cloudflare": ".types", + "AssistantVersionCredentialsItem_CustomCredential": ".types", + "AssistantVersionCredentialsItem_CustomLlm": ".types", + "AssistantVersionCredentialsItem_DeepSeek": ".types", + "AssistantVersionCredentialsItem_Deepgram": ".types", + "AssistantVersionCredentialsItem_Deepinfra": ".types", + "AssistantVersionCredentialsItem_Email": ".types", + "AssistantVersionCredentialsItem_Gcp": ".types", + "AssistantVersionCredentialsItem_GhlOauth2Authorization": ".types", + "AssistantVersionCredentialsItem_Gladia": ".types", + "AssistantVersionCredentialsItem_Gohighlevel": ".types", + "AssistantVersionCredentialsItem_Google": ".types", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization": ".types", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Client": ".types", + "AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization": ".types", + "AssistantVersionCredentialsItem_Groq": ".types", + "AssistantVersionCredentialsItem_Hume": ".types", + "AssistantVersionCredentialsItem_InflectionAi": ".types", + "AssistantVersionCredentialsItem_Inworld": ".types", + "AssistantVersionCredentialsItem_Langfuse": ".types", + "AssistantVersionCredentialsItem_Lmnt": ".types", + "AssistantVersionCredentialsItem_Make": ".types", + "AssistantVersionCredentialsItem_Microsoft": ".types", + "AssistantVersionCredentialsItem_Minimax": ".types", + "AssistantVersionCredentialsItem_Mistral": ".types", + "AssistantVersionCredentialsItem_Neuphonic": ".types", + "AssistantVersionCredentialsItem_Openai": ".types", + "AssistantVersionCredentialsItem_Openrouter": ".types", + "AssistantVersionCredentialsItem_PerplexityAi": ".types", + "AssistantVersionCredentialsItem_Playht": ".types", + "AssistantVersionCredentialsItem_RimeAi": ".types", + "AssistantVersionCredentialsItem_Runpod": ".types", + "AssistantVersionCredentialsItem_S3": ".types", + "AssistantVersionCredentialsItem_S3Compatible": ".types", + "AssistantVersionCredentialsItem_SlackOauth2Authorization": ".types", + "AssistantVersionCredentialsItem_SlackWebhook": ".types", + "AssistantVersionCredentialsItem_SmallestAi": ".types", + "AssistantVersionCredentialsItem_Soniox": ".types", + "AssistantVersionCredentialsItem_Speechmatics": ".types", + "AssistantVersionCredentialsItem_Supabase": ".types", + "AssistantVersionCredentialsItem_Tavus": ".types", + "AssistantVersionCredentialsItem_TogetherAi": ".types", + "AssistantVersionCredentialsItem_Twilio": ".types", + "AssistantVersionCredentialsItem_Vonage": ".types", + "AssistantVersionCredentialsItem_Webhook": ".types", + "AssistantVersionCredentialsItem_Wellsaid": ".types", + "AssistantVersionCredentialsItem_Xai": ".types", + "AssistantVersionFirstMessageMode": ".types", + "AssistantVersionHooksItem": ".types", + "AssistantVersionModel": ".types", + "AssistantVersionModel_Anthropic": ".types", + "AssistantVersionModel_AnthropicBedrock": ".types", + "AssistantVersionModel_Anyscale": ".types", + "AssistantVersionModel_Cerebras": ".types", + "AssistantVersionModel_CustomLlm": ".types", + "AssistantVersionModel_DeepSeek": ".types", + "AssistantVersionModel_Deepinfra": ".types", + "AssistantVersionModel_Google": ".types", + "AssistantVersionModel_Groq": ".types", + "AssistantVersionModel_InflectionAi": ".types", + "AssistantVersionModel_Minimax": ".types", + "AssistantVersionModel_Openai": ".types", + "AssistantVersionModel_Openrouter": ".types", + "AssistantVersionModel_PerplexityAi": ".types", + "AssistantVersionModel_TogetherAi": ".types", + "AssistantVersionModel_Vapi": ".types", + "AssistantVersionModel_Xai": ".types", + "AssistantVersionPaginatedMetadata": ".types", "AssistantVersionPaginatedResponse": ".types", + "AssistantVersionServerMessagesItem": ".types", + "AssistantVersionTranscriber": ".types", + "AssistantVersionTranscriber_11Labs": ".types", + "AssistantVersionTranscriber_AssemblyAi": ".types", + "AssistantVersionTranscriber_Azure": ".types", + "AssistantVersionTranscriber_Cartesia": ".types", + "AssistantVersionTranscriber_CustomTranscriber": ".types", + "AssistantVersionTranscriber_Deepgram": ".types", + "AssistantVersionTranscriber_Gladia": ".types", + "AssistantVersionTranscriber_Google": ".types", + "AssistantVersionTranscriber_Openai": ".types", + "AssistantVersionTranscriber_Soniox": ".types", + "AssistantVersionTranscriber_Speechmatics": ".types", + "AssistantVersionTranscriber_Talkscriber": ".types", + "AssistantVersionTranscriber_Vapi": ".types", + "AssistantVersionTranscriber_Xai": ".types", + "AssistantVersionVoice": ".types", + "AssistantVersionVoice_11Labs": ".types", + "AssistantVersionVoice_Azure": ".types", + "AssistantVersionVoice_Cartesia": ".types", + "AssistantVersionVoice_CustomVoice": ".types", + "AssistantVersionVoice_Deepgram": ".types", + "AssistantVersionVoice_Hume": ".types", + "AssistantVersionVoice_Inworld": ".types", + "AssistantVersionVoice_Lmnt": ".types", + "AssistantVersionVoice_Microsoft": ".types", + "AssistantVersionVoice_Minimax": ".types", + "AssistantVersionVoice_Neuphonic": ".types", + "AssistantVersionVoice_Openai": ".types", + "AssistantVersionVoice_Playht": ".types", + "AssistantVersionVoice_RimeAi": ".types", + "AssistantVersionVoice_Sesame": ".types", + "AssistantVersionVoice_SmallestAi": ".types", + "AssistantVersionVoice_Tavus": ".types", + "AssistantVersionVoice_Vapi": ".types", + "AssistantVersionVoice_Wellsaid": ".types", + "AssistantVersionVoice_Xai": ".types", + "AssistantVersionVoicemailDetection": ".types", + "AssistantVersionVoicemailDetectionZero": ".types", "AssistantVoice": ".types", "AssistantVoice_11Labs": ".types", "AssistantVoice_Azure": ".types", @@ -5025,6 +6131,7 @@ "AssistantVoice_Hume": ".types", "AssistantVoice_Inworld": ".types", "AssistantVoice_Lmnt": ".types", + "AssistantVoice_Microsoft": ".types", "AssistantVoice_Minimax": ".types", "AssistantVoice_Neuphonic": ".types", "AssistantVoice_Openai": ".types", @@ -5035,9 +6142,12 @@ "AssistantVoice_Tavus": ".types", "AssistantVoice_Vapi": ".types", "AssistantVoice_Wellsaid": ".types", + "AssistantVoice_Xai": ".types", "AssistantVoicemailDetection": ".types", "AssistantVoicemailDetectionZero": ".types", "AsyncVapi": ".client", + "AudioFormat": ".types", + "AudioFormatContainer": ".types", "AutoReloadPlan": ".types", "AwsStsAssumeRoleUser": ".types", "AwsStsAuthenticationArtifact": ".types", @@ -5088,6 +6198,21 @@ "BashToolWithToolCallName": ".types", "BashToolWithToolCallSubType": ".types", "BearerAuthenticationPlan": ".types", + "Board": ".types", + "BoardControllerFindAllRequestSortBy": ".board", + "BoardControllerFindAllRequestSortOrder": ".board", + "BoardInsightItem": ".types", + "BoardInsightItemType": ".types", + "BoardItemPosition": ".types", + "BoardItemSize": ".types", + "BoardItemsItem": ".types", + "BoardLayout": ".types", + "BoardMetricWidgetItem": ".types", + "BoardMetricWidgetItemType": ".types", + "BoardPaginatedResponse": ".types", + "BooleanComparatorScorecardMetricCondition": ".types", + "BooleanComparatorScorecardMetricConditionComparator": ".types", + "BooleanComparatorScorecardMetricConditionType": ".types", "BotMessage": ".types", "BothCustomEndpointingRule": ".types", "BucketPlan": ".types", @@ -5157,12 +6282,26 @@ "CallPhoneCallProvider": ".types", "CallPhoneCallTransport": ".types", "CallStatus": ".types", + "CallTransport": ".types", + "CallTransport_Daily": ".types", + "CallTransport_Telnyx": ".types", + "CallTransport_Twilio": ".types", + "CallTransport_VapiSip": ".types", + "CallTransport_VapiWebsocket": ".types", + "CallTransport_Vonage": ".types", "CallType": ".types", "Campaign": ".types", + "CampaignContact": ".types", + "CampaignControllerFindAllRequestSortBy": ".campaigns", "CampaignControllerFindAllRequestSortOrder": ".campaigns", "CampaignControllerFindAllRequestStatus": ".campaigns", + "CampaignControllerFindAllV2RequestSortBy": ".campaigns", + "CampaignControllerFindAllV2RequestSortOrder": ".campaigns", + "CampaignControllerFindAllV2RequestStatus": ".campaigns", "CampaignEndedReason": ".types", "CampaignPaginatedResponse": ".types", + "CampaignPredialPlan": ".types", + "CampaignServerMessagesItem": ".types", "CampaignStatus": ".types", "CartesiaCredential": ".types", "CartesiaCredentialProvider": ".types", @@ -5492,9 +6631,11 @@ "ComputerToolWithToolCallSubType": ".types", "Condition": ".types", "ConditionOperator": ".types", + "ConflictError": ".errors", "ContextEngineeringPlanAll": ".types", "ContextEngineeringPlanLastNMessages": ".types", "ContextEngineeringPlanNone": ".types", + "ContextEngineeringPlanPreviousAssistantMessages": ".types", "ContextEngineeringPlanUserAndAssistantMessages": ".types", "ConversationNode": ".types", "ConversationNodeModel": ".types", @@ -5540,6 +6681,8 @@ "ConversationNodeTranscriber_Soniox": ".types", "ConversationNodeTranscriber_Speechmatics": ".types", "ConversationNodeTranscriber_Talkscriber": ".types", + "ConversationNodeTranscriber_Vapi": ".types", + "ConversationNodeTranscriber_Xai": ".types", "ConversationNodeVoice": ".types", "ConversationNodeVoice_11Labs": ".types", "ConversationNodeVoice_Azure": ".types", @@ -5549,6 +6692,7 @@ "ConversationNodeVoice_Hume": ".types", "ConversationNodeVoice_Inworld": ".types", "ConversationNodeVoice_Lmnt": ".types", + "ConversationNodeVoice_Microsoft": ".types", "ConversationNodeVoice_Minimax": ".types", "ConversationNodeVoice_Neuphonic": ".types", "ConversationNodeVoice_Openai": ".types", @@ -5559,6 +6703,7 @@ "ConversationNodeVoice_Tavus": ".types", "ConversationNodeVoice_Vapi": ".types", "ConversationNodeVoice_Wellsaid": ".types", + "ConversationNodeVoice_Xai": ".types", "CostBreakdown": ".types", "CreateAnthropicBedrockCredentialDto": ".types", "CreateAnthropicBedrockCredentialDtoAuthenticationPlan": ".types", @@ -5575,6 +6720,127 @@ "CreateApiRequestToolDtoMessagesItem_RequestStart": ".types", "CreateApiRequestToolDtoMethod": ".types", "CreateAssemblyAiCredentialDto": ".types", + "CreateAssistantDraftDto": ".types", + "CreateAssistantDraftDtoBackgroundSound": ".types", + "CreateAssistantDraftDtoBackgroundSoundZero": ".types", + "CreateAssistantDraftDtoClientMessagesItem": ".types", + "CreateAssistantDraftDtoCredentialsItem": ".types", + "CreateAssistantDraftDtoCredentialsItem_11Labs": ".types", + "CreateAssistantDraftDtoCredentialsItem_Anthropic": ".types", + "CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock": ".types", + "CreateAssistantDraftDtoCredentialsItem_Anyscale": ".types", + "CreateAssistantDraftDtoCredentialsItem_AssemblyAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Azure": ".types", + "CreateAssistantDraftDtoCredentialsItem_AzureOpenai": ".types", + "CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk": ".types", + "CreateAssistantDraftDtoCredentialsItem_Cartesia": ".types", + "CreateAssistantDraftDtoCredentialsItem_Cerebras": ".types", + "CreateAssistantDraftDtoCredentialsItem_Cloudflare": ".types", + "CreateAssistantDraftDtoCredentialsItem_CustomCredential": ".types", + "CreateAssistantDraftDtoCredentialsItem_CustomLlm": ".types", + "CreateAssistantDraftDtoCredentialsItem_DeepSeek": ".types", + "CreateAssistantDraftDtoCredentialsItem_Deepgram": ".types", + "CreateAssistantDraftDtoCredentialsItem_Deepinfra": ".types", + "CreateAssistantDraftDtoCredentialsItem_Email": ".types", + "CreateAssistantDraftDtoCredentialsItem_Gcp": ".types", + "CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization": ".types", + "CreateAssistantDraftDtoCredentialsItem_Gladia": ".types", + "CreateAssistantDraftDtoCredentialsItem_Gohighlevel": ".types", + "CreateAssistantDraftDtoCredentialsItem_Google": ".types", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization": ".types", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client": ".types", + "CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization": ".types", + "CreateAssistantDraftDtoCredentialsItem_Groq": ".types", + "CreateAssistantDraftDtoCredentialsItem_Hume": ".types", + "CreateAssistantDraftDtoCredentialsItem_InflectionAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Inworld": ".types", + "CreateAssistantDraftDtoCredentialsItem_Langfuse": ".types", + "CreateAssistantDraftDtoCredentialsItem_Lmnt": ".types", + "CreateAssistantDraftDtoCredentialsItem_Make": ".types", + "CreateAssistantDraftDtoCredentialsItem_Microsoft": ".types", + "CreateAssistantDraftDtoCredentialsItem_Minimax": ".types", + "CreateAssistantDraftDtoCredentialsItem_Mistral": ".types", + "CreateAssistantDraftDtoCredentialsItem_Neuphonic": ".types", + "CreateAssistantDraftDtoCredentialsItem_Openai": ".types", + "CreateAssistantDraftDtoCredentialsItem_Openrouter": ".types", + "CreateAssistantDraftDtoCredentialsItem_PerplexityAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Playht": ".types", + "CreateAssistantDraftDtoCredentialsItem_RimeAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Runpod": ".types", + "CreateAssistantDraftDtoCredentialsItem_S3": ".types", + "CreateAssistantDraftDtoCredentialsItem_S3Compatible": ".types", + "CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization": ".types", + "CreateAssistantDraftDtoCredentialsItem_SlackWebhook": ".types", + "CreateAssistantDraftDtoCredentialsItem_SmallestAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Soniox": ".types", + "CreateAssistantDraftDtoCredentialsItem_Speechmatics": ".types", + "CreateAssistantDraftDtoCredentialsItem_Supabase": ".types", + "CreateAssistantDraftDtoCredentialsItem_Tavus": ".types", + "CreateAssistantDraftDtoCredentialsItem_TogetherAi": ".types", + "CreateAssistantDraftDtoCredentialsItem_Twilio": ".types", + "CreateAssistantDraftDtoCredentialsItem_Vonage": ".types", + "CreateAssistantDraftDtoCredentialsItem_Webhook": ".types", + "CreateAssistantDraftDtoCredentialsItem_Wellsaid": ".types", + "CreateAssistantDraftDtoCredentialsItem_Xai": ".types", + "CreateAssistantDraftDtoFirstMessageMode": ".types", + "CreateAssistantDraftDtoHooksItem": ".types", + "CreateAssistantDraftDtoModel": ".types", + "CreateAssistantDraftDtoModel_Anthropic": ".types", + "CreateAssistantDraftDtoModel_AnthropicBedrock": ".types", + "CreateAssistantDraftDtoModel_Anyscale": ".types", + "CreateAssistantDraftDtoModel_Cerebras": ".types", + "CreateAssistantDraftDtoModel_CustomLlm": ".types", + "CreateAssistantDraftDtoModel_DeepSeek": ".types", + "CreateAssistantDraftDtoModel_Deepinfra": ".types", + "CreateAssistantDraftDtoModel_Google": ".types", + "CreateAssistantDraftDtoModel_Groq": ".types", + "CreateAssistantDraftDtoModel_InflectionAi": ".types", + "CreateAssistantDraftDtoModel_Minimax": ".types", + "CreateAssistantDraftDtoModel_Openai": ".types", + "CreateAssistantDraftDtoModel_Openrouter": ".types", + "CreateAssistantDraftDtoModel_PerplexityAi": ".types", + "CreateAssistantDraftDtoModel_TogetherAi": ".types", + "CreateAssistantDraftDtoModel_Vapi": ".types", + "CreateAssistantDraftDtoModel_Xai": ".types", + "CreateAssistantDraftDtoServerMessagesItem": ".types", + "CreateAssistantDraftDtoTranscriber": ".types", + "CreateAssistantDraftDtoTranscriber_11Labs": ".types", + "CreateAssistantDraftDtoTranscriber_AssemblyAi": ".types", + "CreateAssistantDraftDtoTranscriber_Azure": ".types", + "CreateAssistantDraftDtoTranscriber_Cartesia": ".types", + "CreateAssistantDraftDtoTranscriber_CustomTranscriber": ".types", + "CreateAssistantDraftDtoTranscriber_Deepgram": ".types", + "CreateAssistantDraftDtoTranscriber_Gladia": ".types", + "CreateAssistantDraftDtoTranscriber_Google": ".types", + "CreateAssistantDraftDtoTranscriber_Openai": ".types", + "CreateAssistantDraftDtoTranscriber_Soniox": ".types", + "CreateAssistantDraftDtoTranscriber_Speechmatics": ".types", + "CreateAssistantDraftDtoTranscriber_Talkscriber": ".types", + "CreateAssistantDraftDtoTranscriber_Vapi": ".types", + "CreateAssistantDraftDtoTranscriber_Xai": ".types", + "CreateAssistantDraftDtoVoice": ".types", + "CreateAssistantDraftDtoVoice_11Labs": ".types", + "CreateAssistantDraftDtoVoice_Azure": ".types", + "CreateAssistantDraftDtoVoice_Cartesia": ".types", + "CreateAssistantDraftDtoVoice_CustomVoice": ".types", + "CreateAssistantDraftDtoVoice_Deepgram": ".types", + "CreateAssistantDraftDtoVoice_Hume": ".types", + "CreateAssistantDraftDtoVoice_Inworld": ".types", + "CreateAssistantDraftDtoVoice_Lmnt": ".types", + "CreateAssistantDraftDtoVoice_Microsoft": ".types", + "CreateAssistantDraftDtoVoice_Minimax": ".types", + "CreateAssistantDraftDtoVoice_Neuphonic": ".types", + "CreateAssistantDraftDtoVoice_Openai": ".types", + "CreateAssistantDraftDtoVoice_Playht": ".types", + "CreateAssistantDraftDtoVoice_RimeAi": ".types", + "CreateAssistantDraftDtoVoice_Sesame": ".types", + "CreateAssistantDraftDtoVoice_SmallestAi": ".types", + "CreateAssistantDraftDtoVoice_Tavus": ".types", + "CreateAssistantDraftDtoVoice_Vapi": ".types", + "CreateAssistantDraftDtoVoice_Wellsaid": ".types", + "CreateAssistantDraftDtoVoice_Xai": ".types", + "CreateAssistantDraftDtoVoicemailDetection": ".types", + "CreateAssistantDraftDtoVoicemailDetectionZero": ".types", "CreateAssistantDto": ".types", "CreateAssistantDtoBackgroundSound": ".types", "CreateAssistantDtoBackgroundSoundZero": ".types", @@ -5612,6 +6878,7 @@ "CreateAssistantDtoCredentialsItem_Langfuse": ".types", "CreateAssistantDtoCredentialsItem_Lmnt": ".types", "CreateAssistantDtoCredentialsItem_Make": ".types", + "CreateAssistantDtoCredentialsItem_Microsoft": ".types", "CreateAssistantDtoCredentialsItem_Minimax": ".types", "CreateAssistantDtoCredentialsItem_Mistral": ".types", "CreateAssistantDtoCredentialsItem_Neuphonic": ".types", @@ -5622,6 +6889,7 @@ "CreateAssistantDtoCredentialsItem_RimeAi": ".types", "CreateAssistantDtoCredentialsItem_Runpod": ".types", "CreateAssistantDtoCredentialsItem_S3": ".types", + "CreateAssistantDtoCredentialsItem_S3Compatible": ".types", "CreateAssistantDtoCredentialsItem_SlackOauth2Authorization": ".types", "CreateAssistantDtoCredentialsItem_SlackWebhook": ".types", "CreateAssistantDtoCredentialsItem_SmallestAi": ".types", @@ -5630,7 +6898,6 @@ "CreateAssistantDtoCredentialsItem_Supabase": ".types", "CreateAssistantDtoCredentialsItem_Tavus": ".types", "CreateAssistantDtoCredentialsItem_TogetherAi": ".types", - "CreateAssistantDtoCredentialsItem_Trieve": ".types", "CreateAssistantDtoCredentialsItem_Twilio": ".types", "CreateAssistantDtoCredentialsItem_Vonage": ".types", "CreateAssistantDtoCredentialsItem_Webhook": ".types", @@ -5654,6 +6921,7 @@ "CreateAssistantDtoModel_Openrouter": ".types", "CreateAssistantDtoModel_PerplexityAi": ".types", "CreateAssistantDtoModel_TogetherAi": ".types", + "CreateAssistantDtoModel_Vapi": ".types", "CreateAssistantDtoModel_Xai": ".types", "CreateAssistantDtoServerMessagesItem": ".types", "CreateAssistantDtoTranscriber": ".types", @@ -5669,6 +6937,8 @@ "CreateAssistantDtoTranscriber_Soniox": ".types", "CreateAssistantDtoTranscriber_Speechmatics": ".types", "CreateAssistantDtoTranscriber_Talkscriber": ".types", + "CreateAssistantDtoTranscriber_Vapi": ".types", + "CreateAssistantDtoTranscriber_Xai": ".types", "CreateAssistantDtoVoice": ".types", "CreateAssistantDtoVoice_11Labs": ".types", "CreateAssistantDtoVoice_Azure": ".types", @@ -5678,6 +6948,7 @@ "CreateAssistantDtoVoice_Hume": ".types", "CreateAssistantDtoVoice_Inworld": ".types", "CreateAssistantDtoVoice_Lmnt": ".types", + "CreateAssistantDtoVoice_Microsoft": ".types", "CreateAssistantDtoVoice_Minimax": ".types", "CreateAssistantDtoVoice_Neuphonic": ".types", "CreateAssistantDtoVoice_Openai": ".types", @@ -5688,6 +6959,7 @@ "CreateAssistantDtoVoice_Tavus": ".types", "CreateAssistantDtoVoice_Vapi": ".types", "CreateAssistantDtoVoice_Wellsaid": ".types", + "CreateAssistantDtoVoice_Xai": ".types", "CreateAssistantDtoVoicemailDetection": ".types", "CreateAssistantDtoVoicemailDetectionZero": ".types", "CreateAzureCredentialDto": ".types", @@ -5707,6 +6979,7 @@ "CreateBashToolDtoMessagesItem_RequestStart": ".types", "CreateBashToolDtoName": ".types", "CreateBashToolDtoSubType": ".types", + "CreateBoardDtoItemsItem": ".board", "CreateByoPhoneNumberDto": ".types", "CreateByoPhoneNumberDtoFallbackDestination": ".types", "CreateByoPhoneNumberDtoFallbackDestination_Number": ".types", @@ -5715,7 +6988,16 @@ "CreateByoPhoneNumberDtoHooksItem_CallEnding": ".types", "CreateByoPhoneNumberDtoHooksItem_CallRinging": ".types", "CreateByoSipTrunkCredentialDto": ".types", + "CreateCallDtoTransport": ".calls", + "CreateCallDtoTransport_Daily": ".calls", + "CreateCallDtoTransport_Telnyx": ".calls", + "CreateCallDtoTransport_Twilio": ".calls", + "CreateCallDtoTransport_VapiSip": ".calls", + "CreateCallDtoTransport_VapiWebsocket": ".calls", + "CreateCallDtoTransport_Vonage": ".calls", "CreateCallsResponse": ".calls", + "CreateCampaignDto": ".types", + "CreateCampaignDtoServerMessagesItem": ".types", "CreateCartesiaCredentialDto": ".types", "CreateCerebrasCredentialDto": ".types", "CreateChatDtoInput": ".chats", @@ -5758,6 +7040,7 @@ "CreateDtmfToolDtoMessagesItem_RequestResponseDelayed": ".types", "CreateDtmfToolDtoMessagesItem_RequestStart": ".types", "CreateElevenLabsCredentialDto": ".types", + "CreateElevenLabsCredentialDtoApiUrl": ".types", "CreateEmailCredentialDto": ".types", "CreateEndCallToolDto": ".types", "CreateEndCallToolDtoMessagesItem": ".types", @@ -5868,6 +7151,7 @@ "CreateMcpToolDtoMessagesItem_RequestFailed": ".types", "CreateMcpToolDtoMessagesItem_RequestResponseDelayed": ".types", "CreateMcpToolDtoMessagesItem_RequestStart": ".types", + "CreateMicrosoftCredentialDto": ".types", "CreateMinimaxCredentialDto": ".types", "CreateMistralCredentialDto": ".types", "CreateNeuphonicCredentialDto": ".types", @@ -5876,6 +7160,13 @@ "CreateOrgDto": ".types", "CreateOrgDtoChannel": ".types", "CreateOutboundCallDto": ".types", + "CreateOutboundCallDtoTransport": ".types", + "CreateOutboundCallDtoTransport_Daily": ".types", + "CreateOutboundCallDtoTransport_Telnyx": ".types", + "CreateOutboundCallDtoTransport_Twilio": ".types", + "CreateOutboundCallDtoTransport_VapiSip": ".types", + "CreateOutboundCallDtoTransport_VapiWebsocket": ".types", + "CreateOutboundCallDtoTransport_Vonage": ".types", "CreateOutputToolDto": ".types", "CreateOutputToolDtoMessagesItem": ".types", "CreateOutputToolDtoMessagesItem_RequestComplete": ".types", @@ -5910,6 +7201,7 @@ "CreateResponseChatsResponse": ".chats", "CreateRimeAiCredentialDto": ".types", "CreateRunpodCredentialDto": ".types", + "CreateS3CompatibleCredentialDto": ".types", "CreateS3CredentialDto": ".types", "CreateScenarioDto": ".types", "CreateScenarioDtoHooksItem": ".types", @@ -5927,6 +7219,14 @@ "CreateSimulationRunDtoTarget": ".types", "CreateSimulationRunDtoTarget_Assistant": ".types", "CreateSimulationRunDtoTarget_Squad": ".types", + "CreateSimulationRunResponse": ".types", + "CreateSimulationRunResponseSimulationsItem": ".types", + "CreateSimulationRunResponseSimulationsItem_Simulation": ".types", + "CreateSimulationRunResponseSimulationsItem_SimulationSuite": ".types", + "CreateSimulationRunResponseStatus": ".types", + "CreateSimulationRunResponseTarget": ".types", + "CreateSimulationRunResponseTarget_Assistant": ".types", + "CreateSimulationRunResponseTarget_Squad": ".types", "CreateSimulationSuiteDto": ".types", "CreateSipRequestToolDto": ".types", "CreateSipRequestToolDtoBody": ".types", @@ -5955,6 +7255,10 @@ "CreateSpeechmaticsCredentialDto": ".types", "CreateSquadDto": ".types", "CreateStructuredOutputDto": ".types", + "CreateStructuredOutputDtoConditionsItem": ".types", + "CreateStructuredOutputDtoConditionsItem_EndedReason": ".types", + "CreateStructuredOutputDtoConditionsItem_MinCallDuration": ".types", + "CreateStructuredOutputDtoConditionsItem_MinMessages": ".types", "CreateStructuredOutputDtoModel": ".types", "CreateStructuredOutputDtoModel_Anthropic": ".types", "CreateStructuredOutputDtoModel_AnthropicBedrock": ".types", @@ -5990,6 +7294,15 @@ "CreateTogetherAiCredentialDto": ".types", "CreateTokenDto": ".types", "CreateTokenDtoTag": ".types", + "CreateToolDraftDto": ".types", + "CreateToolDraftDtoMessagesItem": ".types", + "CreateToolDraftDtoMessagesItem_RequestComplete": ".types", + "CreateToolDraftDtoMessagesItem_RequestFailed": ".types", + "CreateToolDraftDtoMessagesItem_RequestResponseDelayed": ".types", + "CreateToolDraftDtoMessagesItem_RequestStart": ".types", + "CreateToolDraftDtoMethod": ".types", + "CreateToolDraftDtoType": ".types", + "CreateToolDraftDtoVerb": ".types", "CreateToolTemplateDto": ".types", "CreateToolTemplateDtoDetails": ".types", "CreateToolTemplateDtoDetails_ApiRequest": ".types", @@ -6087,7 +7400,6 @@ "CreateTransferCallToolDtoMessagesItem_RequestStart": ".types", "CreateTrieveCredentialDto": ".types", "CreateTrieveKnowledgeBaseDto": ".types", - "CreateTrieveKnowledgeBaseDtoProvider": ".types", "CreateTwilioCredentialDto": ".types", "CreateTwilioPhoneNumberDto": ".types", "CreateTwilioPhoneNumberDtoFallbackDestination": ".types", @@ -6164,6 +7476,7 @@ "CreateWorkflowDtoCredentialsItem_Langfuse": ".types", "CreateWorkflowDtoCredentialsItem_Lmnt": ".types", "CreateWorkflowDtoCredentialsItem_Make": ".types", + "CreateWorkflowDtoCredentialsItem_Microsoft": ".types", "CreateWorkflowDtoCredentialsItem_Minimax": ".types", "CreateWorkflowDtoCredentialsItem_Mistral": ".types", "CreateWorkflowDtoCredentialsItem_Neuphonic": ".types", @@ -6174,6 +7487,7 @@ "CreateWorkflowDtoCredentialsItem_RimeAi": ".types", "CreateWorkflowDtoCredentialsItem_Runpod": ".types", "CreateWorkflowDtoCredentialsItem_S3": ".types", + "CreateWorkflowDtoCredentialsItem_S3Compatible": ".types", "CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization": ".types", "CreateWorkflowDtoCredentialsItem_SlackWebhook": ".types", "CreateWorkflowDtoCredentialsItem_SmallestAi": ".types", @@ -6182,7 +7496,6 @@ "CreateWorkflowDtoCredentialsItem_Supabase": ".types", "CreateWorkflowDtoCredentialsItem_Tavus": ".types", "CreateWorkflowDtoCredentialsItem_TogetherAi": ".types", - "CreateWorkflowDtoCredentialsItem_Trieve": ".types", "CreateWorkflowDtoCredentialsItem_Twilio": ".types", "CreateWorkflowDtoCredentialsItem_Vonage": ".types", "CreateWorkflowDtoCredentialsItem_Webhook": ".types", @@ -6211,6 +7524,8 @@ "CreateWorkflowDtoTranscriber_Soniox": ".types", "CreateWorkflowDtoTranscriber_Speechmatics": ".types", "CreateWorkflowDtoTranscriber_Talkscriber": ".types", + "CreateWorkflowDtoTranscriber_Vapi": ".types", + "CreateWorkflowDtoTranscriber_Xai": ".types", "CreateWorkflowDtoVoice": ".types", "CreateWorkflowDtoVoice_11Labs": ".types", "CreateWorkflowDtoVoice_Azure": ".types", @@ -6220,6 +7535,7 @@ "CreateWorkflowDtoVoice_Hume": ".types", "CreateWorkflowDtoVoice_Inworld": ".types", "CreateWorkflowDtoVoice_Lmnt": ".types", + "CreateWorkflowDtoVoice_Microsoft": ".types", "CreateWorkflowDtoVoice_Minimax": ".types", "CreateWorkflowDtoVoice_Neuphonic": ".types", "CreateWorkflowDtoVoice_Openai": ".types", @@ -6230,6 +7546,7 @@ "CreateWorkflowDtoVoice_Tavus": ".types", "CreateWorkflowDtoVoice_Vapi": ".types", "CreateWorkflowDtoVoice_Wellsaid": ".types", + "CreateWorkflowDtoVoice_Xai": ".types", "CreateWorkflowDtoVoicemailDetection": ".types", "CreateWorkflowDtoVoicemailDetectionZero": ".types", "CreateXAiCredentialDto": ".types", @@ -6287,6 +7604,7 @@ "CustomVoice": ".types", "CustomerCustomEndpointingRule": ".types", "CustomerSpeechTimeoutOptions": ".types", + "CustomerSpeechTimeoutOptionsTriggerResetMode": ".types", "DeepInfraCredential": ".types", "DeepInfraCredentialProvider": ".types", "DeepInfraModel": ".types", @@ -6347,6 +7665,7 @@ "DeepgramTranscriber": ".types", "DeepgramTranscriberLanguage": ".types", "DeepgramTranscriberModel": ".types", + "DeepgramTranscriberRedactionItem": ".types", "DeepgramVoice": ".types", "DeepgramVoiceId": ".types", "DeepgramVoiceModel": ".types", @@ -6393,6 +7712,7 @@ "DtmfToolMessagesItem_RequestStart": ".types", "Edge": ".types", "ElevenLabsCredential": ".types", + "ElevenLabsCredentialApiUrl": ".types", "ElevenLabsPronunciationDictionary": ".types", "ElevenLabsPronunciationDictionaryLocator": ".types", "ElevenLabsPronunciationDictionaryPermissionOnResource": ".types", @@ -6411,11 +7731,15 @@ "EndCallToolMessagesItem_RequestFailed": ".types", "EndCallToolMessagesItem_RequestResponseDelayed": ".types", "EndCallToolMessagesItem_RequestStart": ".types", + "EndedReasonCondition": ".types", + "EndedReasonConditionOperator": ".types", "EndpointedSpeechLowConfidenceOptions": ".types", "Eval": ".types", "EvalAnthropicModel": ".types", "EvalAnthropicModelModel": ".types", + "EvalControllerGetPaginatedRequestSortBy": ".eval", "EvalControllerGetPaginatedRequestSortOrder": ".eval", + "EvalControllerGetRunsPaginatedRequestSortBy": ".eval", "EvalControllerGetRunsPaginatedRequestSortOrder": ".eval", "EvalCustomModel": ".types", "EvalGoogleModel": ".types", @@ -6463,10 +7787,12 @@ "ExportChatDto": ".types", "ExportChatDtoColumns": ".types", "ExportChatDtoFormat": ".types", + "ExportChatDtoSortBy": ".types", "ExportChatDtoSortOrder": ".types", "ExportSessionDto": ".types", "ExportSessionDtoColumns": ".types", "ExportSessionDtoFormat": ".types", + "ExportSessionDtoSortBy": ".types", "ExportSessionDtoSortOrder": ".types", "FailedEdgeCondition": ".types", "FallbackAssemblyAiTranscriber": ".types", @@ -6489,6 +7815,7 @@ "FallbackDeepgramTranscriber": ".types", "FallbackDeepgramTranscriberLanguage": ".types", "FallbackDeepgramTranscriberModel": ".types", + "FallbackDeepgramTranscriberRedactionItem": ".types", "FallbackDeepgramVoice": ".types", "FallbackDeepgramVoiceId": ".types", "FallbackDeepgramVoiceModel": ".types", @@ -6502,7 +7829,7 @@ "FallbackGladiaTranscriber": ".types", "FallbackGladiaTranscriberLanguage": ".types", "FallbackGladiaTranscriberLanguageBehaviour": ".types", - "FallbackGladiaTranscriberLanguages": ".types", + "FallbackGladiaTranscriberLanguagesItem": ".types", "FallbackGladiaTranscriberModel": ".types", "FallbackGladiaTranscriberRegion": ".types", "FallbackGoogleTranscriber": ".types", @@ -6518,6 +7845,10 @@ "FallbackLmntVoiceId": ".types", "FallbackLmntVoiceIdEnum": ".types", "FallbackLmntVoiceLanguage": ".types", + "FallbackMicrosoftVoice": ".types", + "FallbackMicrosoftVoiceRole": ".types", + "FallbackMicrosoftVoiceStyle": ".types", + "FallbackMicrosoftVoiceVoiceId": ".types", "FallbackMinimaxVoice": ".types", "FallbackMinimaxVoiceLanguageBoost": ".types", "FallbackMinimaxVoiceModel": ".types", @@ -6544,6 +7875,7 @@ "FallbackPlanVoicesItem_Hume": ".types", "FallbackPlanVoicesItem_Inworld": ".types", "FallbackPlanVoicesItem_Lmnt": ".types", + "FallbackPlanVoicesItem_Microsoft": ".types", "FallbackPlanVoicesItem_Neuphonic": ".types", "FallbackPlanVoicesItem_Openai": ".types", "FallbackPlanVoicesItem_Playht": ".types", @@ -6553,6 +7885,7 @@ "FallbackPlanVoicesItem_Tavus": ".types", "FallbackPlanVoicesItem_Vapi": ".types", "FallbackPlanVoicesItem_Wellsaid": ".types", + "FallbackPlanVoicesItem_Xai": ".types", "FallbackPlayHtVoice": ".types", "FallbackPlayHtVoiceEmotion": ".types", "FallbackPlayHtVoiceId": ".types", @@ -6572,6 +7905,7 @@ "FallbackSmallestAiVoiceModel": ".types", "FallbackSonioxTranscriber": ".types", "FallbackSonioxTranscriberLanguage": ".types", + "FallbackSonioxTranscriberLanguagesItem": ".types", "FallbackSonioxTranscriberModel": ".types", "FallbackSpeechmaticsTranscriber": ".types", "FallbackSpeechmaticsTranscriberLanguage": ".types", @@ -6599,10 +7933,19 @@ "FallbackTranscriberPlanTranscribersItem_Soniox": ".types", "FallbackTranscriberPlanTranscribersItem_Speechmatics": ".types", "FallbackTranscriberPlanTranscribersItem_Talkscriber": ".types", + "FallbackTranscriberPlanTranscribersItem_Xai": ".types", "FallbackVapiVoice": ".types", + "FallbackVapiVoiceLanguage": ".types", + "FallbackVapiVoiceVersion": ".types", "FallbackVapiVoiceVoiceId": ".types", "FallbackWellSaidVoice": ".types", "FallbackWellSaidVoiceModel": ".types", + "FallbackXaiTranscriber": ".types", + "FallbackXaiTranscriberLanguage": ".types", + "FallbackXaiTranscriberModel": ".types", + "FallbackXaiVoice": ".types", + "FallbackXaiVoiceLanguage": ".types", + "FallbackXaiVoiceVoiceId": ".types", "File": ".types", "FileObject": ".types", "FileStatus": ".types", @@ -6664,10 +8007,13 @@ "GeneratedScenario": ".types", "GeneratedScenarioCategory": ".types", "GetChatPaginatedDto": ".types", + "GetChatPaginatedDtoSortBy": ".types", "GetChatPaginatedDtoSortOrder": ".types", "GetEvalPaginatedDto": ".types", + "GetEvalPaginatedDtoSortBy": ".types", "GetEvalPaginatedDtoSortOrder": ".types", "GetEvalRunPaginatedDto": ".types", + "GetEvalRunPaginatedDtoSortBy": ".types", "GetEvalRunPaginatedDtoSortOrder": ".types", "GetPhoneNumbersResponse": ".phone_numbers", "GetPhoneNumbersResponse_ByoPhoneNumber": ".phone_numbers", @@ -6676,7 +8022,9 @@ "GetPhoneNumbersResponse_Vapi": ".phone_numbers", "GetPhoneNumbersResponse_Vonage": ".phone_numbers", "GetSessionPaginatedDto": ".types", + "GetSessionPaginatedDtoSortBy": ".types", "GetSessionPaginatedDtoSortOrder": ".types", + "GetToolDraftsDto": ".types", "GetToolsResponse": ".tools", "GetToolsResponse_ApiRequest": ".tools", "GetToolsResponse_Bash": ".tools", @@ -6723,7 +8071,7 @@ "GladiaTranscriber": ".types", "GladiaTranscriberLanguage": ".types", "GladiaTranscriberLanguageBehaviour": ".types", - "GladiaTranscriberLanguages": ".types", + "GladiaTranscriberLanguagesItem": ".types", "GladiaTranscriberModel": ".types", "GladiaTranscriberRegion": ".types", "GladiaVocabularyItemDto": ".types", @@ -6901,6 +8249,7 @@ "HandoffDestinationAssistantContextEngineeringPlan_All": ".types", "HandoffDestinationAssistantContextEngineeringPlan_LastNMessages": ".types", "HandoffDestinationAssistantContextEngineeringPlan_None": ".types", + "HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages": ".types", "HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages": ".types", "HandoffDestinationAssistantType": ".types", "HandoffDestinationDynamic": ".types", @@ -6909,6 +8258,7 @@ "HandoffDestinationSquadContextEngineeringPlan_All": ".types", "HandoffDestinationSquadContextEngineeringPlan_LastNMessages": ".types", "HandoffDestinationSquadContextEngineeringPlan_None": ".types", + "HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages": ".types", "HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages": ".types", "HandoffTool": ".types", "HandoffToolDestinationsItem": ".types", @@ -6982,6 +8332,7 @@ "InsightControllerCreateResponse_Line": ".insight", "InsightControllerCreateResponse_Pie": ".insight", "InsightControllerCreateResponse_Text": ".insight", + "InsightControllerFindAllRequestSortBy": ".insight", "InsightControllerFindAllRequestSortOrder": ".insight", "InsightControllerFindOneResponse": ".insight", "InsightControllerFindOneResponse_Bar": ".insight", @@ -7019,6 +8370,7 @@ "InsightType": ".types", "InviteUserDto": ".types", "InviteUserDtoRole": ".types", + "InviteUserDtoRoleZero": ".types", "InvoicePlan": ".types", "InworldCredential": ".types", "InworldCredentialProvider": ".types", @@ -7066,6 +8418,8 @@ "LangfuseObservabilityPlan": ".types", "LangfuseObservabilityPlanProvider": ".types", "LatencyMetrics": ".types", + "LegacyAssistantVersion": ".types", + "LegacyAssistantVersionPaginatedResponse": ".types", "LineInsight": ".types", "LineInsightFromCallTable": ".types", "LineInsightFromCallTableGroupBy": ".types", @@ -7075,6 +8429,7 @@ "LineInsightMetadata": ".types", "LineInsightQueriesItem": ".types", "LiquidCondition": ".types", + "ListChatsRequestSortBy": ".chats", "ListChatsRequestSortOrder": ".chats", "ListPhoneNumbersResponseItem": ".phone_numbers", "ListPhoneNumbersResponseItem_ByoPhoneNumber": ".phone_numbers", @@ -7082,6 +8437,7 @@ "ListPhoneNumbersResponseItem_Twilio": ".phone_numbers", "ListPhoneNumbersResponseItem_Vapi": ".phone_numbers", "ListPhoneNumbersResponseItem_Vonage": ".phone_numbers", + "ListSessionsRequestSortBy": ".sessions", "ListSessionsRequestSortOrder": ".sessions", "ListToolsResponseItem": ".tools", "ListToolsResponseItem_ApiRequest": ".tools", @@ -7150,6 +8506,14 @@ "MessageAddHookAction": ".types", "MessageTarget": ".types", "MessageTargetRole": ".types", + "MicrosoftCredential": ".types", + "MicrosoftCredentialProvider": ".types", + "MicrosoftVoice": ".types", + "MicrosoftVoiceRole": ".types", + "MicrosoftVoiceStyle": ".types", + "MicrosoftVoiceVoiceId": ".types", + "MinCallDurationCondition": ".types", + "MinMessagesCondition": ".types", "MinimaxLlmModel": ".types", "MinimaxLlmModelModel": ".types", "MinimaxLlmModelToolsItem": ".types", @@ -7196,6 +8560,9 @@ "NodeArtifact": ".types", "NodeArtifactMessagesItem": ".types", "NotFoundError": ".errors", + "NumberComparatorScorecardMetricCondition": ".types", + "NumberComparatorScorecardMetricConditionComparator": ".types", + "NumberComparatorScorecardMetricConditionType": ".types", "OAuth2AuthenticationPlan": ".types", "OAuth2AuthenticationPlanType": ".types", "Oauth2AuthenticationSession": ".types", @@ -7210,6 +8577,7 @@ "OpenAiModelFallbackModelsItem": ".types", "OpenAiModelModel": ".types", "OpenAiModelPromptCacheRetention": ".types", + "OpenAiModelReasoningEffort": ".types", "OpenAiModelToolStrictCompatibilityMode": ".types", "OpenAiModelToolsItem": ".types", "OpenAiModelToolsItem_ApiRequest": ".types", @@ -7287,6 +8655,9 @@ "OutputToolMessagesItem_RequestStart": ".types", "OutputToolType": ".types", "PaginationMeta": ".types", + "PaginationMetaSortOrder": ".types", + "PendingInvitationDto": ".types", + "PendingInvitationsResponseDto": ".types", "PerformanceMetrics": ".types", "PerplexityAiCredential": ".types", "PerplexityAiCredentialProvider": ".types", @@ -7323,6 +8694,7 @@ "PhoneNumberCallRingingHookFilter": ".types", "PhoneNumberCallRingingHookFilterKey": ".types", "PhoneNumberCallRingingHookFilterType": ".types", + "PhoneNumberControllerFindAllPaginatedRequestSortBy": ".phone_numbers", "PhoneNumberControllerFindAllPaginatedRequestSortOrder": ".phone_numbers", "PhoneNumberHookCallEnding": ".types", "PhoneNumberHookCallEndingDo": ".types", @@ -7365,6 +8737,7 @@ "ProviderResourceControllerGetProviderResourceRequestResourceName": ".provider_resources", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider": ".provider_resources", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName": ".provider_resources", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy": ".provider_resources", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder": ".provider_resources", "ProviderResourceControllerUpdateProviderResourceRequestProvider": ".provider_resources", "ProviderResourceControllerUpdateProviderResourceRequestResourceName": ".provider_resources", @@ -7387,6 +8760,7 @@ "Recording": ".types", "RecordingConsent": ".types", "RecordingConsentPlanStayOnLine": ".types", + "RecordingConsentPlanStayOnLineFirstMessageMode": ".types", "RecordingConsentPlanStayOnLineVoice": ".types", "RecordingConsentPlanStayOnLineVoice_11Labs": ".types", "RecordingConsentPlanStayOnLineVoice_Azure": ".types", @@ -7396,6 +8770,7 @@ "RecordingConsentPlanStayOnLineVoice_Hume": ".types", "RecordingConsentPlanStayOnLineVoice_Inworld": ".types", "RecordingConsentPlanStayOnLineVoice_Lmnt": ".types", + "RecordingConsentPlanStayOnLineVoice_Microsoft": ".types", "RecordingConsentPlanStayOnLineVoice_Minimax": ".types", "RecordingConsentPlanStayOnLineVoice_Neuphonic": ".types", "RecordingConsentPlanStayOnLineVoice_Openai": ".types", @@ -7406,7 +8781,9 @@ "RecordingConsentPlanStayOnLineVoice_Tavus": ".types", "RecordingConsentPlanStayOnLineVoice_Vapi": ".types", "RecordingConsentPlanStayOnLineVoice_Wellsaid": ".types", + "RecordingConsentPlanStayOnLineVoice_Xai": ".types", "RecordingConsentPlanVerbal": ".types", + "RecordingConsentPlanVerbalFirstMessageMode": ".types", "RecordingConsentPlanVerbalVoice": ".types", "RecordingConsentPlanVerbalVoice_11Labs": ".types", "RecordingConsentPlanVerbalVoice_Azure": ".types", @@ -7416,6 +8793,7 @@ "RecordingConsentPlanVerbalVoice_Hume": ".types", "RecordingConsentPlanVerbalVoice_Inworld": ".types", "RecordingConsentPlanVerbalVoice_Lmnt": ".types", + "RecordingConsentPlanVerbalVoice_Microsoft": ".types", "RecordingConsentPlanVerbalVoice_Minimax": ".types", "RecordingConsentPlanVerbalVoice_Neuphonic": ".types", "RecordingConsentPlanVerbalVoice_Openai": ".types", @@ -7426,6 +8804,8 @@ "RecordingConsentPlanVerbalVoice_Tavus": ".types", "RecordingConsentPlanVerbalVoice_Vapi": ".types", "RecordingConsentPlanVerbalVoice_Wellsaid": ".types", + "RecordingConsentPlanVerbalVoice_Xai": ".types", + "RecordingConsentType": ".types", "RegexCondition": ".types", "RegexOption": ".types", "RegexOptionType": ".types", @@ -7466,6 +8846,7 @@ "ResponseTextDeltaEventType": ".types", "ResponseTextDoneEvent": ".types", "ResponseTextDoneEventType": ".types", + "RevokeInvitationResponseDto": ".types", "RimeAiCredential": ".types", "RimeAiCredentialProvider": ".types", "RimeAiVoice": ".types", @@ -7475,10 +8856,14 @@ "RimeAiVoiceModel": ".types", "RunpodCredential": ".types", "RunpodCredentialProvider": ".types", + "S3CompatibleBucketPlan": ".types", + "S3CompatibleStorageCredential": ".types", + "S3CompatibleStorageCredentialProvider": ".types", "S3Credential": ".types", "S3CredentialProvider": ".types", "SayAssistantHookAction": ".types", "SayHookAction": ".types", + "SayHookActionExact": ".types", "SayHookActionPrompt": ".types", "SayHookActionPromptOneItem": ".types", "SayPhoneNumberHookAction": ".types", @@ -7490,8 +8875,10 @@ "ScenarioToolMock": ".types", "SchedulePlan": ".types", "Scorecard": ".types", + "ScorecardControllerGetPaginatedRequestSortBy": ".observability_scorecard", "ScorecardControllerGetPaginatedRequestSortOrder": ".observability_scorecard", "ScorecardMetric": ".types", + "ScorecardMetricConditionsItem": ".types", "ScorecardPaginatedResponse": ".types", "SecurityFilterBase": ".types", "SecurityFilterPlan": ".types", @@ -7543,6 +8930,14 @@ "ServerMessageCallEndpointingRequestPhoneNumber_Vapi": ".types", "ServerMessageCallEndpointingRequestPhoneNumber_Vonage": ".types", "ServerMessageCallEndpointingRequestType": ".types", + "ServerMessageCampaignPredial": ".types", + "ServerMessageCampaignPredialPhoneNumber": ".types", + "ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber": ".types", + "ServerMessageCampaignPredialPhoneNumber_Telnyx": ".types", + "ServerMessageCampaignPredialPhoneNumber_Twilio": ".types", + "ServerMessageCampaignPredialPhoneNumber_Vapi": ".types", + "ServerMessageCampaignPredialPhoneNumber_Vonage": ".types", + "ServerMessageCampaignPredialType": ".types", "ServerMessageChatCreated": ".types", "ServerMessageChatCreatedPhoneNumber": ".types", "ServerMessageChatCreatedPhoneNumber_ByoPhoneNumber": ".types", @@ -7649,6 +9044,7 @@ "ServerMessageResponseAssistantRequestDestination_Number": ".types", "ServerMessageResponseAssistantRequestDestination_Sip": ".types", "ServerMessageResponseCallEndpointingRequest": ".types", + "ServerMessageResponseCampaignPredial": ".types", "ServerMessageResponseHandoffDestinationRequest": ".types", "ServerMessageResponseKnowledgeBaseRequest": ".types", "ServerMessageResponseMessageResponse": ".types", @@ -7782,6 +9178,7 @@ "ServerMessageVoiceRequestPhoneNumber_Vapi": ".types", "ServerMessageVoiceRequestPhoneNumber_Vonage": ".types", "ServerMessageVoiceRequestType": ".types", + "ServiceUnavailableError": ".errors", "SesameVoice": ".types", "SesameVoiceModel": ".types", "Session": ".types", @@ -7830,6 +9227,8 @@ "SimulationRunTransportConfiguration": ".types", "SimulationRunTransportConfigurationProvider": ".types", "SimulationSuite": ".types", + "SimulationSuiteTargetAssignment": ".types", + "SimulationSuiteTargetAssignmentTargetType": ".types", "SipAuthentication": ".types", "SipRequestTool": ".types", "SipRequestToolBody": ".types", @@ -7843,6 +9242,11 @@ "SipTrunkGatewayOutboundProtocol": ".types", "SipTrunkOutboundAuthenticationPlan": ".types", "SipTrunkOutboundSipRegisterPlan": ".types", + "SkippedStructuredOutput": ".types", + "SkippedStructuredOutputUnmetCondition": ".types", + "SkippedStructuredOutputUnmetCondition_EndedReason": ".types", + "SkippedStructuredOutputUnmetCondition_MinCallDuration": ".types", + "SkippedStructuredOutputUnmetCondition_MinMessages": ".types", "SlackOAuth2AuthorizationCredential": ".types", "SlackOAuth2AuthorizationCredentialProvider": ".types", "SlackSendMessageTool": ".types", @@ -7866,10 +9270,12 @@ "SmsToolMessagesItem_RequestFailed": ".types", "SmsToolMessagesItem_RequestResponseDelayed": ".types", "SmsToolMessagesItem_RequestStart": ".types", + "SonioxContextGeneralItem": ".types", "SonioxCredential": ".types", "SonioxCredentialProvider": ".types", "SonioxTranscriber": ".types", "SonioxTranscriberLanguage": ".types", + "SonioxTranscriberLanguagesItem": ".types", "SonioxTranscriberModel": ".types", "SpeechmaticsCredential": ".types", "SpeechmaticsCredentialProvider": ".types", @@ -7900,7 +9306,14 @@ "StructuredDataMultiPlan": ".types", "StructuredDataPlan": ".types", "StructuredOutput": ".types", + "StructuredOutputConditionsItem": ".types", + "StructuredOutputConditionsItem_EndedReason": ".types", + "StructuredOutputConditionsItem_MinCallDuration": ".types", + "StructuredOutputConditionsItem_MinMessages": ".types", + "StructuredOutputControllerFindAllRequestSortBy": ".structured_outputs", "StructuredOutputControllerFindAllRequestSortOrder": ".structured_outputs", + "StructuredOutputControllerRunResponse": ".structured_outputs", + "StructuredOutputControllerRunResponseZero": ".structured_outputs", "StructuredOutputEvaluationResult": ".types", "StructuredOutputEvaluationResultComparator": ".types", "StructuredOutputEvaluationResultExpectedValue": ".types", @@ -7913,6 +9326,10 @@ "StructuredOutputModel_Google": ".types", "StructuredOutputModel_Openai": ".types", "StructuredOutputPaginatedResponse": ".types", + "StructuredOutputRerunResponse": ".types", + "StructuredOutputRunPreviewResponse": ".types", + "StructuredOutputRunResult": ".types", + "StructuredOutputRunResultResult": ".types", "StructuredOutputType": ".types", "Subscription": ".types", "SubscriptionLimits": ".types", @@ -7947,6 +9364,8 @@ "TelnyxPhoneNumberHooksItem_CallEnding": ".types", "TelnyxPhoneNumberHooksItem_CallRinging": ".types", "TelnyxPhoneNumberStatus": ".types", + "TelnyxTransport": ".types", + "TelnyxTransportConversationType": ".types", "Template": ".types", "TemplateDetails": ".types", "TemplateDetails_ApiRequest": ".types", @@ -8096,11 +9515,28 @@ "ToolCallMessage": ".types", "ToolCallResult": ".types", "ToolCallResultMessage": ".types", + "ToolCallResultMessageWarning": ".types", + "ToolCallResultMessageWarningType": ".types", + "ToolCallResultMessage_RequestComplete": ".types", + "ToolCallResultMessage_RequestFailed": ".types", + "ToolDraft": ".types", + "ToolDraftConflictResponseDto": ".types", + "ToolDraftMessagesItem": ".types", + "ToolDraftMessagesItem_RequestComplete": ".types", + "ToolDraftMessagesItem_RequestFailed": ".types", + "ToolDraftMessagesItem_RequestResponseDelayed": ".types", + "ToolDraftMessagesItem_RequestStart": ".types", + "ToolDraftMethod": ".types", + "ToolDraftPaginatedMetadata": ".types", + "ToolDraftPaginatedResponse": ".types", + "ToolDraftType": ".types", + "ToolDraftVerb": ".types", "ToolMessage": ".types", "ToolMessageComplete": ".types", "ToolMessageCompleteRole": ".types", "ToolMessageDelayed": ".types", "ToolMessageFailed": ".types", + "ToolMessageFailedRole": ".types", "ToolMessageRole": ".types", "ToolMessageStart": ".types", "ToolNode": ".types", @@ -8130,6 +9566,9 @@ "ToolNodeTool_Voicemail": ".types", "ToolParameter": ".types", "ToolParameterValue": ".types", + "ToolPinnedConflictResponseDto": ".types", + "ToolPinnedConflictResponseDtoError": ".types", + "ToolRef": ".types", "ToolRejectionPlan": ".types", "ToolRejectionPlanConditionsItem": ".types", "ToolRejectionPlanConditionsItem_Group": ".types", @@ -8137,9 +9576,19 @@ "ToolRejectionPlanConditionsItem_Regex": ".types", "ToolTemplateMetadata": ".types", "ToolTemplateSetup": ".types", + "ToolVersion": ".types", + "ToolVersionPaginatedMetadata": ".types", + "ToolVersionPaginatedResponse": ".types", "TranscriberCost": ".types", "TranscriptPlan": ".types", "TranscriptionEndpointingPlan": ".types", + "TransferArtifact": ".types", + "TransferArtifactDestination": ".types", + "TransferArtifactDestination_Number": ".types", + "TransferArtifactDestination_Sip": ".types", + "TransferArtifactMessagesItem": ".types", + "TransferArtifactMode": ".types", + "TransferArtifactStatus": ".types", "TransferAssistant": ".types", "TransferAssistantBackgroundSound": ".types", "TransferAssistantBackgroundSoundZero": ".types", @@ -8160,6 +9609,8 @@ "TransferAssistantTranscriber_Soniox": ".types", "TransferAssistantTranscriber_Speechmatics": ".types", "TransferAssistantTranscriber_Talkscriber": ".types", + "TransferAssistantTranscriber_Vapi": ".types", + "TransferAssistantTranscriber_Xai": ".types", "TransferAssistantVoice": ".types", "TransferAssistantVoice_11Labs": ".types", "TransferAssistantVoice_Azure": ".types", @@ -8169,6 +9620,7 @@ "TransferAssistantVoice_Hume": ".types", "TransferAssistantVoice_Inworld": ".types", "TransferAssistantVoice_Lmnt": ".types", + "TransferAssistantVoice_Microsoft": ".types", "TransferAssistantVoice_Minimax": ".types", "TransferAssistantVoice_Neuphonic": ".types", "TransferAssistantVoice_Openai": ".types", @@ -8179,6 +9631,7 @@ "TransferAssistantVoice_Tavus": ".types", "TransferAssistantVoice_Vapi": ".types", "TransferAssistantVoice_Wellsaid": ".types", + "TransferAssistantVoice_Xai": ".types", "TransferCallTool": ".types", "TransferCallToolDestinationsItem": ".types", "TransferCallToolDestinationsItem_Assistant": ".types", @@ -8234,17 +9687,8 @@ "TransportConfigurationTwilioRecordingChannels": ".types", "TransportCost": ".types", "TransportCostProvider": ".types", - "TrieveCredential": ".types", - "TrieveCredentialProvider": ".types", "TrieveKnowledgeBase": ".types", - "TrieveKnowledgeBaseChunkPlan": ".types", - "TrieveKnowledgeBaseCreate": ".types", - "TrieveKnowledgeBaseCreateType": ".types", "TrieveKnowledgeBaseImport": ".types", - "TrieveKnowledgeBaseImportType": ".types", - "TrieveKnowledgeBaseProvider": ".types", - "TrieveKnowledgeBaseSearchPlan": ".types", - "TrieveKnowledgeBaseSearchPlanSearchType": ".types", "TurnLatency": ".types", "TwilioCredential": ".types", "TwilioCredentialProvider": ".types", @@ -8259,17 +9703,23 @@ "TwilioSmsChatTransport": ".types", "TwilioSmsChatTransportConversationType": ".types", "TwilioSmsChatTransportType": ".types", + "TwilioTransport": ".types", + "TwilioTransportConversationType": ".types", "TwilioTransportMessage": ".types", "TwilioVoicemailDetectionPlan": ".types", "TwilioVoicemailDetectionPlanProvider": ".types", "TwilioVoicemailDetectionPlanVoicemailDetectionTypesItem": ".types", + "UnauthorizedError": ".errors", "UpdateAnthropicBedrockCredentialDto": ".types", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan": ".types", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam": ".types", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts": ".types", + "UpdateAnthropicBedrockCredentialDtoProvider": ".types", "UpdateAnthropicBedrockCredentialDtoRegion": ".types", "UpdateAnthropicCredentialDto": ".types", + "UpdateAnthropicCredentialDtoProvider": ".types", "UpdateAnyscaleCredentialDto": ".types", + "UpdateAnyscaleCredentialDtoProvider": ".types", "UpdateApiRequestToolDto": ".types", "UpdateApiRequestToolDtoMessagesItem": ".types", "UpdateApiRequestToolDtoMessagesItem_RequestComplete": ".types", @@ -8278,6 +9728,128 @@ "UpdateApiRequestToolDtoMessagesItem_RequestStart": ".types", "UpdateApiRequestToolDtoMethod": ".types", "UpdateAssemblyAiCredentialDto": ".types", + "UpdateAssemblyAiCredentialDtoProvider": ".types", + "UpdateAssistantDraftDto": ".types", + "UpdateAssistantDraftDtoBackgroundSound": ".types", + "UpdateAssistantDraftDtoBackgroundSoundZero": ".types", + "UpdateAssistantDraftDtoClientMessagesItem": ".types", + "UpdateAssistantDraftDtoCredentialsItem": ".types", + "UpdateAssistantDraftDtoCredentialsItem_11Labs": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Anthropic": ".types", + "UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Anyscale": ".types", + "UpdateAssistantDraftDtoCredentialsItem_AssemblyAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Azure": ".types", + "UpdateAssistantDraftDtoCredentialsItem_AzureOpenai": ".types", + "UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Cartesia": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Cerebras": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Cloudflare": ".types", + "UpdateAssistantDraftDtoCredentialsItem_CustomCredential": ".types", + "UpdateAssistantDraftDtoCredentialsItem_CustomLlm": ".types", + "UpdateAssistantDraftDtoCredentialsItem_DeepSeek": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Deepgram": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Deepinfra": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Email": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Gcp": ".types", + "UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Gladia": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Gohighlevel": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Google": ".types", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization": ".types", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client": ".types", + "UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Groq": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Hume": ".types", + "UpdateAssistantDraftDtoCredentialsItem_InflectionAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Inworld": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Langfuse": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Lmnt": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Make": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Microsoft": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Minimax": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Mistral": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Neuphonic": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Openai": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Openrouter": ".types", + "UpdateAssistantDraftDtoCredentialsItem_PerplexityAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Playht": ".types", + "UpdateAssistantDraftDtoCredentialsItem_RimeAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Runpod": ".types", + "UpdateAssistantDraftDtoCredentialsItem_S3": ".types", + "UpdateAssistantDraftDtoCredentialsItem_S3Compatible": ".types", + "UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization": ".types", + "UpdateAssistantDraftDtoCredentialsItem_SlackWebhook": ".types", + "UpdateAssistantDraftDtoCredentialsItem_SmallestAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Soniox": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Speechmatics": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Supabase": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Tavus": ".types", + "UpdateAssistantDraftDtoCredentialsItem_TogetherAi": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Twilio": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Vonage": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Webhook": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Wellsaid": ".types", + "UpdateAssistantDraftDtoCredentialsItem_Xai": ".types", + "UpdateAssistantDraftDtoFirstMessageMode": ".types", + "UpdateAssistantDraftDtoHooksItem": ".types", + "UpdateAssistantDraftDtoModel": ".types", + "UpdateAssistantDraftDtoModel_Anthropic": ".types", + "UpdateAssistantDraftDtoModel_AnthropicBedrock": ".types", + "UpdateAssistantDraftDtoModel_Anyscale": ".types", + "UpdateAssistantDraftDtoModel_Cerebras": ".types", + "UpdateAssistantDraftDtoModel_CustomLlm": ".types", + "UpdateAssistantDraftDtoModel_DeepSeek": ".types", + "UpdateAssistantDraftDtoModel_Deepinfra": ".types", + "UpdateAssistantDraftDtoModel_Google": ".types", + "UpdateAssistantDraftDtoModel_Groq": ".types", + "UpdateAssistantDraftDtoModel_InflectionAi": ".types", + "UpdateAssistantDraftDtoModel_Minimax": ".types", + "UpdateAssistantDraftDtoModel_Openai": ".types", + "UpdateAssistantDraftDtoModel_Openrouter": ".types", + "UpdateAssistantDraftDtoModel_PerplexityAi": ".types", + "UpdateAssistantDraftDtoModel_TogetherAi": ".types", + "UpdateAssistantDraftDtoModel_Vapi": ".types", + "UpdateAssistantDraftDtoModel_Xai": ".types", + "UpdateAssistantDraftDtoServerMessagesItem": ".types", + "UpdateAssistantDraftDtoTranscriber": ".types", + "UpdateAssistantDraftDtoTranscriber_11Labs": ".types", + "UpdateAssistantDraftDtoTranscriber_AssemblyAi": ".types", + "UpdateAssistantDraftDtoTranscriber_Azure": ".types", + "UpdateAssistantDraftDtoTranscriber_Cartesia": ".types", + "UpdateAssistantDraftDtoTranscriber_CustomTranscriber": ".types", + "UpdateAssistantDraftDtoTranscriber_Deepgram": ".types", + "UpdateAssistantDraftDtoTranscriber_Gladia": ".types", + "UpdateAssistantDraftDtoTranscriber_Google": ".types", + "UpdateAssistantDraftDtoTranscriber_Openai": ".types", + "UpdateAssistantDraftDtoTranscriber_Soniox": ".types", + "UpdateAssistantDraftDtoTranscriber_Speechmatics": ".types", + "UpdateAssistantDraftDtoTranscriber_Talkscriber": ".types", + "UpdateAssistantDraftDtoTranscriber_Vapi": ".types", + "UpdateAssistantDraftDtoTranscriber_Xai": ".types", + "UpdateAssistantDraftDtoVoice": ".types", + "UpdateAssistantDraftDtoVoice_11Labs": ".types", + "UpdateAssistantDraftDtoVoice_Azure": ".types", + "UpdateAssistantDraftDtoVoice_Cartesia": ".types", + "UpdateAssistantDraftDtoVoice_CustomVoice": ".types", + "UpdateAssistantDraftDtoVoice_Deepgram": ".types", + "UpdateAssistantDraftDtoVoice_Hume": ".types", + "UpdateAssistantDraftDtoVoice_Inworld": ".types", + "UpdateAssistantDraftDtoVoice_Lmnt": ".types", + "UpdateAssistantDraftDtoVoice_Microsoft": ".types", + "UpdateAssistantDraftDtoVoice_Minimax": ".types", + "UpdateAssistantDraftDtoVoice_Neuphonic": ".types", + "UpdateAssistantDraftDtoVoice_Openai": ".types", + "UpdateAssistantDraftDtoVoice_Playht": ".types", + "UpdateAssistantDraftDtoVoice_RimeAi": ".types", + "UpdateAssistantDraftDtoVoice_Sesame": ".types", + "UpdateAssistantDraftDtoVoice_SmallestAi": ".types", + "UpdateAssistantDraftDtoVoice_Tavus": ".types", + "UpdateAssistantDraftDtoVoice_Vapi": ".types", + "UpdateAssistantDraftDtoVoice_Wellsaid": ".types", + "UpdateAssistantDraftDtoVoice_Xai": ".types", + "UpdateAssistantDraftDtoVoicemailDetection": ".types", + "UpdateAssistantDraftDtoVoicemailDetectionZero": ".types", "UpdateAssistantDtoBackgroundSound": ".assistants", "UpdateAssistantDtoBackgroundSoundZero": ".assistants", "UpdateAssistantDtoClientMessagesItem": ".assistants", @@ -8314,6 +9886,7 @@ "UpdateAssistantDtoCredentialsItem_Langfuse": ".assistants", "UpdateAssistantDtoCredentialsItem_Lmnt": ".assistants", "UpdateAssistantDtoCredentialsItem_Make": ".assistants", + "UpdateAssistantDtoCredentialsItem_Microsoft": ".assistants", "UpdateAssistantDtoCredentialsItem_Minimax": ".assistants", "UpdateAssistantDtoCredentialsItem_Mistral": ".assistants", "UpdateAssistantDtoCredentialsItem_Neuphonic": ".assistants", @@ -8324,6 +9897,7 @@ "UpdateAssistantDtoCredentialsItem_RimeAi": ".assistants", "UpdateAssistantDtoCredentialsItem_Runpod": ".assistants", "UpdateAssistantDtoCredentialsItem_S3": ".assistants", + "UpdateAssistantDtoCredentialsItem_S3Compatible": ".assistants", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization": ".assistants", "UpdateAssistantDtoCredentialsItem_SlackWebhook": ".assistants", "UpdateAssistantDtoCredentialsItem_SmallestAi": ".assistants", @@ -8332,7 +9906,6 @@ "UpdateAssistantDtoCredentialsItem_Supabase": ".assistants", "UpdateAssistantDtoCredentialsItem_Tavus": ".assistants", "UpdateAssistantDtoCredentialsItem_TogetherAi": ".assistants", - "UpdateAssistantDtoCredentialsItem_Trieve": ".assistants", "UpdateAssistantDtoCredentialsItem_Twilio": ".assistants", "UpdateAssistantDtoCredentialsItem_Vonage": ".assistants", "UpdateAssistantDtoCredentialsItem_Webhook": ".assistants", @@ -8356,6 +9929,7 @@ "UpdateAssistantDtoModel_Openrouter": ".assistants", "UpdateAssistantDtoModel_PerplexityAi": ".assistants", "UpdateAssistantDtoModel_TogetherAi": ".assistants", + "UpdateAssistantDtoModel_Vapi": ".assistants", "UpdateAssistantDtoModel_Xai": ".assistants", "UpdateAssistantDtoServerMessagesItem": ".assistants", "UpdateAssistantDtoTranscriber": ".assistants", @@ -8371,6 +9945,8 @@ "UpdateAssistantDtoTranscriber_Soniox": ".assistants", "UpdateAssistantDtoTranscriber_Speechmatics": ".assistants", "UpdateAssistantDtoTranscriber_Talkscriber": ".assistants", + "UpdateAssistantDtoTranscriber_Vapi": ".assistants", + "UpdateAssistantDtoTranscriber_Xai": ".assistants", "UpdateAssistantDtoVoice": ".assistants", "UpdateAssistantDtoVoice_11Labs": ".assistants", "UpdateAssistantDtoVoice_Azure": ".assistants", @@ -8380,6 +9956,7 @@ "UpdateAssistantDtoVoice_Hume": ".assistants", "UpdateAssistantDtoVoice_Inworld": ".assistants", "UpdateAssistantDtoVoice_Lmnt": ".assistants", + "UpdateAssistantDtoVoice_Microsoft": ".assistants", "UpdateAssistantDtoVoice_Minimax": ".assistants", "UpdateAssistantDtoVoice_Neuphonic": ".assistants", "UpdateAssistantDtoVoice_Openai": ".assistants", @@ -8390,13 +9967,17 @@ "UpdateAssistantDtoVoice_Tavus": ".assistants", "UpdateAssistantDtoVoice_Vapi": ".assistants", "UpdateAssistantDtoVoice_Wellsaid": ".assistants", + "UpdateAssistantDtoVoice_Xai": ".assistants", "UpdateAssistantDtoVoicemailDetection": ".assistants", "UpdateAssistantDtoVoicemailDetectionZero": ".assistants", + "UpdateAssistantVersionMetadataDto": ".types", "UpdateAzureCredentialDto": ".types", + "UpdateAzureCredentialDtoProvider": ".types", "UpdateAzureCredentialDtoRegion": ".types", "UpdateAzureCredentialDtoService": ".types", "UpdateAzureOpenAiCredentialDto": ".types", "UpdateAzureOpenAiCredentialDtoModelsItem": ".types", + "UpdateAzureOpenAiCredentialDtoProvider": ".types", "UpdateAzureOpenAiCredentialDtoRegion": ".types", "UpdateBarInsightFromCallTableDto": ".types", "UpdateBarInsightFromCallTableDtoGroupBy": ".types", @@ -8409,6 +9990,7 @@ "UpdateBashToolDtoMessagesItem_RequestStart": ".types", "UpdateBashToolDtoName": ".types", "UpdateBashToolDtoSubType": ".types", + "UpdateBoardDtoItemsItem": ".board", "UpdateByoPhoneNumberDto": ".types", "UpdateByoPhoneNumberDtoFallbackDestination": ".types", "UpdateByoPhoneNumberDtoFallbackDestination_Number": ".types", @@ -8417,16 +9999,22 @@ "UpdateByoPhoneNumberDtoHooksItem_CallEnding": ".types", "UpdateByoPhoneNumberDtoHooksItem_CallRinging": ".types", "UpdateByoSipTrunkCredentialDto": ".types", - "UpdateCampaignDtoStatus": ".campaigns", + "UpdateByoSipTrunkCredentialDtoProvider": ".types", + "UpdateCampaignDto": ".types", + "UpdateCampaignDtoStatus": ".types", "UpdateCartesiaCredentialDto": ".types", + "UpdateCartesiaCredentialDtoProvider": ".types", "UpdateCerebrasCredentialDto": ".types", + "UpdateCerebrasCredentialDtoProvider": ".types", "UpdateCloudflareCredentialDto": ".types", + "UpdateCloudflareCredentialDtoProvider": ".types", "UpdateCodeToolDto": ".types", "UpdateCodeToolDtoMessagesItem": ".types", "UpdateCodeToolDtoMessagesItem_RequestComplete": ".types", "UpdateCodeToolDtoMessagesItem_RequestFailed": ".types", "UpdateCodeToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateCodeToolDtoMessagesItem_RequestStart": ".types", + "UpdateCodeToolDtoType": ".types", "UpdateComputerToolDto": ".types", "UpdateComputerToolDtoMessagesItem": ".types", "UpdateComputerToolDtoMessagesItem_RequestComplete": ".types", @@ -8442,11 +10030,17 @@ "UpdateCustomCredentialDtoAuthenticationPlan_Oauth2": ".types", "UpdateCustomCredentialDtoEncryptionPlan": ".types", "UpdateCustomCredentialDtoEncryptionPlan_PublicKey": ".types", + "UpdateCustomCredentialDtoProvider": ".types", "UpdateCustomKnowledgeBaseDto": ".types", + "UpdateCustomKnowledgeBaseDtoProvider": ".types", "UpdateCustomLlmCredentialDto": ".types", + "UpdateCustomLlmCredentialDtoProvider": ".types", "UpdateDeepInfraCredentialDto": ".types", + "UpdateDeepInfraCredentialDtoProvider": ".types", "UpdateDeepSeekCredentialDto": ".types", + "UpdateDeepSeekCredentialDtoProvider": ".types", "UpdateDeepgramCredentialDto": ".types", + "UpdateDeepgramCredentialDtoProvider": ".types", "UpdateDtmfToolDto": ".types", "UpdateDtmfToolDtoMessagesItem": ".types", "UpdateDtmfToolDtoMessagesItem_RequestComplete": ".types", @@ -8454,7 +10048,9 @@ "UpdateDtmfToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateDtmfToolDtoMessagesItem_RequestStart": ".types", "UpdateElevenLabsCredentialDto": ".types", + "UpdateElevenLabsCredentialDtoApiUrl": ".types", "UpdateEmailCredentialDto": ".types", + "UpdateEmailCredentialDtoProvider": ".types", "UpdateEndCallToolDto": ".types", "UpdateEndCallToolDtoMessagesItem": ".types", "UpdateEndCallToolDtoMessagesItem_RequestComplete": ".types", @@ -8470,13 +10066,16 @@ "UpdateFunctionToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateFunctionToolDtoMessagesItem_RequestStart": ".types", "UpdateGcpCredentialDto": ".types", + "UpdateGcpCredentialDtoProvider": ".types", "UpdateGhlToolDto": ".types", "UpdateGhlToolDtoMessagesItem": ".types", "UpdateGhlToolDtoMessagesItem_RequestComplete": ".types", "UpdateGhlToolDtoMessagesItem_RequestFailed": ".types", "UpdateGhlToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateGhlToolDtoMessagesItem_RequestStart": ".types", + "UpdateGhlToolDtoType": ".types", "UpdateGladiaCredentialDto": ".types", + "UpdateGladiaCredentialDtoProvider": ".types", "UpdateGoHighLevelCalendarAvailabilityToolDto": ".types", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem": ".types", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestComplete": ".types", @@ -8502,7 +10101,9 @@ "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart": ".types", "UpdateGoHighLevelCredentialDto": ".types", + "UpdateGoHighLevelCredentialDtoProvider": ".types", "UpdateGoHighLevelMcpCredentialDto": ".types", + "UpdateGoHighLevelMcpCredentialDtoProvider": ".types", "UpdateGoogleCalendarCheckAvailabilityToolDto": ".types", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem": ".types", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestComplete": ".types", @@ -8516,9 +10117,13 @@ "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart": ".types", "UpdateGoogleCalendarOAuth2AuthorizationCredentialDto": ".types", + "UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider": ".types", "UpdateGoogleCalendarOAuth2ClientCredentialDto": ".types", + "UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider": ".types", "UpdateGoogleCredentialDto": ".types", + "UpdateGoogleCredentialDtoProvider": ".types", "UpdateGoogleSheetsOAuth2AuthorizationCredentialDto": ".types", + "UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider": ".types", "UpdateGoogleSheetsRowAppendToolDto": ".types", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem": ".types", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestComplete": ".types", @@ -8526,6 +10131,7 @@ "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart": ".types", "UpdateGroqCredentialDto": ".types", + "UpdateGroqCredentialDtoProvider": ".types", "UpdateHandoffToolDto": ".types", "UpdateHandoffToolDtoDestinationsItem": ".types", "UpdateHandoffToolDtoDestinationsItem_Assistant": ".types", @@ -8537,30 +10143,43 @@ "UpdateHandoffToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateHandoffToolDtoMessagesItem_RequestStart": ".types", "UpdateHumeCredentialDto": ".types", + "UpdateHumeCredentialDtoProvider": ".types", "UpdateInflectionAiCredentialDto": ".types", + "UpdateInflectionAiCredentialDtoProvider": ".types", "UpdateInworldCredentialDto": ".types", + "UpdateInworldCredentialDtoProvider": ".types", "UpdateLangfuseCredentialDto": ".types", + "UpdateLangfuseCredentialDtoProvider": ".types", "UpdateLineInsightFromCallTableDto": ".types", "UpdateLineInsightFromCallTableDtoGroupBy": ".types", "UpdateLineInsightFromCallTableDtoQueriesItem": ".types", "UpdateLmntCredentialDto": ".types", + "UpdateLmntCredentialDtoProvider": ".types", "UpdateMakeCredentialDto": ".types", + "UpdateMakeCredentialDtoProvider": ".types", "UpdateMakeToolDto": ".types", "UpdateMakeToolDtoMessagesItem": ".types", "UpdateMakeToolDtoMessagesItem_RequestComplete": ".types", "UpdateMakeToolDtoMessagesItem_RequestFailed": ".types", "UpdateMakeToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateMakeToolDtoMessagesItem_RequestStart": ".types", + "UpdateMakeToolDtoType": ".types", "UpdateMcpToolDto": ".types", "UpdateMcpToolDtoMessagesItem": ".types", "UpdateMcpToolDtoMessagesItem_RequestComplete": ".types", "UpdateMcpToolDtoMessagesItem_RequestFailed": ".types", "UpdateMcpToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateMcpToolDtoMessagesItem_RequestStart": ".types", + "UpdateMicrosoftCredentialDto": ".types", + "UpdateMicrosoftCredentialDtoProvider": ".types", "UpdateMistralCredentialDto": ".types", + "UpdateMistralCredentialDtoProvider": ".types", "UpdateNeuphonicCredentialDto": ".types", + "UpdateNeuphonicCredentialDtoProvider": ".types", "UpdateOpenAiCredentialDto": ".types", + "UpdateOpenAiCredentialDtoProvider": ".types", "UpdateOpenRouterCredentialDto": ".types", + "UpdateOpenRouterCredentialDtoProvider": ".types", "UpdateOrgDto": ".types", "UpdateOrgDtoChannel": ".types", "UpdateOutputToolDto": ".types", @@ -8569,7 +10188,9 @@ "UpdateOutputToolDtoMessagesItem_RequestFailed": ".types", "UpdateOutputToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateOutputToolDtoMessagesItem_RequestStart": ".types", + "UpdateOutputToolDtoType": ".types", "UpdatePerplexityAiCredentialDto": ".types", + "UpdatePerplexityAiCredentialDtoProvider": ".types", "UpdatePersonalityDto": ".types", "UpdatePhoneNumbersRequestBody": ".phone_numbers", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber": ".phone_numbers", @@ -8587,6 +10208,7 @@ "UpdatePieInsightFromCallTableDtoGroupBy": ".types", "UpdatePieInsightFromCallTableDtoQueriesItem": ".types", "UpdatePlayHtCredentialDto": ".types", + "UpdatePlayHtCredentialDtoProvider": ".types", "UpdateQueryToolDto": ".types", "UpdateQueryToolDtoMessagesItem": ".types", "UpdateQueryToolDtoMessagesItem_RequestComplete": ".types", @@ -8594,8 +10216,14 @@ "UpdateQueryToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateQueryToolDtoMessagesItem_RequestStart": ".types", "UpdateRimeAiCredentialDto": ".types", + "UpdateRimeAiCredentialDtoProvider": ".types", "UpdateRunpodCredentialDto": ".types", + "UpdateRunpodCredentialDtoProvider": ".types", + "UpdateS3CompatibleBucketPlanDto": ".types", + "UpdateS3CompatibleCredentialDto": ".types", + "UpdateS3CompatibleCredentialDtoProvider": ".types", "UpdateS3CredentialDto": ".types", + "UpdateS3CredentialDtoProvider": ".types", "UpdateScenarioDto": ".types", "UpdateScenarioDtoHooksItem": ".types", "UpdateScenarioDtoHooksItem_SimulationRunEnded": ".types", @@ -8613,6 +10241,7 @@ "UpdateSipRequestToolDtoMessagesItem_RequestStart": ".types", "UpdateSipRequestToolDtoVerb": ".types", "UpdateSlackOAuth2AuthorizationCredentialDto": ".types", + "UpdateSlackOAuth2AuthorizationCredentialDtoProvider": ".types", "UpdateSlackSendMessageToolDto": ".types", "UpdateSlackSendMessageToolDtoMessagesItem": ".types", "UpdateSlackSendMessageToolDtoMessagesItem_RequestComplete": ".types", @@ -8620,6 +10249,7 @@ "UpdateSlackSendMessageToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateSlackSendMessageToolDtoMessagesItem_RequestStart": ".types", "UpdateSlackWebhookCredentialDto": ".types", + "UpdateSlackWebhookCredentialDtoProvider": ".types", "UpdateSmsToolDto": ".types", "UpdateSmsToolDtoMessagesItem": ".types", "UpdateSmsToolDtoMessagesItem_RequestComplete": ".types", @@ -8627,6 +10257,11 @@ "UpdateSmsToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateSmsToolDtoMessagesItem_RequestStart": ".types", "UpdateSonioxCredentialDto": ".types", + "UpdateSonioxCredentialDtoProvider": ".types", + "UpdateStructuredOutputDtoConditionsItem": ".structured_outputs", + "UpdateStructuredOutputDtoConditionsItem_EndedReason": ".structured_outputs", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration": ".structured_outputs", + "UpdateStructuredOutputDtoConditionsItem_MinMessages": ".structured_outputs", "UpdateStructuredOutputDtoModel": ".structured_outputs", "UpdateStructuredOutputDtoModel_Anthropic": ".structured_outputs", "UpdateStructuredOutputDtoModel_AnthropicBedrock": ".structured_outputs", @@ -8658,8 +10293,18 @@ "UpdateTextInsightFromCallTableDto": ".types", "UpdateTextInsightFromCallTableDtoQueriesItem": ".types", "UpdateTogetherAiCredentialDto": ".types", + "UpdateTogetherAiCredentialDtoProvider": ".types", "UpdateTokenDto": ".types", "UpdateTokenDtoTag": ".types", + "UpdateToolDraftDto": ".types", + "UpdateToolDraftDtoMessagesItem": ".types", + "UpdateToolDraftDtoMessagesItem_RequestComplete": ".types", + "UpdateToolDraftDtoMessagesItem_RequestFailed": ".types", + "UpdateToolDraftDtoMessagesItem_RequestResponseDelayed": ".types", + "UpdateToolDraftDtoMessagesItem_RequestStart": ".types", + "UpdateToolDraftDtoMethod": ".types", + "UpdateToolDraftDtoType": ".types", + "UpdateToolDraftDtoVerb": ".types", "UpdateToolTemplateDto": ".types", "UpdateToolTemplateDtoDetails": ".types", "UpdateToolTemplateDtoDetails_ApiRequest": ".types", @@ -8698,6 +10343,7 @@ "UpdateToolTemplateDtoProviderDetails_Make": ".types", "UpdateToolTemplateDtoType": ".types", "UpdateToolTemplateDtoVisibility": ".types", + "UpdateToolVersionMetadataDto": ".types", "UpdateToolsRequestBody": ".tools", "UpdateToolsRequestBody_ApiRequest": ".tools", "UpdateToolsRequestBody_Bash": ".tools", @@ -8755,9 +10401,9 @@ "UpdateTransferCallToolDtoMessagesItem_RequestFailed": ".types", "UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateTransferCallToolDtoMessagesItem_RequestStart": ".types", - "UpdateTrieveCredentialDto": ".types", "UpdateTrieveKnowledgeBaseDto": ".types", "UpdateTwilioCredentialDto": ".types", + "UpdateTwilioCredentialDtoProvider": ".types", "UpdateTwilioPhoneNumberDto": ".types", "UpdateTwilioPhoneNumberDtoFallbackDestination": ".types", "UpdateTwilioPhoneNumberDtoFallbackDestination_Number": ".types", @@ -8767,6 +10413,7 @@ "UpdateTwilioPhoneNumberDtoHooksItem_CallRinging": ".types", "UpdateUserRoleDto": ".types", "UpdateUserRoleDtoRole": ".types", + "UpdateUserRoleDtoRoleZero": ".types", "UpdateVapiPhoneNumberDto": ".types", "UpdateVapiPhoneNumberDtoFallbackDestination": ".types", "UpdateVapiPhoneNumberDtoFallbackDestination_Number": ".types", @@ -8781,6 +10428,7 @@ "UpdateVoicemailToolDtoMessagesItem_RequestResponseDelayed": ".types", "UpdateVoicemailToolDtoMessagesItem_RequestStart": ".types", "UpdateVonageCredentialDto": ".types", + "UpdateVonageCredentialDtoProvider": ".types", "UpdateVonagePhoneNumberDto": ".types", "UpdateVonagePhoneNumberDtoFallbackDestination": ".types", "UpdateVonagePhoneNumberDtoFallbackDestination_Number": ".types", @@ -8793,7 +10441,9 @@ "UpdateWebhookCredentialDtoAuthenticationPlan_Bearer": ".types", "UpdateWebhookCredentialDtoAuthenticationPlan_Hmac": ".types", "UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2": ".types", + "UpdateWebhookCredentialDtoProvider": ".types", "UpdateWellSaidCredentialDto": ".types", + "UpdateWellSaidCredentialDtoProvider": ".types", "UpdateWorkflowDto": ".types", "UpdateWorkflowDtoBackgroundSound": ".types", "UpdateWorkflowDtoBackgroundSoundZero": ".types", @@ -8830,6 +10480,7 @@ "UpdateWorkflowDtoCredentialsItem_Langfuse": ".types", "UpdateWorkflowDtoCredentialsItem_Lmnt": ".types", "UpdateWorkflowDtoCredentialsItem_Make": ".types", + "UpdateWorkflowDtoCredentialsItem_Microsoft": ".types", "UpdateWorkflowDtoCredentialsItem_Minimax": ".types", "UpdateWorkflowDtoCredentialsItem_Mistral": ".types", "UpdateWorkflowDtoCredentialsItem_Neuphonic": ".types", @@ -8840,6 +10491,7 @@ "UpdateWorkflowDtoCredentialsItem_RimeAi": ".types", "UpdateWorkflowDtoCredentialsItem_Runpod": ".types", "UpdateWorkflowDtoCredentialsItem_S3": ".types", + "UpdateWorkflowDtoCredentialsItem_S3Compatible": ".types", "UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization": ".types", "UpdateWorkflowDtoCredentialsItem_SlackWebhook": ".types", "UpdateWorkflowDtoCredentialsItem_SmallestAi": ".types", @@ -8848,7 +10500,6 @@ "UpdateWorkflowDtoCredentialsItem_Supabase": ".types", "UpdateWorkflowDtoCredentialsItem_Tavus": ".types", "UpdateWorkflowDtoCredentialsItem_TogetherAi": ".types", - "UpdateWorkflowDtoCredentialsItem_Trieve": ".types", "UpdateWorkflowDtoCredentialsItem_Twilio": ".types", "UpdateWorkflowDtoCredentialsItem_Vonage": ".types", "UpdateWorkflowDtoCredentialsItem_Webhook": ".types", @@ -8877,6 +10528,8 @@ "UpdateWorkflowDtoTranscriber_Soniox": ".types", "UpdateWorkflowDtoTranscriber_Speechmatics": ".types", "UpdateWorkflowDtoTranscriber_Talkscriber": ".types", + "UpdateWorkflowDtoTranscriber_Vapi": ".types", + "UpdateWorkflowDtoTranscriber_Xai": ".types", "UpdateWorkflowDtoVoice": ".types", "UpdateWorkflowDtoVoice_11Labs": ".types", "UpdateWorkflowDtoVoice_Azure": ".types", @@ -8886,6 +10539,7 @@ "UpdateWorkflowDtoVoice_Hume": ".types", "UpdateWorkflowDtoVoice_Inworld": ".types", "UpdateWorkflowDtoVoice_Lmnt": ".types", + "UpdateWorkflowDtoVoice_Microsoft": ".types", "UpdateWorkflowDtoVoice_Minimax": ".types", "UpdateWorkflowDtoVoice_Neuphonic": ".types", "UpdateWorkflowDtoVoice_Openai": ".types", @@ -8896,9 +10550,11 @@ "UpdateWorkflowDtoVoice_Tavus": ".types", "UpdateWorkflowDtoVoice_Vapi": ".types", "UpdateWorkflowDtoVoice_Wellsaid": ".types", + "UpdateWorkflowDtoVoice_Xai": ".types", "UpdateWorkflowDtoVoicemailDetection": ".types", "UpdateWorkflowDtoVoicemailDetectionZero": ".types", "UpdateXAiCredentialDto": ".types", + "UpdateXAiCredentialDtoProvider": ".types", "User": ".types", "UserMessage": ".types", "Vapi": ".client", @@ -8906,7 +10562,6 @@ "VapiCostSubType": ".types", "VapiEnvironment": ".environment", "VapiModel": ".types", - "VapiModelProvider": ".types", "VapiModelToolsItem": ".types", "VapiModelToolsItem_ApiRequest": ".types", "VapiModelToolsItem_Bash": ".types", @@ -8931,6 +10586,7 @@ "VapiModelToolsItem_TextEditor": ".types", "VapiModelToolsItem_TransferCall": ".types", "VapiModelToolsItem_Voicemail": ".types", + "VapiModelVersion": ".types", "VapiPhoneNumber": ".types", "VapiPhoneNumberFallbackDestination": ".types", "VapiPhoneNumberFallbackDestination_Number": ".types", @@ -8940,22 +10596,40 @@ "VapiPhoneNumberHooksItem_CallRinging": ".types", "VapiPhoneNumberStatus": ".types", "VapiPronunciationDictionaryLocator": ".types", + "VapiSipTransport": ".types", + "VapiSipTransportConversationType": ".types", "VapiSipTransportMessage": ".types", "VapiSipTransportMessageSipVerb": ".types", "VapiSmartEndpointingPlan": ".types", "VapiSmartEndpointingPlanProvider": ".types", + "VapiTranscriber": ".types", + "VapiTranscriberLanguage": ".types", + "VapiTranscriberLanguagesItem": ".types", + "VapiTranscriberTurnTaking": ".types", + "VapiTranscriberVersion": ".types", "VapiVoice": ".types", + "VapiVoiceLanguage": ".types", + "VapiVoiceVersion": ".types", "VapiVoiceVoiceId": ".types", "VapiVoicemailDetectionPlan": ".types", "VapiVoicemailDetectionPlanProvider": ".types", "VapiVoicemailDetectionPlanType": ".types", + "VapiWebCallTransport": ".types", + "VapiWebCallTransportConversationType": ".types", + "VapiWebsocketTransport": ".types", + "VapiWebsocketTransportConversationType": ".types", "VariableExtractionAlias": ".types", "VariableExtractionPlan": ".types", "VariableValueGroupBy": ".types", + "VersionPinConflictResponseDto": ".types", + "VersionPinConflictResponseDtoError": ".types", + "VersionPinReference": ".types", + "VersionPinReferenceSourceType": ".types", "VoiceCost": ".types", "VoiceLibrary": ".types", "VoiceLibraryGender": ".types", "VoiceLibraryVoiceResponse": ".types", + "VoiceLibraryVoiceResponseAge": ".types", "VoicemailDetectionBackoffPlan": ".types", "VoicemailDetectionCost": ".types", "VoicemailDetectionCostProvider": ".types", @@ -8975,6 +10649,8 @@ "VonagePhoneNumberHooksItem_CallEnding": ".types", "VonagePhoneNumberHooksItem_CallRinging": ".types", "VonagePhoneNumberStatus": ".types", + "VonageTransport": ".types", + "VonageTransportConversationType": ".types", "WebChat": ".types", "WebChatOutputItem": ".types", "WebhookCredential": ".types", @@ -9027,6 +10703,7 @@ "WorkflowCredentialsItem_Langfuse": ".types", "WorkflowCredentialsItem_Lmnt": ".types", "WorkflowCredentialsItem_Make": ".types", + "WorkflowCredentialsItem_Microsoft": ".types", "WorkflowCredentialsItem_Minimax": ".types", "WorkflowCredentialsItem_Mistral": ".types", "WorkflowCredentialsItem_Neuphonic": ".types", @@ -9037,6 +10714,7 @@ "WorkflowCredentialsItem_RimeAi": ".types", "WorkflowCredentialsItem_Runpod": ".types", "WorkflowCredentialsItem_S3": ".types", + "WorkflowCredentialsItem_S3Compatible": ".types", "WorkflowCredentialsItem_SlackOauth2Authorization": ".types", "WorkflowCredentialsItem_SlackWebhook": ".types", "WorkflowCredentialsItem_SmallestAi": ".types", @@ -9045,7 +10723,6 @@ "WorkflowCredentialsItem_Supabase": ".types", "WorkflowCredentialsItem_Tavus": ".types", "WorkflowCredentialsItem_TogetherAi": ".types", - "WorkflowCredentialsItem_Trieve": ".types", "WorkflowCredentialsItem_Twilio": ".types", "WorkflowCredentialsItem_Vonage": ".types", "WorkflowCredentialsItem_Webhook": ".types", @@ -9081,6 +10758,8 @@ "WorkflowTranscriber_Soniox": ".types", "WorkflowTranscriber_Speechmatics": ".types", "WorkflowTranscriber_Talkscriber": ".types", + "WorkflowTranscriber_Vapi": ".types", + "WorkflowTranscriber_Xai": ".types", "WorkflowUserEditable": ".types", "WorkflowUserEditableBackgroundSound": ".types", "WorkflowUserEditableBackgroundSoundZero": ".types", @@ -9117,6 +10796,7 @@ "WorkflowUserEditableCredentialsItem_Langfuse": ".types", "WorkflowUserEditableCredentialsItem_Lmnt": ".types", "WorkflowUserEditableCredentialsItem_Make": ".types", + "WorkflowUserEditableCredentialsItem_Microsoft": ".types", "WorkflowUserEditableCredentialsItem_Minimax": ".types", "WorkflowUserEditableCredentialsItem_Mistral": ".types", "WorkflowUserEditableCredentialsItem_Neuphonic": ".types", @@ -9127,6 +10807,7 @@ "WorkflowUserEditableCredentialsItem_RimeAi": ".types", "WorkflowUserEditableCredentialsItem_Runpod": ".types", "WorkflowUserEditableCredentialsItem_S3": ".types", + "WorkflowUserEditableCredentialsItem_S3Compatible": ".types", "WorkflowUserEditableCredentialsItem_SlackOauth2Authorization": ".types", "WorkflowUserEditableCredentialsItem_SlackWebhook": ".types", "WorkflowUserEditableCredentialsItem_SmallestAi": ".types", @@ -9135,7 +10816,6 @@ "WorkflowUserEditableCredentialsItem_Supabase": ".types", "WorkflowUserEditableCredentialsItem_Tavus": ".types", "WorkflowUserEditableCredentialsItem_TogetherAi": ".types", - "WorkflowUserEditableCredentialsItem_Trieve": ".types", "WorkflowUserEditableCredentialsItem_Twilio": ".types", "WorkflowUserEditableCredentialsItem_Vonage": ".types", "WorkflowUserEditableCredentialsItem_Webhook": ".types", @@ -9164,6 +10844,8 @@ "WorkflowUserEditableTranscriber_Soniox": ".types", "WorkflowUserEditableTranscriber_Speechmatics": ".types", "WorkflowUserEditableTranscriber_Talkscriber": ".types", + "WorkflowUserEditableTranscriber_Vapi": ".types", + "WorkflowUserEditableTranscriber_Xai": ".types", "WorkflowUserEditableVoice": ".types", "WorkflowUserEditableVoice_11Labs": ".types", "WorkflowUserEditableVoice_Azure": ".types", @@ -9173,6 +10855,7 @@ "WorkflowUserEditableVoice_Hume": ".types", "WorkflowUserEditableVoice_Inworld": ".types", "WorkflowUserEditableVoice_Lmnt": ".types", + "WorkflowUserEditableVoice_Microsoft": ".types", "WorkflowUserEditableVoice_Minimax": ".types", "WorkflowUserEditableVoice_Neuphonic": ".types", "WorkflowUserEditableVoice_Openai": ".types", @@ -9183,6 +10866,7 @@ "WorkflowUserEditableVoice_Tavus": ".types", "WorkflowUserEditableVoice_Vapi": ".types", "WorkflowUserEditableVoice_Wellsaid": ".types", + "WorkflowUserEditableVoice_Xai": ".types", "WorkflowUserEditableVoicemailDetection": ".types", "WorkflowUserEditableVoicemailDetectionZero": ".types", "WorkflowVoice": ".types", @@ -9194,6 +10878,7 @@ "WorkflowVoice_Hume": ".types", "WorkflowVoice_Inworld": ".types", "WorkflowVoice_Lmnt": ".types", + "WorkflowVoice_Microsoft": ".types", "WorkflowVoice_Minimax": ".types", "WorkflowVoice_Neuphonic": ".types", "WorkflowVoice_Openai": ".types", @@ -9204,6 +10889,7 @@ "WorkflowVoice_Tavus": ".types", "WorkflowVoice_Vapi": ".types", "WorkflowVoice_Wellsaid": ".types", + "WorkflowVoice_Xai": ".types", "WorkflowVoicemailDetection": ".types", "WorkflowVoicemailDetectionZero": ".types", "XAiCredential": ".types", @@ -9234,11 +10920,18 @@ "XaiModelToolsItem_TextEditor": ".types", "XaiModelToolsItem_TransferCall": ".types", "XaiModelToolsItem_Voicemail": ".types", + "XaiTranscriber": ".types", + "XaiTranscriberLanguage": ".types", + "XaiTranscriberModel": ".types", + "XaiVoice": ".types", + "XaiVoiceLanguage": ".types", + "XaiVoiceVoiceId": ".types", "XssSecurityFilter": ".types", "XssSecurityFilterType": ".types", "__version__": ".version", "analytics": ".analytics", "assistants": ".assistants", + "board": ".board", "calls": ".calls", "campaigns": ".campaigns", "chats": ".chats", @@ -9435,6 +11128,7 @@ def __dir__(): "AssistantCredentialsItem_Langfuse", "AssistantCredentialsItem_Lmnt", "AssistantCredentialsItem_Make", + "AssistantCredentialsItem_Microsoft", "AssistantCredentialsItem_Minimax", "AssistantCredentialsItem_Mistral", "AssistantCredentialsItem_Neuphonic", @@ -9445,6 +11139,7 @@ def __dir__(): "AssistantCredentialsItem_RimeAi", "AssistantCredentialsItem_Runpod", "AssistantCredentialsItem_S3", + "AssistantCredentialsItem_S3Compatible", "AssistantCredentialsItem_SlackOauth2Authorization", "AssistantCredentialsItem_SlackWebhook", "AssistantCredentialsItem_SmallestAi", @@ -9453,13 +11148,136 @@ def __dir__(): "AssistantCredentialsItem_Supabase", "AssistantCredentialsItem_Tavus", "AssistantCredentialsItem_TogetherAi", - "AssistantCredentialsItem_Trieve", "AssistantCredentialsItem_Twilio", "AssistantCredentialsItem_Vonage", "AssistantCredentialsItem_Webhook", "AssistantCredentialsItem_Wellsaid", "AssistantCredentialsItem_Xai", "AssistantCustomEndpointingRule", + "AssistantDraft", + "AssistantDraftBackgroundSound", + "AssistantDraftBackgroundSoundZero", + "AssistantDraftClientMessagesItem", + "AssistantDraftConflictResponseDto", + "AssistantDraftCredentialsItem", + "AssistantDraftCredentialsItem_11Labs", + "AssistantDraftCredentialsItem_Anthropic", + "AssistantDraftCredentialsItem_AnthropicBedrock", + "AssistantDraftCredentialsItem_Anyscale", + "AssistantDraftCredentialsItem_AssemblyAi", + "AssistantDraftCredentialsItem_Azure", + "AssistantDraftCredentialsItem_AzureOpenai", + "AssistantDraftCredentialsItem_ByoSipTrunk", + "AssistantDraftCredentialsItem_Cartesia", + "AssistantDraftCredentialsItem_Cerebras", + "AssistantDraftCredentialsItem_Cloudflare", + "AssistantDraftCredentialsItem_CustomCredential", + "AssistantDraftCredentialsItem_CustomLlm", + "AssistantDraftCredentialsItem_DeepSeek", + "AssistantDraftCredentialsItem_Deepgram", + "AssistantDraftCredentialsItem_Deepinfra", + "AssistantDraftCredentialsItem_Email", + "AssistantDraftCredentialsItem_Gcp", + "AssistantDraftCredentialsItem_GhlOauth2Authorization", + "AssistantDraftCredentialsItem_Gladia", + "AssistantDraftCredentialsItem_Gohighlevel", + "AssistantDraftCredentialsItem_Google", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Client", + "AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization", + "AssistantDraftCredentialsItem_Groq", + "AssistantDraftCredentialsItem_Hume", + "AssistantDraftCredentialsItem_InflectionAi", + "AssistantDraftCredentialsItem_Inworld", + "AssistantDraftCredentialsItem_Langfuse", + "AssistantDraftCredentialsItem_Lmnt", + "AssistantDraftCredentialsItem_Make", + "AssistantDraftCredentialsItem_Microsoft", + "AssistantDraftCredentialsItem_Minimax", + "AssistantDraftCredentialsItem_Mistral", + "AssistantDraftCredentialsItem_Neuphonic", + "AssistantDraftCredentialsItem_Openai", + "AssistantDraftCredentialsItem_Openrouter", + "AssistantDraftCredentialsItem_PerplexityAi", + "AssistantDraftCredentialsItem_Playht", + "AssistantDraftCredentialsItem_RimeAi", + "AssistantDraftCredentialsItem_Runpod", + "AssistantDraftCredentialsItem_S3", + "AssistantDraftCredentialsItem_S3Compatible", + "AssistantDraftCredentialsItem_SlackOauth2Authorization", + "AssistantDraftCredentialsItem_SlackWebhook", + "AssistantDraftCredentialsItem_SmallestAi", + "AssistantDraftCredentialsItem_Soniox", + "AssistantDraftCredentialsItem_Speechmatics", + "AssistantDraftCredentialsItem_Supabase", + "AssistantDraftCredentialsItem_Tavus", + "AssistantDraftCredentialsItem_TogetherAi", + "AssistantDraftCredentialsItem_Twilio", + "AssistantDraftCredentialsItem_Vonage", + "AssistantDraftCredentialsItem_Webhook", + "AssistantDraftCredentialsItem_Wellsaid", + "AssistantDraftCredentialsItem_Xai", + "AssistantDraftFirstMessageMode", + "AssistantDraftHooksItem", + "AssistantDraftModel", + "AssistantDraftModel_Anthropic", + "AssistantDraftModel_AnthropicBedrock", + "AssistantDraftModel_Anyscale", + "AssistantDraftModel_Cerebras", + "AssistantDraftModel_CustomLlm", + "AssistantDraftModel_DeepSeek", + "AssistantDraftModel_Deepinfra", + "AssistantDraftModel_Google", + "AssistantDraftModel_Groq", + "AssistantDraftModel_InflectionAi", + "AssistantDraftModel_Minimax", + "AssistantDraftModel_Openai", + "AssistantDraftModel_Openrouter", + "AssistantDraftModel_PerplexityAi", + "AssistantDraftModel_TogetherAi", + "AssistantDraftModel_Vapi", + "AssistantDraftModel_Xai", + "AssistantDraftPaginatedMetadata", + "AssistantDraftPaginatedResponse", + "AssistantDraftServerMessagesItem", + "AssistantDraftTranscriber", + "AssistantDraftTranscriber_11Labs", + "AssistantDraftTranscriber_AssemblyAi", + "AssistantDraftTranscriber_Azure", + "AssistantDraftTranscriber_Cartesia", + "AssistantDraftTranscriber_CustomTranscriber", + "AssistantDraftTranscriber_Deepgram", + "AssistantDraftTranscriber_Gladia", + "AssistantDraftTranscriber_Google", + "AssistantDraftTranscriber_Openai", + "AssistantDraftTranscriber_Soniox", + "AssistantDraftTranscriber_Speechmatics", + "AssistantDraftTranscriber_Talkscriber", + "AssistantDraftTranscriber_Vapi", + "AssistantDraftTranscriber_Xai", + "AssistantDraftVoice", + "AssistantDraftVoice_11Labs", + "AssistantDraftVoice_Azure", + "AssistantDraftVoice_Cartesia", + "AssistantDraftVoice_CustomVoice", + "AssistantDraftVoice_Deepgram", + "AssistantDraftVoice_Hume", + "AssistantDraftVoice_Inworld", + "AssistantDraftVoice_Lmnt", + "AssistantDraftVoice_Microsoft", + "AssistantDraftVoice_Minimax", + "AssistantDraftVoice_Neuphonic", + "AssistantDraftVoice_Openai", + "AssistantDraftVoice_Playht", + "AssistantDraftVoice_RimeAi", + "AssistantDraftVoice_Sesame", + "AssistantDraftVoice_SmallestAi", + "AssistantDraftVoice_Tavus", + "AssistantDraftVoice_Vapi", + "AssistantDraftVoice_Wellsaid", + "AssistantDraftVoice_Xai", + "AssistantDraftVoicemailDetection", + "AssistantDraftVoicemailDetectionZero", "AssistantFirstMessageMode", "AssistantHookAssistantSpeechInterrupted", "AssistantHookCallEnding", @@ -9493,6 +11311,7 @@ def __dir__(): "AssistantModel_Openrouter", "AssistantModel_PerplexityAi", "AssistantModel_TogetherAi", + "AssistantModel_Vapi", "AssistantModel_Xai", "AssistantOverrides", "AssistantOverridesBackgroundSound", @@ -9531,6 +11350,7 @@ def __dir__(): "AssistantOverridesCredentialsItem_Langfuse", "AssistantOverridesCredentialsItem_Lmnt", "AssistantOverridesCredentialsItem_Make", + "AssistantOverridesCredentialsItem_Microsoft", "AssistantOverridesCredentialsItem_Minimax", "AssistantOverridesCredentialsItem_Mistral", "AssistantOverridesCredentialsItem_Neuphonic", @@ -9541,6 +11361,7 @@ def __dir__(): "AssistantOverridesCredentialsItem_RimeAi", "AssistantOverridesCredentialsItem_Runpod", "AssistantOverridesCredentialsItem_S3", + "AssistantOverridesCredentialsItem_S3Compatible", "AssistantOverridesCredentialsItem_SlackOauth2Authorization", "AssistantOverridesCredentialsItem_SlackWebhook", "AssistantOverridesCredentialsItem_SmallestAi", @@ -9549,7 +11370,6 @@ def __dir__(): "AssistantOverridesCredentialsItem_Supabase", "AssistantOverridesCredentialsItem_Tavus", "AssistantOverridesCredentialsItem_TogetherAi", - "AssistantOverridesCredentialsItem_Trieve", "AssistantOverridesCredentialsItem_Twilio", "AssistantOverridesCredentialsItem_Vonage", "AssistantOverridesCredentialsItem_Webhook", @@ -9573,6 +11393,7 @@ def __dir__(): "AssistantOverridesModel_Openrouter", "AssistantOverridesModel_PerplexityAi", "AssistantOverridesModel_TogetherAi", + "AssistantOverridesModel_Vapi", "AssistantOverridesModel_Xai", "AssistantOverridesServerMessagesItem", "AssistantOverridesToolsAppendItem", @@ -9612,6 +11433,8 @@ def __dir__(): "AssistantOverridesTranscriber_Soniox", "AssistantOverridesTranscriber_Speechmatics", "AssistantOverridesTranscriber_Talkscriber", + "AssistantOverridesTranscriber_Vapi", + "AssistantOverridesTranscriber_Xai", "AssistantOverridesVoice", "AssistantOverridesVoice_11Labs", "AssistantOverridesVoice_Azure", @@ -9621,6 +11444,7 @@ def __dir__(): "AssistantOverridesVoice_Hume", "AssistantOverridesVoice_Inworld", "AssistantOverridesVoice_Lmnt", + "AssistantOverridesVoice_Microsoft", "AssistantOverridesVoice_Minimax", "AssistantOverridesVoice_Neuphonic", "AssistantOverridesVoice_Openai", @@ -9631,9 +11455,12 @@ def __dir__(): "AssistantOverridesVoice_Tavus", "AssistantOverridesVoice_Vapi", "AssistantOverridesVoice_Wellsaid", + "AssistantOverridesVoice_Xai", "AssistantOverridesVoicemailDetection", "AssistantOverridesVoicemailDetectionZero", "AssistantPaginatedResponse", + "AssistantPinnedConflictResponseDto", + "AssistantPinnedConflictResponseDtoError", "AssistantServerMessagesItem", "AssistantSpeechWordAlignmentTiming", "AssistantSpeechWordProgressTiming", @@ -9651,8 +11478,132 @@ def __dir__(): "AssistantTranscriber_Soniox", "AssistantTranscriber_Speechmatics", "AssistantTranscriber_Talkscriber", + "AssistantTranscriber_Vapi", + "AssistantTranscriber_Xai", "AssistantUserEditable", + "AssistantVersion", + "AssistantVersionBackgroundSound", + "AssistantVersionBackgroundSoundZero", + "AssistantVersionClientMessagesItem", + "AssistantVersionCredentialsItem", + "AssistantVersionCredentialsItem_11Labs", + "AssistantVersionCredentialsItem_Anthropic", + "AssistantVersionCredentialsItem_AnthropicBedrock", + "AssistantVersionCredentialsItem_Anyscale", + "AssistantVersionCredentialsItem_AssemblyAi", + "AssistantVersionCredentialsItem_Azure", + "AssistantVersionCredentialsItem_AzureOpenai", + "AssistantVersionCredentialsItem_ByoSipTrunk", + "AssistantVersionCredentialsItem_Cartesia", + "AssistantVersionCredentialsItem_Cerebras", + "AssistantVersionCredentialsItem_Cloudflare", + "AssistantVersionCredentialsItem_CustomCredential", + "AssistantVersionCredentialsItem_CustomLlm", + "AssistantVersionCredentialsItem_DeepSeek", + "AssistantVersionCredentialsItem_Deepgram", + "AssistantVersionCredentialsItem_Deepinfra", + "AssistantVersionCredentialsItem_Email", + "AssistantVersionCredentialsItem_Gcp", + "AssistantVersionCredentialsItem_GhlOauth2Authorization", + "AssistantVersionCredentialsItem_Gladia", + "AssistantVersionCredentialsItem_Gohighlevel", + "AssistantVersionCredentialsItem_Google", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Client", + "AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization", + "AssistantVersionCredentialsItem_Groq", + "AssistantVersionCredentialsItem_Hume", + "AssistantVersionCredentialsItem_InflectionAi", + "AssistantVersionCredentialsItem_Inworld", + "AssistantVersionCredentialsItem_Langfuse", + "AssistantVersionCredentialsItem_Lmnt", + "AssistantVersionCredentialsItem_Make", + "AssistantVersionCredentialsItem_Microsoft", + "AssistantVersionCredentialsItem_Minimax", + "AssistantVersionCredentialsItem_Mistral", + "AssistantVersionCredentialsItem_Neuphonic", + "AssistantVersionCredentialsItem_Openai", + "AssistantVersionCredentialsItem_Openrouter", + "AssistantVersionCredentialsItem_PerplexityAi", + "AssistantVersionCredentialsItem_Playht", + "AssistantVersionCredentialsItem_RimeAi", + "AssistantVersionCredentialsItem_Runpod", + "AssistantVersionCredentialsItem_S3", + "AssistantVersionCredentialsItem_S3Compatible", + "AssistantVersionCredentialsItem_SlackOauth2Authorization", + "AssistantVersionCredentialsItem_SlackWebhook", + "AssistantVersionCredentialsItem_SmallestAi", + "AssistantVersionCredentialsItem_Soniox", + "AssistantVersionCredentialsItem_Speechmatics", + "AssistantVersionCredentialsItem_Supabase", + "AssistantVersionCredentialsItem_Tavus", + "AssistantVersionCredentialsItem_TogetherAi", + "AssistantVersionCredentialsItem_Twilio", + "AssistantVersionCredentialsItem_Vonage", + "AssistantVersionCredentialsItem_Webhook", + "AssistantVersionCredentialsItem_Wellsaid", + "AssistantVersionCredentialsItem_Xai", + "AssistantVersionFirstMessageMode", + "AssistantVersionHooksItem", + "AssistantVersionModel", + "AssistantVersionModel_Anthropic", + "AssistantVersionModel_AnthropicBedrock", + "AssistantVersionModel_Anyscale", + "AssistantVersionModel_Cerebras", + "AssistantVersionModel_CustomLlm", + "AssistantVersionModel_DeepSeek", + "AssistantVersionModel_Deepinfra", + "AssistantVersionModel_Google", + "AssistantVersionModel_Groq", + "AssistantVersionModel_InflectionAi", + "AssistantVersionModel_Minimax", + "AssistantVersionModel_Openai", + "AssistantVersionModel_Openrouter", + "AssistantVersionModel_PerplexityAi", + "AssistantVersionModel_TogetherAi", + "AssistantVersionModel_Vapi", + "AssistantVersionModel_Xai", + "AssistantVersionPaginatedMetadata", "AssistantVersionPaginatedResponse", + "AssistantVersionServerMessagesItem", + "AssistantVersionTranscriber", + "AssistantVersionTranscriber_11Labs", + "AssistantVersionTranscriber_AssemblyAi", + "AssistantVersionTranscriber_Azure", + "AssistantVersionTranscriber_Cartesia", + "AssistantVersionTranscriber_CustomTranscriber", + "AssistantVersionTranscriber_Deepgram", + "AssistantVersionTranscriber_Gladia", + "AssistantVersionTranscriber_Google", + "AssistantVersionTranscriber_Openai", + "AssistantVersionTranscriber_Soniox", + "AssistantVersionTranscriber_Speechmatics", + "AssistantVersionTranscriber_Talkscriber", + "AssistantVersionTranscriber_Vapi", + "AssistantVersionTranscriber_Xai", + "AssistantVersionVoice", + "AssistantVersionVoice_11Labs", + "AssistantVersionVoice_Azure", + "AssistantVersionVoice_Cartesia", + "AssistantVersionVoice_CustomVoice", + "AssistantVersionVoice_Deepgram", + "AssistantVersionVoice_Hume", + "AssistantVersionVoice_Inworld", + "AssistantVersionVoice_Lmnt", + "AssistantVersionVoice_Microsoft", + "AssistantVersionVoice_Minimax", + "AssistantVersionVoice_Neuphonic", + "AssistantVersionVoice_Openai", + "AssistantVersionVoice_Playht", + "AssistantVersionVoice_RimeAi", + "AssistantVersionVoice_Sesame", + "AssistantVersionVoice_SmallestAi", + "AssistantVersionVoice_Tavus", + "AssistantVersionVoice_Vapi", + "AssistantVersionVoice_Wellsaid", + "AssistantVersionVoice_Xai", + "AssistantVersionVoicemailDetection", + "AssistantVersionVoicemailDetectionZero", "AssistantVoice", "AssistantVoice_11Labs", "AssistantVoice_Azure", @@ -9662,6 +11613,7 @@ def __dir__(): "AssistantVoice_Hume", "AssistantVoice_Inworld", "AssistantVoice_Lmnt", + "AssistantVoice_Microsoft", "AssistantVoice_Minimax", "AssistantVoice_Neuphonic", "AssistantVoice_Openai", @@ -9672,9 +11624,12 @@ def __dir__(): "AssistantVoice_Tavus", "AssistantVoice_Vapi", "AssistantVoice_Wellsaid", + "AssistantVoice_Xai", "AssistantVoicemailDetection", "AssistantVoicemailDetectionZero", "AsyncVapi", + "AudioFormat", + "AudioFormatContainer", "AutoReloadPlan", "AwsStsAssumeRoleUser", "AwsStsAuthenticationArtifact", @@ -9725,6 +11680,21 @@ def __dir__(): "BashToolWithToolCallName", "BashToolWithToolCallSubType", "BearerAuthenticationPlan", + "Board", + "BoardControllerFindAllRequestSortBy", + "BoardControllerFindAllRequestSortOrder", + "BoardInsightItem", + "BoardInsightItemType", + "BoardItemPosition", + "BoardItemSize", + "BoardItemsItem", + "BoardLayout", + "BoardMetricWidgetItem", + "BoardMetricWidgetItemType", + "BoardPaginatedResponse", + "BooleanComparatorScorecardMetricCondition", + "BooleanComparatorScorecardMetricConditionComparator", + "BooleanComparatorScorecardMetricConditionType", "BotMessage", "BothCustomEndpointingRule", "BucketPlan", @@ -9794,12 +11764,26 @@ def __dir__(): "CallPhoneCallProvider", "CallPhoneCallTransport", "CallStatus", + "CallTransport", + "CallTransport_Daily", + "CallTransport_Telnyx", + "CallTransport_Twilio", + "CallTransport_VapiSip", + "CallTransport_VapiWebsocket", + "CallTransport_Vonage", "CallType", "Campaign", + "CampaignContact", + "CampaignControllerFindAllRequestSortBy", "CampaignControllerFindAllRequestSortOrder", "CampaignControllerFindAllRequestStatus", + "CampaignControllerFindAllV2RequestSortBy", + "CampaignControllerFindAllV2RequestSortOrder", + "CampaignControllerFindAllV2RequestStatus", "CampaignEndedReason", "CampaignPaginatedResponse", + "CampaignPredialPlan", + "CampaignServerMessagesItem", "CampaignStatus", "CartesiaCredential", "CartesiaCredentialProvider", @@ -10129,9 +12113,11 @@ def __dir__(): "ComputerToolWithToolCallSubType", "Condition", "ConditionOperator", + "ConflictError", "ContextEngineeringPlanAll", "ContextEngineeringPlanLastNMessages", "ContextEngineeringPlanNone", + "ContextEngineeringPlanPreviousAssistantMessages", "ContextEngineeringPlanUserAndAssistantMessages", "ConversationNode", "ConversationNodeModel", @@ -10177,6 +12163,8 @@ def __dir__(): "ConversationNodeTranscriber_Soniox", "ConversationNodeTranscriber_Speechmatics", "ConversationNodeTranscriber_Talkscriber", + "ConversationNodeTranscriber_Vapi", + "ConversationNodeTranscriber_Xai", "ConversationNodeVoice", "ConversationNodeVoice_11Labs", "ConversationNodeVoice_Azure", @@ -10186,6 +12174,7 @@ def __dir__(): "ConversationNodeVoice_Hume", "ConversationNodeVoice_Inworld", "ConversationNodeVoice_Lmnt", + "ConversationNodeVoice_Microsoft", "ConversationNodeVoice_Minimax", "ConversationNodeVoice_Neuphonic", "ConversationNodeVoice_Openai", @@ -10196,6 +12185,7 @@ def __dir__(): "ConversationNodeVoice_Tavus", "ConversationNodeVoice_Vapi", "ConversationNodeVoice_Wellsaid", + "ConversationNodeVoice_Xai", "CostBreakdown", "CreateAnthropicBedrockCredentialDto", "CreateAnthropicBedrockCredentialDtoAuthenticationPlan", @@ -10212,6 +12202,127 @@ def __dir__(): "CreateApiRequestToolDtoMessagesItem_RequestStart", "CreateApiRequestToolDtoMethod", "CreateAssemblyAiCredentialDto", + "CreateAssistantDraftDto", + "CreateAssistantDraftDtoBackgroundSound", + "CreateAssistantDraftDtoBackgroundSoundZero", + "CreateAssistantDraftDtoClientMessagesItem", + "CreateAssistantDraftDtoCredentialsItem", + "CreateAssistantDraftDtoCredentialsItem_11Labs", + "CreateAssistantDraftDtoCredentialsItem_Anthropic", + "CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock", + "CreateAssistantDraftDtoCredentialsItem_Anyscale", + "CreateAssistantDraftDtoCredentialsItem_AssemblyAi", + "CreateAssistantDraftDtoCredentialsItem_Azure", + "CreateAssistantDraftDtoCredentialsItem_AzureOpenai", + "CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk", + "CreateAssistantDraftDtoCredentialsItem_Cartesia", + "CreateAssistantDraftDtoCredentialsItem_Cerebras", + "CreateAssistantDraftDtoCredentialsItem_Cloudflare", + "CreateAssistantDraftDtoCredentialsItem_CustomCredential", + "CreateAssistantDraftDtoCredentialsItem_CustomLlm", + "CreateAssistantDraftDtoCredentialsItem_DeepSeek", + "CreateAssistantDraftDtoCredentialsItem_Deepgram", + "CreateAssistantDraftDtoCredentialsItem_Deepinfra", + "CreateAssistantDraftDtoCredentialsItem_Email", + "CreateAssistantDraftDtoCredentialsItem_Gcp", + "CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_Gladia", + "CreateAssistantDraftDtoCredentialsItem_Gohighlevel", + "CreateAssistantDraftDtoCredentialsItem_Google", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client", + "CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_Groq", + "CreateAssistantDraftDtoCredentialsItem_Hume", + "CreateAssistantDraftDtoCredentialsItem_InflectionAi", + "CreateAssistantDraftDtoCredentialsItem_Inworld", + "CreateAssistantDraftDtoCredentialsItem_Langfuse", + "CreateAssistantDraftDtoCredentialsItem_Lmnt", + "CreateAssistantDraftDtoCredentialsItem_Make", + "CreateAssistantDraftDtoCredentialsItem_Microsoft", + "CreateAssistantDraftDtoCredentialsItem_Minimax", + "CreateAssistantDraftDtoCredentialsItem_Mistral", + "CreateAssistantDraftDtoCredentialsItem_Neuphonic", + "CreateAssistantDraftDtoCredentialsItem_Openai", + "CreateAssistantDraftDtoCredentialsItem_Openrouter", + "CreateAssistantDraftDtoCredentialsItem_PerplexityAi", + "CreateAssistantDraftDtoCredentialsItem_Playht", + "CreateAssistantDraftDtoCredentialsItem_RimeAi", + "CreateAssistantDraftDtoCredentialsItem_Runpod", + "CreateAssistantDraftDtoCredentialsItem_S3", + "CreateAssistantDraftDtoCredentialsItem_S3Compatible", + "CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_SlackWebhook", + "CreateAssistantDraftDtoCredentialsItem_SmallestAi", + "CreateAssistantDraftDtoCredentialsItem_Soniox", + "CreateAssistantDraftDtoCredentialsItem_Speechmatics", + "CreateAssistantDraftDtoCredentialsItem_Supabase", + "CreateAssistantDraftDtoCredentialsItem_Tavus", + "CreateAssistantDraftDtoCredentialsItem_TogetherAi", + "CreateAssistantDraftDtoCredentialsItem_Twilio", + "CreateAssistantDraftDtoCredentialsItem_Vonage", + "CreateAssistantDraftDtoCredentialsItem_Webhook", + "CreateAssistantDraftDtoCredentialsItem_Wellsaid", + "CreateAssistantDraftDtoCredentialsItem_Xai", + "CreateAssistantDraftDtoFirstMessageMode", + "CreateAssistantDraftDtoHooksItem", + "CreateAssistantDraftDtoModel", + "CreateAssistantDraftDtoModel_Anthropic", + "CreateAssistantDraftDtoModel_AnthropicBedrock", + "CreateAssistantDraftDtoModel_Anyscale", + "CreateAssistantDraftDtoModel_Cerebras", + "CreateAssistantDraftDtoModel_CustomLlm", + "CreateAssistantDraftDtoModel_DeepSeek", + "CreateAssistantDraftDtoModel_Deepinfra", + "CreateAssistantDraftDtoModel_Google", + "CreateAssistantDraftDtoModel_Groq", + "CreateAssistantDraftDtoModel_InflectionAi", + "CreateAssistantDraftDtoModel_Minimax", + "CreateAssistantDraftDtoModel_Openai", + "CreateAssistantDraftDtoModel_Openrouter", + "CreateAssistantDraftDtoModel_PerplexityAi", + "CreateAssistantDraftDtoModel_TogetherAi", + "CreateAssistantDraftDtoModel_Vapi", + "CreateAssistantDraftDtoModel_Xai", + "CreateAssistantDraftDtoServerMessagesItem", + "CreateAssistantDraftDtoTranscriber", + "CreateAssistantDraftDtoTranscriber_11Labs", + "CreateAssistantDraftDtoTranscriber_AssemblyAi", + "CreateAssistantDraftDtoTranscriber_Azure", + "CreateAssistantDraftDtoTranscriber_Cartesia", + "CreateAssistantDraftDtoTranscriber_CustomTranscriber", + "CreateAssistantDraftDtoTranscriber_Deepgram", + "CreateAssistantDraftDtoTranscriber_Gladia", + "CreateAssistantDraftDtoTranscriber_Google", + "CreateAssistantDraftDtoTranscriber_Openai", + "CreateAssistantDraftDtoTranscriber_Soniox", + "CreateAssistantDraftDtoTranscriber_Speechmatics", + "CreateAssistantDraftDtoTranscriber_Talkscriber", + "CreateAssistantDraftDtoTranscriber_Vapi", + "CreateAssistantDraftDtoTranscriber_Xai", + "CreateAssistantDraftDtoVoice", + "CreateAssistantDraftDtoVoice_11Labs", + "CreateAssistantDraftDtoVoice_Azure", + "CreateAssistantDraftDtoVoice_Cartesia", + "CreateAssistantDraftDtoVoice_CustomVoice", + "CreateAssistantDraftDtoVoice_Deepgram", + "CreateAssistantDraftDtoVoice_Hume", + "CreateAssistantDraftDtoVoice_Inworld", + "CreateAssistantDraftDtoVoice_Lmnt", + "CreateAssistantDraftDtoVoice_Microsoft", + "CreateAssistantDraftDtoVoice_Minimax", + "CreateAssistantDraftDtoVoice_Neuphonic", + "CreateAssistantDraftDtoVoice_Openai", + "CreateAssistantDraftDtoVoice_Playht", + "CreateAssistantDraftDtoVoice_RimeAi", + "CreateAssistantDraftDtoVoice_Sesame", + "CreateAssistantDraftDtoVoice_SmallestAi", + "CreateAssistantDraftDtoVoice_Tavus", + "CreateAssistantDraftDtoVoice_Vapi", + "CreateAssistantDraftDtoVoice_Wellsaid", + "CreateAssistantDraftDtoVoice_Xai", + "CreateAssistantDraftDtoVoicemailDetection", + "CreateAssistantDraftDtoVoicemailDetectionZero", "CreateAssistantDto", "CreateAssistantDtoBackgroundSound", "CreateAssistantDtoBackgroundSoundZero", @@ -10249,6 +12360,7 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_Langfuse", "CreateAssistantDtoCredentialsItem_Lmnt", "CreateAssistantDtoCredentialsItem_Make", + "CreateAssistantDtoCredentialsItem_Microsoft", "CreateAssistantDtoCredentialsItem_Minimax", "CreateAssistantDtoCredentialsItem_Mistral", "CreateAssistantDtoCredentialsItem_Neuphonic", @@ -10259,6 +12371,7 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_RimeAi", "CreateAssistantDtoCredentialsItem_Runpod", "CreateAssistantDtoCredentialsItem_S3", + "CreateAssistantDtoCredentialsItem_S3Compatible", "CreateAssistantDtoCredentialsItem_SlackOauth2Authorization", "CreateAssistantDtoCredentialsItem_SlackWebhook", "CreateAssistantDtoCredentialsItem_SmallestAi", @@ -10267,7 +12380,6 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_Supabase", "CreateAssistantDtoCredentialsItem_Tavus", "CreateAssistantDtoCredentialsItem_TogetherAi", - "CreateAssistantDtoCredentialsItem_Trieve", "CreateAssistantDtoCredentialsItem_Twilio", "CreateAssistantDtoCredentialsItem_Vonage", "CreateAssistantDtoCredentialsItem_Webhook", @@ -10291,6 +12403,7 @@ def __dir__(): "CreateAssistantDtoModel_Openrouter", "CreateAssistantDtoModel_PerplexityAi", "CreateAssistantDtoModel_TogetherAi", + "CreateAssistantDtoModel_Vapi", "CreateAssistantDtoModel_Xai", "CreateAssistantDtoServerMessagesItem", "CreateAssistantDtoTranscriber", @@ -10306,6 +12419,8 @@ def __dir__(): "CreateAssistantDtoTranscriber_Soniox", "CreateAssistantDtoTranscriber_Speechmatics", "CreateAssistantDtoTranscriber_Talkscriber", + "CreateAssistantDtoTranscriber_Vapi", + "CreateAssistantDtoTranscriber_Xai", "CreateAssistantDtoVoice", "CreateAssistantDtoVoice_11Labs", "CreateAssistantDtoVoice_Azure", @@ -10315,6 +12430,7 @@ def __dir__(): "CreateAssistantDtoVoice_Hume", "CreateAssistantDtoVoice_Inworld", "CreateAssistantDtoVoice_Lmnt", + "CreateAssistantDtoVoice_Microsoft", "CreateAssistantDtoVoice_Minimax", "CreateAssistantDtoVoice_Neuphonic", "CreateAssistantDtoVoice_Openai", @@ -10325,6 +12441,7 @@ def __dir__(): "CreateAssistantDtoVoice_Tavus", "CreateAssistantDtoVoice_Vapi", "CreateAssistantDtoVoice_Wellsaid", + "CreateAssistantDtoVoice_Xai", "CreateAssistantDtoVoicemailDetection", "CreateAssistantDtoVoicemailDetectionZero", "CreateAzureCredentialDto", @@ -10344,6 +12461,7 @@ def __dir__(): "CreateBashToolDtoMessagesItem_RequestStart", "CreateBashToolDtoName", "CreateBashToolDtoSubType", + "CreateBoardDtoItemsItem", "CreateByoPhoneNumberDto", "CreateByoPhoneNumberDtoFallbackDestination", "CreateByoPhoneNumberDtoFallbackDestination_Number", @@ -10352,7 +12470,16 @@ def __dir__(): "CreateByoPhoneNumberDtoHooksItem_CallEnding", "CreateByoPhoneNumberDtoHooksItem_CallRinging", "CreateByoSipTrunkCredentialDto", + "CreateCallDtoTransport", + "CreateCallDtoTransport_Daily", + "CreateCallDtoTransport_Telnyx", + "CreateCallDtoTransport_Twilio", + "CreateCallDtoTransport_VapiSip", + "CreateCallDtoTransport_VapiWebsocket", + "CreateCallDtoTransport_Vonage", "CreateCallsResponse", + "CreateCampaignDto", + "CreateCampaignDtoServerMessagesItem", "CreateCartesiaCredentialDto", "CreateCerebrasCredentialDto", "CreateChatDtoInput", @@ -10395,6 +12522,7 @@ def __dir__(): "CreateDtmfToolDtoMessagesItem_RequestResponseDelayed", "CreateDtmfToolDtoMessagesItem_RequestStart", "CreateElevenLabsCredentialDto", + "CreateElevenLabsCredentialDtoApiUrl", "CreateEmailCredentialDto", "CreateEndCallToolDto", "CreateEndCallToolDtoMessagesItem", @@ -10505,6 +12633,7 @@ def __dir__(): "CreateMcpToolDtoMessagesItem_RequestFailed", "CreateMcpToolDtoMessagesItem_RequestResponseDelayed", "CreateMcpToolDtoMessagesItem_RequestStart", + "CreateMicrosoftCredentialDto", "CreateMinimaxCredentialDto", "CreateMistralCredentialDto", "CreateNeuphonicCredentialDto", @@ -10513,6 +12642,13 @@ def __dir__(): "CreateOrgDto", "CreateOrgDtoChannel", "CreateOutboundCallDto", + "CreateOutboundCallDtoTransport", + "CreateOutboundCallDtoTransport_Daily", + "CreateOutboundCallDtoTransport_Telnyx", + "CreateOutboundCallDtoTransport_Twilio", + "CreateOutboundCallDtoTransport_VapiSip", + "CreateOutboundCallDtoTransport_VapiWebsocket", + "CreateOutboundCallDtoTransport_Vonage", "CreateOutputToolDto", "CreateOutputToolDtoMessagesItem", "CreateOutputToolDtoMessagesItem_RequestComplete", @@ -10547,6 +12683,7 @@ def __dir__(): "CreateResponseChatsResponse", "CreateRimeAiCredentialDto", "CreateRunpodCredentialDto", + "CreateS3CompatibleCredentialDto", "CreateS3CredentialDto", "CreateScenarioDto", "CreateScenarioDtoHooksItem", @@ -10564,6 +12701,14 @@ def __dir__(): "CreateSimulationRunDtoTarget", "CreateSimulationRunDtoTarget_Assistant", "CreateSimulationRunDtoTarget_Squad", + "CreateSimulationRunResponse", + "CreateSimulationRunResponseSimulationsItem", + "CreateSimulationRunResponseSimulationsItem_Simulation", + "CreateSimulationRunResponseSimulationsItem_SimulationSuite", + "CreateSimulationRunResponseStatus", + "CreateSimulationRunResponseTarget", + "CreateSimulationRunResponseTarget_Assistant", + "CreateSimulationRunResponseTarget_Squad", "CreateSimulationSuiteDto", "CreateSipRequestToolDto", "CreateSipRequestToolDtoBody", @@ -10592,6 +12737,10 @@ def __dir__(): "CreateSpeechmaticsCredentialDto", "CreateSquadDto", "CreateStructuredOutputDto", + "CreateStructuredOutputDtoConditionsItem", + "CreateStructuredOutputDtoConditionsItem_EndedReason", + "CreateStructuredOutputDtoConditionsItem_MinCallDuration", + "CreateStructuredOutputDtoConditionsItem_MinMessages", "CreateStructuredOutputDtoModel", "CreateStructuredOutputDtoModel_Anthropic", "CreateStructuredOutputDtoModel_AnthropicBedrock", @@ -10627,6 +12776,15 @@ def __dir__(): "CreateTogetherAiCredentialDto", "CreateTokenDto", "CreateTokenDtoTag", + "CreateToolDraftDto", + "CreateToolDraftDtoMessagesItem", + "CreateToolDraftDtoMessagesItem_RequestComplete", + "CreateToolDraftDtoMessagesItem_RequestFailed", + "CreateToolDraftDtoMessagesItem_RequestResponseDelayed", + "CreateToolDraftDtoMessagesItem_RequestStart", + "CreateToolDraftDtoMethod", + "CreateToolDraftDtoType", + "CreateToolDraftDtoVerb", "CreateToolTemplateDto", "CreateToolTemplateDtoDetails", "CreateToolTemplateDtoDetails_ApiRequest", @@ -10724,7 +12882,6 @@ def __dir__(): "CreateTransferCallToolDtoMessagesItem_RequestStart", "CreateTrieveCredentialDto", "CreateTrieveKnowledgeBaseDto", - "CreateTrieveKnowledgeBaseDtoProvider", "CreateTwilioCredentialDto", "CreateTwilioPhoneNumberDto", "CreateTwilioPhoneNumberDtoFallbackDestination", @@ -10801,6 +12958,7 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_Langfuse", "CreateWorkflowDtoCredentialsItem_Lmnt", "CreateWorkflowDtoCredentialsItem_Make", + "CreateWorkflowDtoCredentialsItem_Microsoft", "CreateWorkflowDtoCredentialsItem_Minimax", "CreateWorkflowDtoCredentialsItem_Mistral", "CreateWorkflowDtoCredentialsItem_Neuphonic", @@ -10811,6 +12969,7 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_RimeAi", "CreateWorkflowDtoCredentialsItem_Runpod", "CreateWorkflowDtoCredentialsItem_S3", + "CreateWorkflowDtoCredentialsItem_S3Compatible", "CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization", "CreateWorkflowDtoCredentialsItem_SlackWebhook", "CreateWorkflowDtoCredentialsItem_SmallestAi", @@ -10819,7 +12978,6 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_Supabase", "CreateWorkflowDtoCredentialsItem_Tavus", "CreateWorkflowDtoCredentialsItem_TogetherAi", - "CreateWorkflowDtoCredentialsItem_Trieve", "CreateWorkflowDtoCredentialsItem_Twilio", "CreateWorkflowDtoCredentialsItem_Vonage", "CreateWorkflowDtoCredentialsItem_Webhook", @@ -10848,6 +13006,8 @@ def __dir__(): "CreateWorkflowDtoTranscriber_Soniox", "CreateWorkflowDtoTranscriber_Speechmatics", "CreateWorkflowDtoTranscriber_Talkscriber", + "CreateWorkflowDtoTranscriber_Vapi", + "CreateWorkflowDtoTranscriber_Xai", "CreateWorkflowDtoVoice", "CreateWorkflowDtoVoice_11Labs", "CreateWorkflowDtoVoice_Azure", @@ -10857,6 +13017,7 @@ def __dir__(): "CreateWorkflowDtoVoice_Hume", "CreateWorkflowDtoVoice_Inworld", "CreateWorkflowDtoVoice_Lmnt", + "CreateWorkflowDtoVoice_Microsoft", "CreateWorkflowDtoVoice_Minimax", "CreateWorkflowDtoVoice_Neuphonic", "CreateWorkflowDtoVoice_Openai", @@ -10867,6 +13028,7 @@ def __dir__(): "CreateWorkflowDtoVoice_Tavus", "CreateWorkflowDtoVoice_Vapi", "CreateWorkflowDtoVoice_Wellsaid", + "CreateWorkflowDtoVoice_Xai", "CreateWorkflowDtoVoicemailDetection", "CreateWorkflowDtoVoicemailDetectionZero", "CreateXAiCredentialDto", @@ -10924,6 +13086,7 @@ def __dir__(): "CustomVoice", "CustomerCustomEndpointingRule", "CustomerSpeechTimeoutOptions", + "CustomerSpeechTimeoutOptionsTriggerResetMode", "DeepInfraCredential", "DeepInfraCredentialProvider", "DeepInfraModel", @@ -10984,6 +13147,7 @@ def __dir__(): "DeepgramTranscriber", "DeepgramTranscriberLanguage", "DeepgramTranscriberModel", + "DeepgramTranscriberRedactionItem", "DeepgramVoice", "DeepgramVoiceId", "DeepgramVoiceModel", @@ -11030,6 +13194,7 @@ def __dir__(): "DtmfToolMessagesItem_RequestStart", "Edge", "ElevenLabsCredential", + "ElevenLabsCredentialApiUrl", "ElevenLabsPronunciationDictionary", "ElevenLabsPronunciationDictionaryLocator", "ElevenLabsPronunciationDictionaryPermissionOnResource", @@ -11048,11 +13213,15 @@ def __dir__(): "EndCallToolMessagesItem_RequestFailed", "EndCallToolMessagesItem_RequestResponseDelayed", "EndCallToolMessagesItem_RequestStart", + "EndedReasonCondition", + "EndedReasonConditionOperator", "EndpointedSpeechLowConfidenceOptions", "Eval", "EvalAnthropicModel", "EvalAnthropicModelModel", + "EvalControllerGetPaginatedRequestSortBy", "EvalControllerGetPaginatedRequestSortOrder", + "EvalControllerGetRunsPaginatedRequestSortBy", "EvalControllerGetRunsPaginatedRequestSortOrder", "EvalCustomModel", "EvalGoogleModel", @@ -11100,10 +13269,12 @@ def __dir__(): "ExportChatDto", "ExportChatDtoColumns", "ExportChatDtoFormat", + "ExportChatDtoSortBy", "ExportChatDtoSortOrder", "ExportSessionDto", "ExportSessionDtoColumns", "ExportSessionDtoFormat", + "ExportSessionDtoSortBy", "ExportSessionDtoSortOrder", "FailedEdgeCondition", "FallbackAssemblyAiTranscriber", @@ -11126,6 +13297,7 @@ def __dir__(): "FallbackDeepgramTranscriber", "FallbackDeepgramTranscriberLanguage", "FallbackDeepgramTranscriberModel", + "FallbackDeepgramTranscriberRedactionItem", "FallbackDeepgramVoice", "FallbackDeepgramVoiceId", "FallbackDeepgramVoiceModel", @@ -11139,7 +13311,7 @@ def __dir__(): "FallbackGladiaTranscriber", "FallbackGladiaTranscriberLanguage", "FallbackGladiaTranscriberLanguageBehaviour", - "FallbackGladiaTranscriberLanguages", + "FallbackGladiaTranscriberLanguagesItem", "FallbackGladiaTranscriberModel", "FallbackGladiaTranscriberRegion", "FallbackGoogleTranscriber", @@ -11155,6 +13327,10 @@ def __dir__(): "FallbackLmntVoiceId", "FallbackLmntVoiceIdEnum", "FallbackLmntVoiceLanguage", + "FallbackMicrosoftVoice", + "FallbackMicrosoftVoiceRole", + "FallbackMicrosoftVoiceStyle", + "FallbackMicrosoftVoiceVoiceId", "FallbackMinimaxVoice", "FallbackMinimaxVoiceLanguageBoost", "FallbackMinimaxVoiceModel", @@ -11181,6 +13357,7 @@ def __dir__(): "FallbackPlanVoicesItem_Hume", "FallbackPlanVoicesItem_Inworld", "FallbackPlanVoicesItem_Lmnt", + "FallbackPlanVoicesItem_Microsoft", "FallbackPlanVoicesItem_Neuphonic", "FallbackPlanVoicesItem_Openai", "FallbackPlanVoicesItem_Playht", @@ -11190,6 +13367,7 @@ def __dir__(): "FallbackPlanVoicesItem_Tavus", "FallbackPlanVoicesItem_Vapi", "FallbackPlanVoicesItem_Wellsaid", + "FallbackPlanVoicesItem_Xai", "FallbackPlayHtVoice", "FallbackPlayHtVoiceEmotion", "FallbackPlayHtVoiceId", @@ -11209,6 +13387,7 @@ def __dir__(): "FallbackSmallestAiVoiceModel", "FallbackSonioxTranscriber", "FallbackSonioxTranscriberLanguage", + "FallbackSonioxTranscriberLanguagesItem", "FallbackSonioxTranscriberModel", "FallbackSpeechmaticsTranscriber", "FallbackSpeechmaticsTranscriberLanguage", @@ -11236,10 +13415,19 @@ def __dir__(): "FallbackTranscriberPlanTranscribersItem_Soniox", "FallbackTranscriberPlanTranscribersItem_Speechmatics", "FallbackTranscriberPlanTranscribersItem_Talkscriber", + "FallbackTranscriberPlanTranscribersItem_Xai", "FallbackVapiVoice", + "FallbackVapiVoiceLanguage", + "FallbackVapiVoiceVersion", "FallbackVapiVoiceVoiceId", "FallbackWellSaidVoice", "FallbackWellSaidVoiceModel", + "FallbackXaiTranscriber", + "FallbackXaiTranscriberLanguage", + "FallbackXaiTranscriberModel", + "FallbackXaiVoice", + "FallbackXaiVoiceLanguage", + "FallbackXaiVoiceVoiceId", "File", "FileObject", "FileStatus", @@ -11301,10 +13489,13 @@ def __dir__(): "GeneratedScenario", "GeneratedScenarioCategory", "GetChatPaginatedDto", + "GetChatPaginatedDtoSortBy", "GetChatPaginatedDtoSortOrder", "GetEvalPaginatedDto", + "GetEvalPaginatedDtoSortBy", "GetEvalPaginatedDtoSortOrder", "GetEvalRunPaginatedDto", + "GetEvalRunPaginatedDtoSortBy", "GetEvalRunPaginatedDtoSortOrder", "GetPhoneNumbersResponse", "GetPhoneNumbersResponse_ByoPhoneNumber", @@ -11313,7 +13504,9 @@ def __dir__(): "GetPhoneNumbersResponse_Vapi", "GetPhoneNumbersResponse_Vonage", "GetSessionPaginatedDto", + "GetSessionPaginatedDtoSortBy", "GetSessionPaginatedDtoSortOrder", + "GetToolDraftsDto", "GetToolsResponse", "GetToolsResponse_ApiRequest", "GetToolsResponse_Bash", @@ -11360,7 +13553,7 @@ def __dir__(): "GladiaTranscriber", "GladiaTranscriberLanguage", "GladiaTranscriberLanguageBehaviour", - "GladiaTranscriberLanguages", + "GladiaTranscriberLanguagesItem", "GladiaTranscriberModel", "GladiaTranscriberRegion", "GladiaVocabularyItemDto", @@ -11538,6 +13731,7 @@ def __dir__(): "HandoffDestinationAssistantContextEngineeringPlan_All", "HandoffDestinationAssistantContextEngineeringPlan_LastNMessages", "HandoffDestinationAssistantContextEngineeringPlan_None", + "HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages", "HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages", "HandoffDestinationAssistantType", "HandoffDestinationDynamic", @@ -11546,6 +13740,7 @@ def __dir__(): "HandoffDestinationSquadContextEngineeringPlan_All", "HandoffDestinationSquadContextEngineeringPlan_LastNMessages", "HandoffDestinationSquadContextEngineeringPlan_None", + "HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages", "HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages", "HandoffTool", "HandoffToolDestinationsItem", @@ -11619,6 +13814,7 @@ def __dir__(): "InsightControllerCreateResponse_Line", "InsightControllerCreateResponse_Pie", "InsightControllerCreateResponse_Text", + "InsightControllerFindAllRequestSortBy", "InsightControllerFindAllRequestSortOrder", "InsightControllerFindOneResponse", "InsightControllerFindOneResponse_Bar", @@ -11656,6 +13852,7 @@ def __dir__(): "InsightType", "InviteUserDto", "InviteUserDtoRole", + "InviteUserDtoRoleZero", "InvoicePlan", "InworldCredential", "InworldCredentialProvider", @@ -11703,6 +13900,8 @@ def __dir__(): "LangfuseObservabilityPlan", "LangfuseObservabilityPlanProvider", "LatencyMetrics", + "LegacyAssistantVersion", + "LegacyAssistantVersionPaginatedResponse", "LineInsight", "LineInsightFromCallTable", "LineInsightFromCallTableGroupBy", @@ -11712,6 +13911,7 @@ def __dir__(): "LineInsightMetadata", "LineInsightQueriesItem", "LiquidCondition", + "ListChatsRequestSortBy", "ListChatsRequestSortOrder", "ListPhoneNumbersResponseItem", "ListPhoneNumbersResponseItem_ByoPhoneNumber", @@ -11719,6 +13919,7 @@ def __dir__(): "ListPhoneNumbersResponseItem_Twilio", "ListPhoneNumbersResponseItem_Vapi", "ListPhoneNumbersResponseItem_Vonage", + "ListSessionsRequestSortBy", "ListSessionsRequestSortOrder", "ListToolsResponseItem", "ListToolsResponseItem_ApiRequest", @@ -11787,6 +13988,14 @@ def __dir__(): "MessageAddHookAction", "MessageTarget", "MessageTargetRole", + "MicrosoftCredential", + "MicrosoftCredentialProvider", + "MicrosoftVoice", + "MicrosoftVoiceRole", + "MicrosoftVoiceStyle", + "MicrosoftVoiceVoiceId", + "MinCallDurationCondition", + "MinMessagesCondition", "MinimaxLlmModel", "MinimaxLlmModelModel", "MinimaxLlmModelToolsItem", @@ -11833,6 +14042,9 @@ def __dir__(): "NodeArtifact", "NodeArtifactMessagesItem", "NotFoundError", + "NumberComparatorScorecardMetricCondition", + "NumberComparatorScorecardMetricConditionComparator", + "NumberComparatorScorecardMetricConditionType", "OAuth2AuthenticationPlan", "OAuth2AuthenticationPlanType", "Oauth2AuthenticationSession", @@ -11847,6 +14059,7 @@ def __dir__(): "OpenAiModelFallbackModelsItem", "OpenAiModelModel", "OpenAiModelPromptCacheRetention", + "OpenAiModelReasoningEffort", "OpenAiModelToolStrictCompatibilityMode", "OpenAiModelToolsItem", "OpenAiModelToolsItem_ApiRequest", @@ -11924,6 +14137,9 @@ def __dir__(): "OutputToolMessagesItem_RequestStart", "OutputToolType", "PaginationMeta", + "PaginationMetaSortOrder", + "PendingInvitationDto", + "PendingInvitationsResponseDto", "PerformanceMetrics", "PerplexityAiCredential", "PerplexityAiCredentialProvider", @@ -11960,6 +14176,7 @@ def __dir__(): "PhoneNumberCallRingingHookFilter", "PhoneNumberCallRingingHookFilterKey", "PhoneNumberCallRingingHookFilterType", + "PhoneNumberControllerFindAllPaginatedRequestSortBy", "PhoneNumberControllerFindAllPaginatedRequestSortOrder", "PhoneNumberHookCallEnding", "PhoneNumberHookCallEndingDo", @@ -12002,6 +14219,7 @@ def __dir__(): "ProviderResourceControllerGetProviderResourceRequestResourceName", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder", "ProviderResourceControllerUpdateProviderResourceRequestProvider", "ProviderResourceControllerUpdateProviderResourceRequestResourceName", @@ -12024,6 +14242,7 @@ def __dir__(): "Recording", "RecordingConsent", "RecordingConsentPlanStayOnLine", + "RecordingConsentPlanStayOnLineFirstMessageMode", "RecordingConsentPlanStayOnLineVoice", "RecordingConsentPlanStayOnLineVoice_11Labs", "RecordingConsentPlanStayOnLineVoice_Azure", @@ -12033,6 +14252,7 @@ def __dir__(): "RecordingConsentPlanStayOnLineVoice_Hume", "RecordingConsentPlanStayOnLineVoice_Inworld", "RecordingConsentPlanStayOnLineVoice_Lmnt", + "RecordingConsentPlanStayOnLineVoice_Microsoft", "RecordingConsentPlanStayOnLineVoice_Minimax", "RecordingConsentPlanStayOnLineVoice_Neuphonic", "RecordingConsentPlanStayOnLineVoice_Openai", @@ -12043,7 +14263,9 @@ def __dir__(): "RecordingConsentPlanStayOnLineVoice_Tavus", "RecordingConsentPlanStayOnLineVoice_Vapi", "RecordingConsentPlanStayOnLineVoice_Wellsaid", + "RecordingConsentPlanStayOnLineVoice_Xai", "RecordingConsentPlanVerbal", + "RecordingConsentPlanVerbalFirstMessageMode", "RecordingConsentPlanVerbalVoice", "RecordingConsentPlanVerbalVoice_11Labs", "RecordingConsentPlanVerbalVoice_Azure", @@ -12053,6 +14275,7 @@ def __dir__(): "RecordingConsentPlanVerbalVoice_Hume", "RecordingConsentPlanVerbalVoice_Inworld", "RecordingConsentPlanVerbalVoice_Lmnt", + "RecordingConsentPlanVerbalVoice_Microsoft", "RecordingConsentPlanVerbalVoice_Minimax", "RecordingConsentPlanVerbalVoice_Neuphonic", "RecordingConsentPlanVerbalVoice_Openai", @@ -12063,6 +14286,8 @@ def __dir__(): "RecordingConsentPlanVerbalVoice_Tavus", "RecordingConsentPlanVerbalVoice_Vapi", "RecordingConsentPlanVerbalVoice_Wellsaid", + "RecordingConsentPlanVerbalVoice_Xai", + "RecordingConsentType", "RegexCondition", "RegexOption", "RegexOptionType", @@ -12103,6 +14328,7 @@ def __dir__(): "ResponseTextDeltaEventType", "ResponseTextDoneEvent", "ResponseTextDoneEventType", + "RevokeInvitationResponseDto", "RimeAiCredential", "RimeAiCredentialProvider", "RimeAiVoice", @@ -12112,10 +14338,14 @@ def __dir__(): "RimeAiVoiceModel", "RunpodCredential", "RunpodCredentialProvider", + "S3CompatibleBucketPlan", + "S3CompatibleStorageCredential", + "S3CompatibleStorageCredentialProvider", "S3Credential", "S3CredentialProvider", "SayAssistantHookAction", "SayHookAction", + "SayHookActionExact", "SayHookActionPrompt", "SayHookActionPromptOneItem", "SayPhoneNumberHookAction", @@ -12127,8 +14357,10 @@ def __dir__(): "ScenarioToolMock", "SchedulePlan", "Scorecard", + "ScorecardControllerGetPaginatedRequestSortBy", "ScorecardControllerGetPaginatedRequestSortOrder", "ScorecardMetric", + "ScorecardMetricConditionsItem", "ScorecardPaginatedResponse", "SecurityFilterBase", "SecurityFilterPlan", @@ -12180,6 +14412,14 @@ def __dir__(): "ServerMessageCallEndpointingRequestPhoneNumber_Vapi", "ServerMessageCallEndpointingRequestPhoneNumber_Vonage", "ServerMessageCallEndpointingRequestType", + "ServerMessageCampaignPredial", + "ServerMessageCampaignPredialPhoneNumber", + "ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber", + "ServerMessageCampaignPredialPhoneNumber_Telnyx", + "ServerMessageCampaignPredialPhoneNumber_Twilio", + "ServerMessageCampaignPredialPhoneNumber_Vapi", + "ServerMessageCampaignPredialPhoneNumber_Vonage", + "ServerMessageCampaignPredialType", "ServerMessageChatCreated", "ServerMessageChatCreatedPhoneNumber", "ServerMessageChatCreatedPhoneNumber_ByoPhoneNumber", @@ -12286,6 +14526,7 @@ def __dir__(): "ServerMessageResponseAssistantRequestDestination_Number", "ServerMessageResponseAssistantRequestDestination_Sip", "ServerMessageResponseCallEndpointingRequest", + "ServerMessageResponseCampaignPredial", "ServerMessageResponseHandoffDestinationRequest", "ServerMessageResponseKnowledgeBaseRequest", "ServerMessageResponseMessageResponse", @@ -12419,6 +14660,7 @@ def __dir__(): "ServerMessageVoiceRequestPhoneNumber_Vapi", "ServerMessageVoiceRequestPhoneNumber_Vonage", "ServerMessageVoiceRequestType", + "ServiceUnavailableError", "SesameVoice", "SesameVoiceModel", "Session", @@ -12467,6 +14709,8 @@ def __dir__(): "SimulationRunTransportConfiguration", "SimulationRunTransportConfigurationProvider", "SimulationSuite", + "SimulationSuiteTargetAssignment", + "SimulationSuiteTargetAssignmentTargetType", "SipAuthentication", "SipRequestTool", "SipRequestToolBody", @@ -12480,6 +14724,11 @@ def __dir__(): "SipTrunkGatewayOutboundProtocol", "SipTrunkOutboundAuthenticationPlan", "SipTrunkOutboundSipRegisterPlan", + "SkippedStructuredOutput", + "SkippedStructuredOutputUnmetCondition", + "SkippedStructuredOutputUnmetCondition_EndedReason", + "SkippedStructuredOutputUnmetCondition_MinCallDuration", + "SkippedStructuredOutputUnmetCondition_MinMessages", "SlackOAuth2AuthorizationCredential", "SlackOAuth2AuthorizationCredentialProvider", "SlackSendMessageTool", @@ -12503,10 +14752,12 @@ def __dir__(): "SmsToolMessagesItem_RequestFailed", "SmsToolMessagesItem_RequestResponseDelayed", "SmsToolMessagesItem_RequestStart", + "SonioxContextGeneralItem", "SonioxCredential", "SonioxCredentialProvider", "SonioxTranscriber", "SonioxTranscriberLanguage", + "SonioxTranscriberLanguagesItem", "SonioxTranscriberModel", "SpeechmaticsCredential", "SpeechmaticsCredentialProvider", @@ -12537,7 +14788,14 @@ def __dir__(): "StructuredDataMultiPlan", "StructuredDataPlan", "StructuredOutput", + "StructuredOutputConditionsItem", + "StructuredOutputConditionsItem_EndedReason", + "StructuredOutputConditionsItem_MinCallDuration", + "StructuredOutputConditionsItem_MinMessages", + "StructuredOutputControllerFindAllRequestSortBy", "StructuredOutputControllerFindAllRequestSortOrder", + "StructuredOutputControllerRunResponse", + "StructuredOutputControllerRunResponseZero", "StructuredOutputEvaluationResult", "StructuredOutputEvaluationResultComparator", "StructuredOutputEvaluationResultExpectedValue", @@ -12550,6 +14808,10 @@ def __dir__(): "StructuredOutputModel_Google", "StructuredOutputModel_Openai", "StructuredOutputPaginatedResponse", + "StructuredOutputRerunResponse", + "StructuredOutputRunPreviewResponse", + "StructuredOutputRunResult", + "StructuredOutputRunResultResult", "StructuredOutputType", "Subscription", "SubscriptionLimits", @@ -12584,6 +14846,8 @@ def __dir__(): "TelnyxPhoneNumberHooksItem_CallEnding", "TelnyxPhoneNumberHooksItem_CallRinging", "TelnyxPhoneNumberStatus", + "TelnyxTransport", + "TelnyxTransportConversationType", "Template", "TemplateDetails", "TemplateDetails_ApiRequest", @@ -12733,11 +14997,28 @@ def __dir__(): "ToolCallMessage", "ToolCallResult", "ToolCallResultMessage", + "ToolCallResultMessageWarning", + "ToolCallResultMessageWarningType", + "ToolCallResultMessage_RequestComplete", + "ToolCallResultMessage_RequestFailed", + "ToolDraft", + "ToolDraftConflictResponseDto", + "ToolDraftMessagesItem", + "ToolDraftMessagesItem_RequestComplete", + "ToolDraftMessagesItem_RequestFailed", + "ToolDraftMessagesItem_RequestResponseDelayed", + "ToolDraftMessagesItem_RequestStart", + "ToolDraftMethod", + "ToolDraftPaginatedMetadata", + "ToolDraftPaginatedResponse", + "ToolDraftType", + "ToolDraftVerb", "ToolMessage", "ToolMessageComplete", "ToolMessageCompleteRole", "ToolMessageDelayed", "ToolMessageFailed", + "ToolMessageFailedRole", "ToolMessageRole", "ToolMessageStart", "ToolNode", @@ -12767,6 +15048,9 @@ def __dir__(): "ToolNodeTool_Voicemail", "ToolParameter", "ToolParameterValue", + "ToolPinnedConflictResponseDto", + "ToolPinnedConflictResponseDtoError", + "ToolRef", "ToolRejectionPlan", "ToolRejectionPlanConditionsItem", "ToolRejectionPlanConditionsItem_Group", @@ -12774,9 +15058,19 @@ def __dir__(): "ToolRejectionPlanConditionsItem_Regex", "ToolTemplateMetadata", "ToolTemplateSetup", + "ToolVersion", + "ToolVersionPaginatedMetadata", + "ToolVersionPaginatedResponse", "TranscriberCost", "TranscriptPlan", "TranscriptionEndpointingPlan", + "TransferArtifact", + "TransferArtifactDestination", + "TransferArtifactDestination_Number", + "TransferArtifactDestination_Sip", + "TransferArtifactMessagesItem", + "TransferArtifactMode", + "TransferArtifactStatus", "TransferAssistant", "TransferAssistantBackgroundSound", "TransferAssistantBackgroundSoundZero", @@ -12797,6 +15091,8 @@ def __dir__(): "TransferAssistantTranscriber_Soniox", "TransferAssistantTranscriber_Speechmatics", "TransferAssistantTranscriber_Talkscriber", + "TransferAssistantTranscriber_Vapi", + "TransferAssistantTranscriber_Xai", "TransferAssistantVoice", "TransferAssistantVoice_11Labs", "TransferAssistantVoice_Azure", @@ -12806,6 +15102,7 @@ def __dir__(): "TransferAssistantVoice_Hume", "TransferAssistantVoice_Inworld", "TransferAssistantVoice_Lmnt", + "TransferAssistantVoice_Microsoft", "TransferAssistantVoice_Minimax", "TransferAssistantVoice_Neuphonic", "TransferAssistantVoice_Openai", @@ -12816,6 +15113,7 @@ def __dir__(): "TransferAssistantVoice_Tavus", "TransferAssistantVoice_Vapi", "TransferAssistantVoice_Wellsaid", + "TransferAssistantVoice_Xai", "TransferCallTool", "TransferCallToolDestinationsItem", "TransferCallToolDestinationsItem_Assistant", @@ -12871,17 +15169,8 @@ def __dir__(): "TransportConfigurationTwilioRecordingChannels", "TransportCost", "TransportCostProvider", - "TrieveCredential", - "TrieveCredentialProvider", "TrieveKnowledgeBase", - "TrieveKnowledgeBaseChunkPlan", - "TrieveKnowledgeBaseCreate", - "TrieveKnowledgeBaseCreateType", "TrieveKnowledgeBaseImport", - "TrieveKnowledgeBaseImportType", - "TrieveKnowledgeBaseProvider", - "TrieveKnowledgeBaseSearchPlan", - "TrieveKnowledgeBaseSearchPlanSearchType", "TurnLatency", "TwilioCredential", "TwilioCredentialProvider", @@ -12896,17 +15185,23 @@ def __dir__(): "TwilioSmsChatTransport", "TwilioSmsChatTransportConversationType", "TwilioSmsChatTransportType", + "TwilioTransport", + "TwilioTransportConversationType", "TwilioTransportMessage", "TwilioVoicemailDetectionPlan", "TwilioVoicemailDetectionPlanProvider", "TwilioVoicemailDetectionPlanVoicemailDetectionTypesItem", + "UnauthorizedError", "UpdateAnthropicBedrockCredentialDto", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts", + "UpdateAnthropicBedrockCredentialDtoProvider", "UpdateAnthropicBedrockCredentialDtoRegion", "UpdateAnthropicCredentialDto", + "UpdateAnthropicCredentialDtoProvider", "UpdateAnyscaleCredentialDto", + "UpdateAnyscaleCredentialDtoProvider", "UpdateApiRequestToolDto", "UpdateApiRequestToolDtoMessagesItem", "UpdateApiRequestToolDtoMessagesItem_RequestComplete", @@ -12915,6 +15210,128 @@ def __dir__(): "UpdateApiRequestToolDtoMessagesItem_RequestStart", "UpdateApiRequestToolDtoMethod", "UpdateAssemblyAiCredentialDto", + "UpdateAssemblyAiCredentialDtoProvider", + "UpdateAssistantDraftDto", + "UpdateAssistantDraftDtoBackgroundSound", + "UpdateAssistantDraftDtoBackgroundSoundZero", + "UpdateAssistantDraftDtoClientMessagesItem", + "UpdateAssistantDraftDtoCredentialsItem", + "UpdateAssistantDraftDtoCredentialsItem_11Labs", + "UpdateAssistantDraftDtoCredentialsItem_Anthropic", + "UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock", + "UpdateAssistantDraftDtoCredentialsItem_Anyscale", + "UpdateAssistantDraftDtoCredentialsItem_AssemblyAi", + "UpdateAssistantDraftDtoCredentialsItem_Azure", + "UpdateAssistantDraftDtoCredentialsItem_AzureOpenai", + "UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk", + "UpdateAssistantDraftDtoCredentialsItem_Cartesia", + "UpdateAssistantDraftDtoCredentialsItem_Cerebras", + "UpdateAssistantDraftDtoCredentialsItem_Cloudflare", + "UpdateAssistantDraftDtoCredentialsItem_CustomCredential", + "UpdateAssistantDraftDtoCredentialsItem_CustomLlm", + "UpdateAssistantDraftDtoCredentialsItem_DeepSeek", + "UpdateAssistantDraftDtoCredentialsItem_Deepgram", + "UpdateAssistantDraftDtoCredentialsItem_Deepinfra", + "UpdateAssistantDraftDtoCredentialsItem_Email", + "UpdateAssistantDraftDtoCredentialsItem_Gcp", + "UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_Gladia", + "UpdateAssistantDraftDtoCredentialsItem_Gohighlevel", + "UpdateAssistantDraftDtoCredentialsItem_Google", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client", + "UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_Groq", + "UpdateAssistantDraftDtoCredentialsItem_Hume", + "UpdateAssistantDraftDtoCredentialsItem_InflectionAi", + "UpdateAssistantDraftDtoCredentialsItem_Inworld", + "UpdateAssistantDraftDtoCredentialsItem_Langfuse", + "UpdateAssistantDraftDtoCredentialsItem_Lmnt", + "UpdateAssistantDraftDtoCredentialsItem_Make", + "UpdateAssistantDraftDtoCredentialsItem_Microsoft", + "UpdateAssistantDraftDtoCredentialsItem_Minimax", + "UpdateAssistantDraftDtoCredentialsItem_Mistral", + "UpdateAssistantDraftDtoCredentialsItem_Neuphonic", + "UpdateAssistantDraftDtoCredentialsItem_Openai", + "UpdateAssistantDraftDtoCredentialsItem_Openrouter", + "UpdateAssistantDraftDtoCredentialsItem_PerplexityAi", + "UpdateAssistantDraftDtoCredentialsItem_Playht", + "UpdateAssistantDraftDtoCredentialsItem_RimeAi", + "UpdateAssistantDraftDtoCredentialsItem_Runpod", + "UpdateAssistantDraftDtoCredentialsItem_S3", + "UpdateAssistantDraftDtoCredentialsItem_S3Compatible", + "UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_SlackWebhook", + "UpdateAssistantDraftDtoCredentialsItem_SmallestAi", + "UpdateAssistantDraftDtoCredentialsItem_Soniox", + "UpdateAssistantDraftDtoCredentialsItem_Speechmatics", + "UpdateAssistantDraftDtoCredentialsItem_Supabase", + "UpdateAssistantDraftDtoCredentialsItem_Tavus", + "UpdateAssistantDraftDtoCredentialsItem_TogetherAi", + "UpdateAssistantDraftDtoCredentialsItem_Twilio", + "UpdateAssistantDraftDtoCredentialsItem_Vonage", + "UpdateAssistantDraftDtoCredentialsItem_Webhook", + "UpdateAssistantDraftDtoCredentialsItem_Wellsaid", + "UpdateAssistantDraftDtoCredentialsItem_Xai", + "UpdateAssistantDraftDtoFirstMessageMode", + "UpdateAssistantDraftDtoHooksItem", + "UpdateAssistantDraftDtoModel", + "UpdateAssistantDraftDtoModel_Anthropic", + "UpdateAssistantDraftDtoModel_AnthropicBedrock", + "UpdateAssistantDraftDtoModel_Anyscale", + "UpdateAssistantDraftDtoModel_Cerebras", + "UpdateAssistantDraftDtoModel_CustomLlm", + "UpdateAssistantDraftDtoModel_DeepSeek", + "UpdateAssistantDraftDtoModel_Deepinfra", + "UpdateAssistantDraftDtoModel_Google", + "UpdateAssistantDraftDtoModel_Groq", + "UpdateAssistantDraftDtoModel_InflectionAi", + "UpdateAssistantDraftDtoModel_Minimax", + "UpdateAssistantDraftDtoModel_Openai", + "UpdateAssistantDraftDtoModel_Openrouter", + "UpdateAssistantDraftDtoModel_PerplexityAi", + "UpdateAssistantDraftDtoModel_TogetherAi", + "UpdateAssistantDraftDtoModel_Vapi", + "UpdateAssistantDraftDtoModel_Xai", + "UpdateAssistantDraftDtoServerMessagesItem", + "UpdateAssistantDraftDtoTranscriber", + "UpdateAssistantDraftDtoTranscriber_11Labs", + "UpdateAssistantDraftDtoTranscriber_AssemblyAi", + "UpdateAssistantDraftDtoTranscriber_Azure", + "UpdateAssistantDraftDtoTranscriber_Cartesia", + "UpdateAssistantDraftDtoTranscriber_CustomTranscriber", + "UpdateAssistantDraftDtoTranscriber_Deepgram", + "UpdateAssistantDraftDtoTranscriber_Gladia", + "UpdateAssistantDraftDtoTranscriber_Google", + "UpdateAssistantDraftDtoTranscriber_Openai", + "UpdateAssistantDraftDtoTranscriber_Soniox", + "UpdateAssistantDraftDtoTranscriber_Speechmatics", + "UpdateAssistantDraftDtoTranscriber_Talkscriber", + "UpdateAssistantDraftDtoTranscriber_Vapi", + "UpdateAssistantDraftDtoTranscriber_Xai", + "UpdateAssistantDraftDtoVoice", + "UpdateAssistantDraftDtoVoice_11Labs", + "UpdateAssistantDraftDtoVoice_Azure", + "UpdateAssistantDraftDtoVoice_Cartesia", + "UpdateAssistantDraftDtoVoice_CustomVoice", + "UpdateAssistantDraftDtoVoice_Deepgram", + "UpdateAssistantDraftDtoVoice_Hume", + "UpdateAssistantDraftDtoVoice_Inworld", + "UpdateAssistantDraftDtoVoice_Lmnt", + "UpdateAssistantDraftDtoVoice_Microsoft", + "UpdateAssistantDraftDtoVoice_Minimax", + "UpdateAssistantDraftDtoVoice_Neuphonic", + "UpdateAssistantDraftDtoVoice_Openai", + "UpdateAssistantDraftDtoVoice_Playht", + "UpdateAssistantDraftDtoVoice_RimeAi", + "UpdateAssistantDraftDtoVoice_Sesame", + "UpdateAssistantDraftDtoVoice_SmallestAi", + "UpdateAssistantDraftDtoVoice_Tavus", + "UpdateAssistantDraftDtoVoice_Vapi", + "UpdateAssistantDraftDtoVoice_Wellsaid", + "UpdateAssistantDraftDtoVoice_Xai", + "UpdateAssistantDraftDtoVoicemailDetection", + "UpdateAssistantDraftDtoVoicemailDetectionZero", "UpdateAssistantDtoBackgroundSound", "UpdateAssistantDtoBackgroundSoundZero", "UpdateAssistantDtoClientMessagesItem", @@ -12951,6 +15368,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Langfuse", "UpdateAssistantDtoCredentialsItem_Lmnt", "UpdateAssistantDtoCredentialsItem_Make", + "UpdateAssistantDtoCredentialsItem_Microsoft", "UpdateAssistantDtoCredentialsItem_Minimax", "UpdateAssistantDtoCredentialsItem_Mistral", "UpdateAssistantDtoCredentialsItem_Neuphonic", @@ -12961,6 +15379,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_RimeAi", "UpdateAssistantDtoCredentialsItem_Runpod", "UpdateAssistantDtoCredentialsItem_S3", + "UpdateAssistantDtoCredentialsItem_S3Compatible", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization", "UpdateAssistantDtoCredentialsItem_SlackWebhook", "UpdateAssistantDtoCredentialsItem_SmallestAi", @@ -12969,7 +15388,6 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Supabase", "UpdateAssistantDtoCredentialsItem_Tavus", "UpdateAssistantDtoCredentialsItem_TogetherAi", - "UpdateAssistantDtoCredentialsItem_Trieve", "UpdateAssistantDtoCredentialsItem_Twilio", "UpdateAssistantDtoCredentialsItem_Vonage", "UpdateAssistantDtoCredentialsItem_Webhook", @@ -12993,6 +15411,7 @@ def __dir__(): "UpdateAssistantDtoModel_Openrouter", "UpdateAssistantDtoModel_PerplexityAi", "UpdateAssistantDtoModel_TogetherAi", + "UpdateAssistantDtoModel_Vapi", "UpdateAssistantDtoModel_Xai", "UpdateAssistantDtoServerMessagesItem", "UpdateAssistantDtoTranscriber", @@ -13008,6 +15427,8 @@ def __dir__(): "UpdateAssistantDtoTranscriber_Soniox", "UpdateAssistantDtoTranscriber_Speechmatics", "UpdateAssistantDtoTranscriber_Talkscriber", + "UpdateAssistantDtoTranscriber_Vapi", + "UpdateAssistantDtoTranscriber_Xai", "UpdateAssistantDtoVoice", "UpdateAssistantDtoVoice_11Labs", "UpdateAssistantDtoVoice_Azure", @@ -13017,6 +15438,7 @@ def __dir__(): "UpdateAssistantDtoVoice_Hume", "UpdateAssistantDtoVoice_Inworld", "UpdateAssistantDtoVoice_Lmnt", + "UpdateAssistantDtoVoice_Microsoft", "UpdateAssistantDtoVoice_Minimax", "UpdateAssistantDtoVoice_Neuphonic", "UpdateAssistantDtoVoice_Openai", @@ -13027,13 +15449,17 @@ def __dir__(): "UpdateAssistantDtoVoice_Tavus", "UpdateAssistantDtoVoice_Vapi", "UpdateAssistantDtoVoice_Wellsaid", + "UpdateAssistantDtoVoice_Xai", "UpdateAssistantDtoVoicemailDetection", "UpdateAssistantDtoVoicemailDetectionZero", + "UpdateAssistantVersionMetadataDto", "UpdateAzureCredentialDto", + "UpdateAzureCredentialDtoProvider", "UpdateAzureCredentialDtoRegion", "UpdateAzureCredentialDtoService", "UpdateAzureOpenAiCredentialDto", "UpdateAzureOpenAiCredentialDtoModelsItem", + "UpdateAzureOpenAiCredentialDtoProvider", "UpdateAzureOpenAiCredentialDtoRegion", "UpdateBarInsightFromCallTableDto", "UpdateBarInsightFromCallTableDtoGroupBy", @@ -13046,6 +15472,7 @@ def __dir__(): "UpdateBashToolDtoMessagesItem_RequestStart", "UpdateBashToolDtoName", "UpdateBashToolDtoSubType", + "UpdateBoardDtoItemsItem", "UpdateByoPhoneNumberDto", "UpdateByoPhoneNumberDtoFallbackDestination", "UpdateByoPhoneNumberDtoFallbackDestination_Number", @@ -13054,16 +15481,22 @@ def __dir__(): "UpdateByoPhoneNumberDtoHooksItem_CallEnding", "UpdateByoPhoneNumberDtoHooksItem_CallRinging", "UpdateByoSipTrunkCredentialDto", + "UpdateByoSipTrunkCredentialDtoProvider", + "UpdateCampaignDto", "UpdateCampaignDtoStatus", "UpdateCartesiaCredentialDto", + "UpdateCartesiaCredentialDtoProvider", "UpdateCerebrasCredentialDto", + "UpdateCerebrasCredentialDtoProvider", "UpdateCloudflareCredentialDto", + "UpdateCloudflareCredentialDtoProvider", "UpdateCodeToolDto", "UpdateCodeToolDtoMessagesItem", "UpdateCodeToolDtoMessagesItem_RequestComplete", "UpdateCodeToolDtoMessagesItem_RequestFailed", "UpdateCodeToolDtoMessagesItem_RequestResponseDelayed", "UpdateCodeToolDtoMessagesItem_RequestStart", + "UpdateCodeToolDtoType", "UpdateComputerToolDto", "UpdateComputerToolDtoMessagesItem", "UpdateComputerToolDtoMessagesItem_RequestComplete", @@ -13079,11 +15512,17 @@ def __dir__(): "UpdateCustomCredentialDtoAuthenticationPlan_Oauth2", "UpdateCustomCredentialDtoEncryptionPlan", "UpdateCustomCredentialDtoEncryptionPlan_PublicKey", + "UpdateCustomCredentialDtoProvider", "UpdateCustomKnowledgeBaseDto", + "UpdateCustomKnowledgeBaseDtoProvider", "UpdateCustomLlmCredentialDto", + "UpdateCustomLlmCredentialDtoProvider", "UpdateDeepInfraCredentialDto", + "UpdateDeepInfraCredentialDtoProvider", "UpdateDeepSeekCredentialDto", + "UpdateDeepSeekCredentialDtoProvider", "UpdateDeepgramCredentialDto", + "UpdateDeepgramCredentialDtoProvider", "UpdateDtmfToolDto", "UpdateDtmfToolDtoMessagesItem", "UpdateDtmfToolDtoMessagesItem_RequestComplete", @@ -13091,7 +15530,9 @@ def __dir__(): "UpdateDtmfToolDtoMessagesItem_RequestResponseDelayed", "UpdateDtmfToolDtoMessagesItem_RequestStart", "UpdateElevenLabsCredentialDto", + "UpdateElevenLabsCredentialDtoApiUrl", "UpdateEmailCredentialDto", + "UpdateEmailCredentialDtoProvider", "UpdateEndCallToolDto", "UpdateEndCallToolDtoMessagesItem", "UpdateEndCallToolDtoMessagesItem_RequestComplete", @@ -13107,13 +15548,16 @@ def __dir__(): "UpdateFunctionToolDtoMessagesItem_RequestResponseDelayed", "UpdateFunctionToolDtoMessagesItem_RequestStart", "UpdateGcpCredentialDto", + "UpdateGcpCredentialDtoProvider", "UpdateGhlToolDto", "UpdateGhlToolDtoMessagesItem", "UpdateGhlToolDtoMessagesItem_RequestComplete", "UpdateGhlToolDtoMessagesItem_RequestFailed", "UpdateGhlToolDtoMessagesItem_RequestResponseDelayed", "UpdateGhlToolDtoMessagesItem_RequestStart", + "UpdateGhlToolDtoType", "UpdateGladiaCredentialDto", + "UpdateGladiaCredentialDtoProvider", "UpdateGoHighLevelCalendarAvailabilityToolDto", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestComplete", @@ -13139,7 +15583,9 @@ def __dir__(): "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart", "UpdateGoHighLevelCredentialDto", + "UpdateGoHighLevelCredentialDtoProvider", "UpdateGoHighLevelMcpCredentialDto", + "UpdateGoHighLevelMcpCredentialDtoProvider", "UpdateGoogleCalendarCheckAvailabilityToolDto", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestComplete", @@ -13153,9 +15599,13 @@ def __dir__(): "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart", "UpdateGoogleCalendarOAuth2AuthorizationCredentialDto", + "UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider", "UpdateGoogleCalendarOAuth2ClientCredentialDto", + "UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider", "UpdateGoogleCredentialDto", + "UpdateGoogleCredentialDtoProvider", "UpdateGoogleSheetsOAuth2AuthorizationCredentialDto", + "UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider", "UpdateGoogleSheetsRowAppendToolDto", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestComplete", @@ -13163,6 +15613,7 @@ def __dir__(): "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart", "UpdateGroqCredentialDto", + "UpdateGroqCredentialDtoProvider", "UpdateHandoffToolDto", "UpdateHandoffToolDtoDestinationsItem", "UpdateHandoffToolDtoDestinationsItem_Assistant", @@ -13174,30 +15625,43 @@ def __dir__(): "UpdateHandoffToolDtoMessagesItem_RequestResponseDelayed", "UpdateHandoffToolDtoMessagesItem_RequestStart", "UpdateHumeCredentialDto", + "UpdateHumeCredentialDtoProvider", "UpdateInflectionAiCredentialDto", + "UpdateInflectionAiCredentialDtoProvider", "UpdateInworldCredentialDto", + "UpdateInworldCredentialDtoProvider", "UpdateLangfuseCredentialDto", + "UpdateLangfuseCredentialDtoProvider", "UpdateLineInsightFromCallTableDto", "UpdateLineInsightFromCallTableDtoGroupBy", "UpdateLineInsightFromCallTableDtoQueriesItem", "UpdateLmntCredentialDto", + "UpdateLmntCredentialDtoProvider", "UpdateMakeCredentialDto", + "UpdateMakeCredentialDtoProvider", "UpdateMakeToolDto", "UpdateMakeToolDtoMessagesItem", "UpdateMakeToolDtoMessagesItem_RequestComplete", "UpdateMakeToolDtoMessagesItem_RequestFailed", "UpdateMakeToolDtoMessagesItem_RequestResponseDelayed", "UpdateMakeToolDtoMessagesItem_RequestStart", + "UpdateMakeToolDtoType", "UpdateMcpToolDto", "UpdateMcpToolDtoMessagesItem", "UpdateMcpToolDtoMessagesItem_RequestComplete", "UpdateMcpToolDtoMessagesItem_RequestFailed", "UpdateMcpToolDtoMessagesItem_RequestResponseDelayed", "UpdateMcpToolDtoMessagesItem_RequestStart", + "UpdateMicrosoftCredentialDto", + "UpdateMicrosoftCredentialDtoProvider", "UpdateMistralCredentialDto", + "UpdateMistralCredentialDtoProvider", "UpdateNeuphonicCredentialDto", + "UpdateNeuphonicCredentialDtoProvider", "UpdateOpenAiCredentialDto", + "UpdateOpenAiCredentialDtoProvider", "UpdateOpenRouterCredentialDto", + "UpdateOpenRouterCredentialDtoProvider", "UpdateOrgDto", "UpdateOrgDtoChannel", "UpdateOutputToolDto", @@ -13206,7 +15670,9 @@ def __dir__(): "UpdateOutputToolDtoMessagesItem_RequestFailed", "UpdateOutputToolDtoMessagesItem_RequestResponseDelayed", "UpdateOutputToolDtoMessagesItem_RequestStart", + "UpdateOutputToolDtoType", "UpdatePerplexityAiCredentialDto", + "UpdatePerplexityAiCredentialDtoProvider", "UpdatePersonalityDto", "UpdatePhoneNumbersRequestBody", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber", @@ -13224,6 +15690,7 @@ def __dir__(): "UpdatePieInsightFromCallTableDtoGroupBy", "UpdatePieInsightFromCallTableDtoQueriesItem", "UpdatePlayHtCredentialDto", + "UpdatePlayHtCredentialDtoProvider", "UpdateQueryToolDto", "UpdateQueryToolDtoMessagesItem", "UpdateQueryToolDtoMessagesItem_RequestComplete", @@ -13231,8 +15698,14 @@ def __dir__(): "UpdateQueryToolDtoMessagesItem_RequestResponseDelayed", "UpdateQueryToolDtoMessagesItem_RequestStart", "UpdateRimeAiCredentialDto", + "UpdateRimeAiCredentialDtoProvider", "UpdateRunpodCredentialDto", + "UpdateRunpodCredentialDtoProvider", + "UpdateS3CompatibleBucketPlanDto", + "UpdateS3CompatibleCredentialDto", + "UpdateS3CompatibleCredentialDtoProvider", "UpdateS3CredentialDto", + "UpdateS3CredentialDtoProvider", "UpdateScenarioDto", "UpdateScenarioDtoHooksItem", "UpdateScenarioDtoHooksItem_SimulationRunEnded", @@ -13250,6 +15723,7 @@ def __dir__(): "UpdateSipRequestToolDtoMessagesItem_RequestStart", "UpdateSipRequestToolDtoVerb", "UpdateSlackOAuth2AuthorizationCredentialDto", + "UpdateSlackOAuth2AuthorizationCredentialDtoProvider", "UpdateSlackSendMessageToolDto", "UpdateSlackSendMessageToolDtoMessagesItem", "UpdateSlackSendMessageToolDtoMessagesItem_RequestComplete", @@ -13257,6 +15731,7 @@ def __dir__(): "UpdateSlackSendMessageToolDtoMessagesItem_RequestResponseDelayed", "UpdateSlackSendMessageToolDtoMessagesItem_RequestStart", "UpdateSlackWebhookCredentialDto", + "UpdateSlackWebhookCredentialDtoProvider", "UpdateSmsToolDto", "UpdateSmsToolDtoMessagesItem", "UpdateSmsToolDtoMessagesItem_RequestComplete", @@ -13264,6 +15739,11 @@ def __dir__(): "UpdateSmsToolDtoMessagesItem_RequestResponseDelayed", "UpdateSmsToolDtoMessagesItem_RequestStart", "UpdateSonioxCredentialDto", + "UpdateSonioxCredentialDtoProvider", + "UpdateStructuredOutputDtoConditionsItem", + "UpdateStructuredOutputDtoConditionsItem_EndedReason", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration", + "UpdateStructuredOutputDtoConditionsItem_MinMessages", "UpdateStructuredOutputDtoModel", "UpdateStructuredOutputDtoModel_Anthropic", "UpdateStructuredOutputDtoModel_AnthropicBedrock", @@ -13295,8 +15775,18 @@ def __dir__(): "UpdateTextInsightFromCallTableDto", "UpdateTextInsightFromCallTableDtoQueriesItem", "UpdateTogetherAiCredentialDto", + "UpdateTogetherAiCredentialDtoProvider", "UpdateTokenDto", "UpdateTokenDtoTag", + "UpdateToolDraftDto", + "UpdateToolDraftDtoMessagesItem", + "UpdateToolDraftDtoMessagesItem_RequestComplete", + "UpdateToolDraftDtoMessagesItem_RequestFailed", + "UpdateToolDraftDtoMessagesItem_RequestResponseDelayed", + "UpdateToolDraftDtoMessagesItem_RequestStart", + "UpdateToolDraftDtoMethod", + "UpdateToolDraftDtoType", + "UpdateToolDraftDtoVerb", "UpdateToolTemplateDto", "UpdateToolTemplateDtoDetails", "UpdateToolTemplateDtoDetails_ApiRequest", @@ -13335,6 +15825,7 @@ def __dir__(): "UpdateToolTemplateDtoProviderDetails_Make", "UpdateToolTemplateDtoType", "UpdateToolTemplateDtoVisibility", + "UpdateToolVersionMetadataDto", "UpdateToolsRequestBody", "UpdateToolsRequestBody_ApiRequest", "UpdateToolsRequestBody_Bash", @@ -13392,9 +15883,9 @@ def __dir__(): "UpdateTransferCallToolDtoMessagesItem_RequestFailed", "UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed", "UpdateTransferCallToolDtoMessagesItem_RequestStart", - "UpdateTrieveCredentialDto", "UpdateTrieveKnowledgeBaseDto", "UpdateTwilioCredentialDto", + "UpdateTwilioCredentialDtoProvider", "UpdateTwilioPhoneNumberDto", "UpdateTwilioPhoneNumberDtoFallbackDestination", "UpdateTwilioPhoneNumberDtoFallbackDestination_Number", @@ -13404,6 +15895,7 @@ def __dir__(): "UpdateTwilioPhoneNumberDtoHooksItem_CallRinging", "UpdateUserRoleDto", "UpdateUserRoleDtoRole", + "UpdateUserRoleDtoRoleZero", "UpdateVapiPhoneNumberDto", "UpdateVapiPhoneNumberDtoFallbackDestination", "UpdateVapiPhoneNumberDtoFallbackDestination_Number", @@ -13418,6 +15910,7 @@ def __dir__(): "UpdateVoicemailToolDtoMessagesItem_RequestResponseDelayed", "UpdateVoicemailToolDtoMessagesItem_RequestStart", "UpdateVonageCredentialDto", + "UpdateVonageCredentialDtoProvider", "UpdateVonagePhoneNumberDto", "UpdateVonagePhoneNumberDtoFallbackDestination", "UpdateVonagePhoneNumberDtoFallbackDestination_Number", @@ -13430,7 +15923,9 @@ def __dir__(): "UpdateWebhookCredentialDtoAuthenticationPlan_Bearer", "UpdateWebhookCredentialDtoAuthenticationPlan_Hmac", "UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2", + "UpdateWebhookCredentialDtoProvider", "UpdateWellSaidCredentialDto", + "UpdateWellSaidCredentialDtoProvider", "UpdateWorkflowDto", "UpdateWorkflowDtoBackgroundSound", "UpdateWorkflowDtoBackgroundSoundZero", @@ -13467,6 +15962,7 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_Langfuse", "UpdateWorkflowDtoCredentialsItem_Lmnt", "UpdateWorkflowDtoCredentialsItem_Make", + "UpdateWorkflowDtoCredentialsItem_Microsoft", "UpdateWorkflowDtoCredentialsItem_Minimax", "UpdateWorkflowDtoCredentialsItem_Mistral", "UpdateWorkflowDtoCredentialsItem_Neuphonic", @@ -13477,6 +15973,7 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_RimeAi", "UpdateWorkflowDtoCredentialsItem_Runpod", "UpdateWorkflowDtoCredentialsItem_S3", + "UpdateWorkflowDtoCredentialsItem_S3Compatible", "UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization", "UpdateWorkflowDtoCredentialsItem_SlackWebhook", "UpdateWorkflowDtoCredentialsItem_SmallestAi", @@ -13485,7 +15982,6 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_Supabase", "UpdateWorkflowDtoCredentialsItem_Tavus", "UpdateWorkflowDtoCredentialsItem_TogetherAi", - "UpdateWorkflowDtoCredentialsItem_Trieve", "UpdateWorkflowDtoCredentialsItem_Twilio", "UpdateWorkflowDtoCredentialsItem_Vonage", "UpdateWorkflowDtoCredentialsItem_Webhook", @@ -13514,6 +16010,8 @@ def __dir__(): "UpdateWorkflowDtoTranscriber_Soniox", "UpdateWorkflowDtoTranscriber_Speechmatics", "UpdateWorkflowDtoTranscriber_Talkscriber", + "UpdateWorkflowDtoTranscriber_Vapi", + "UpdateWorkflowDtoTranscriber_Xai", "UpdateWorkflowDtoVoice", "UpdateWorkflowDtoVoice_11Labs", "UpdateWorkflowDtoVoice_Azure", @@ -13523,6 +16021,7 @@ def __dir__(): "UpdateWorkflowDtoVoice_Hume", "UpdateWorkflowDtoVoice_Inworld", "UpdateWorkflowDtoVoice_Lmnt", + "UpdateWorkflowDtoVoice_Microsoft", "UpdateWorkflowDtoVoice_Minimax", "UpdateWorkflowDtoVoice_Neuphonic", "UpdateWorkflowDtoVoice_Openai", @@ -13533,9 +16032,11 @@ def __dir__(): "UpdateWorkflowDtoVoice_Tavus", "UpdateWorkflowDtoVoice_Vapi", "UpdateWorkflowDtoVoice_Wellsaid", + "UpdateWorkflowDtoVoice_Xai", "UpdateWorkflowDtoVoicemailDetection", "UpdateWorkflowDtoVoicemailDetectionZero", "UpdateXAiCredentialDto", + "UpdateXAiCredentialDtoProvider", "User", "UserMessage", "Vapi", @@ -13543,7 +16044,6 @@ def __dir__(): "VapiCostSubType", "VapiEnvironment", "VapiModel", - "VapiModelProvider", "VapiModelToolsItem", "VapiModelToolsItem_ApiRequest", "VapiModelToolsItem_Bash", @@ -13568,6 +16068,7 @@ def __dir__(): "VapiModelToolsItem_TextEditor", "VapiModelToolsItem_TransferCall", "VapiModelToolsItem_Voicemail", + "VapiModelVersion", "VapiPhoneNumber", "VapiPhoneNumberFallbackDestination", "VapiPhoneNumberFallbackDestination_Number", @@ -13577,22 +16078,40 @@ def __dir__(): "VapiPhoneNumberHooksItem_CallRinging", "VapiPhoneNumberStatus", "VapiPronunciationDictionaryLocator", + "VapiSipTransport", + "VapiSipTransportConversationType", "VapiSipTransportMessage", "VapiSipTransportMessageSipVerb", "VapiSmartEndpointingPlan", "VapiSmartEndpointingPlanProvider", + "VapiTranscriber", + "VapiTranscriberLanguage", + "VapiTranscriberLanguagesItem", + "VapiTranscriberTurnTaking", + "VapiTranscriberVersion", "VapiVoice", + "VapiVoiceLanguage", + "VapiVoiceVersion", "VapiVoiceVoiceId", "VapiVoicemailDetectionPlan", "VapiVoicemailDetectionPlanProvider", "VapiVoicemailDetectionPlanType", + "VapiWebCallTransport", + "VapiWebCallTransportConversationType", + "VapiWebsocketTransport", + "VapiWebsocketTransportConversationType", "VariableExtractionAlias", "VariableExtractionPlan", "VariableValueGroupBy", + "VersionPinConflictResponseDto", + "VersionPinConflictResponseDtoError", + "VersionPinReference", + "VersionPinReferenceSourceType", "VoiceCost", "VoiceLibrary", "VoiceLibraryGender", "VoiceLibraryVoiceResponse", + "VoiceLibraryVoiceResponseAge", "VoicemailDetectionBackoffPlan", "VoicemailDetectionCost", "VoicemailDetectionCostProvider", @@ -13612,6 +16131,8 @@ def __dir__(): "VonagePhoneNumberHooksItem_CallEnding", "VonagePhoneNumberHooksItem_CallRinging", "VonagePhoneNumberStatus", + "VonageTransport", + "VonageTransportConversationType", "WebChat", "WebChatOutputItem", "WebhookCredential", @@ -13664,6 +16185,7 @@ def __dir__(): "WorkflowCredentialsItem_Langfuse", "WorkflowCredentialsItem_Lmnt", "WorkflowCredentialsItem_Make", + "WorkflowCredentialsItem_Microsoft", "WorkflowCredentialsItem_Minimax", "WorkflowCredentialsItem_Mistral", "WorkflowCredentialsItem_Neuphonic", @@ -13674,6 +16196,7 @@ def __dir__(): "WorkflowCredentialsItem_RimeAi", "WorkflowCredentialsItem_Runpod", "WorkflowCredentialsItem_S3", + "WorkflowCredentialsItem_S3Compatible", "WorkflowCredentialsItem_SlackOauth2Authorization", "WorkflowCredentialsItem_SlackWebhook", "WorkflowCredentialsItem_SmallestAi", @@ -13682,7 +16205,6 @@ def __dir__(): "WorkflowCredentialsItem_Supabase", "WorkflowCredentialsItem_Tavus", "WorkflowCredentialsItem_TogetherAi", - "WorkflowCredentialsItem_Trieve", "WorkflowCredentialsItem_Twilio", "WorkflowCredentialsItem_Vonage", "WorkflowCredentialsItem_Webhook", @@ -13718,6 +16240,8 @@ def __dir__(): "WorkflowTranscriber_Soniox", "WorkflowTranscriber_Speechmatics", "WorkflowTranscriber_Talkscriber", + "WorkflowTranscriber_Vapi", + "WorkflowTranscriber_Xai", "WorkflowUserEditable", "WorkflowUserEditableBackgroundSound", "WorkflowUserEditableBackgroundSoundZero", @@ -13754,6 +16278,7 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_Langfuse", "WorkflowUserEditableCredentialsItem_Lmnt", "WorkflowUserEditableCredentialsItem_Make", + "WorkflowUserEditableCredentialsItem_Microsoft", "WorkflowUserEditableCredentialsItem_Minimax", "WorkflowUserEditableCredentialsItem_Mistral", "WorkflowUserEditableCredentialsItem_Neuphonic", @@ -13764,6 +16289,7 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_RimeAi", "WorkflowUserEditableCredentialsItem_Runpod", "WorkflowUserEditableCredentialsItem_S3", + "WorkflowUserEditableCredentialsItem_S3Compatible", "WorkflowUserEditableCredentialsItem_SlackOauth2Authorization", "WorkflowUserEditableCredentialsItem_SlackWebhook", "WorkflowUserEditableCredentialsItem_SmallestAi", @@ -13772,7 +16298,6 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_Supabase", "WorkflowUserEditableCredentialsItem_Tavus", "WorkflowUserEditableCredentialsItem_TogetherAi", - "WorkflowUserEditableCredentialsItem_Trieve", "WorkflowUserEditableCredentialsItem_Twilio", "WorkflowUserEditableCredentialsItem_Vonage", "WorkflowUserEditableCredentialsItem_Webhook", @@ -13801,6 +16326,8 @@ def __dir__(): "WorkflowUserEditableTranscriber_Soniox", "WorkflowUserEditableTranscriber_Speechmatics", "WorkflowUserEditableTranscriber_Talkscriber", + "WorkflowUserEditableTranscriber_Vapi", + "WorkflowUserEditableTranscriber_Xai", "WorkflowUserEditableVoice", "WorkflowUserEditableVoice_11Labs", "WorkflowUserEditableVoice_Azure", @@ -13810,6 +16337,7 @@ def __dir__(): "WorkflowUserEditableVoice_Hume", "WorkflowUserEditableVoice_Inworld", "WorkflowUserEditableVoice_Lmnt", + "WorkflowUserEditableVoice_Microsoft", "WorkflowUserEditableVoice_Minimax", "WorkflowUserEditableVoice_Neuphonic", "WorkflowUserEditableVoice_Openai", @@ -13820,6 +16348,7 @@ def __dir__(): "WorkflowUserEditableVoice_Tavus", "WorkflowUserEditableVoice_Vapi", "WorkflowUserEditableVoice_Wellsaid", + "WorkflowUserEditableVoice_Xai", "WorkflowUserEditableVoicemailDetection", "WorkflowUserEditableVoicemailDetectionZero", "WorkflowVoice", @@ -13831,6 +16360,7 @@ def __dir__(): "WorkflowVoice_Hume", "WorkflowVoice_Inworld", "WorkflowVoice_Lmnt", + "WorkflowVoice_Microsoft", "WorkflowVoice_Minimax", "WorkflowVoice_Neuphonic", "WorkflowVoice_Openai", @@ -13841,6 +16371,7 @@ def __dir__(): "WorkflowVoice_Tavus", "WorkflowVoice_Vapi", "WorkflowVoice_Wellsaid", + "WorkflowVoice_Xai", "WorkflowVoicemailDetection", "WorkflowVoicemailDetectionZero", "XAiCredential", @@ -13871,11 +16402,18 @@ def __dir__(): "XaiModelToolsItem_TextEditor", "XaiModelToolsItem_TransferCall", "XaiModelToolsItem_Voicemail", + "XaiTranscriber", + "XaiTranscriberLanguage", + "XaiTranscriberModel", + "XaiVoice", + "XaiVoiceLanguage", + "XaiVoiceVoiceId", "XssSecurityFilter", "XssSecurityFilterType", "__version__", "analytics", "assistants", + "board", "calls", "campaigns", "chats", diff --git a/src/vapi/analytics/client.py b/src/vapi/analytics/client.py index 5ef58dd4..f89a2799 100644 --- a/src/vapi/analytics/client.py +++ b/src/vapi/analytics/client.py @@ -31,6 +31,8 @@ def get( self, *, queries: typing.Sequence[AnalyticsQuery], request_options: typing.Optional[RequestOptions] = None ) -> typing.List[AnalyticsQueryResult]: """ + Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations. + Parameters ---------- queries : typing.Sequence[AnalyticsQuery] @@ -89,6 +91,8 @@ async def get( self, *, queries: typing.Sequence[AnalyticsQuery], request_options: typing.Optional[RequestOptions] = None ) -> typing.List[AnalyticsQueryResult]: """ + Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations. + Parameters ---------- queries : typing.Sequence[AnalyticsQuery] diff --git a/src/vapi/analytics/raw_client.py b/src/vapi/analytics/raw_client.py index 448600b3..12ed44a7 100644 --- a/src/vapi/analytics/raw_client.py +++ b/src/vapi/analytics/raw_client.py @@ -26,6 +26,8 @@ def get( self, *, queries: typing.Sequence[AnalyticsQuery], request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[typing.List[AnalyticsQueryResult]]: """ + Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations. + Parameters ---------- queries : typing.Sequence[AnalyticsQuery] @@ -81,6 +83,8 @@ async def get( self, *, queries: typing.Sequence[AnalyticsQuery], request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[typing.List[AnalyticsQueryResult]]: """ + Runs one or more metric queries against call or subscription data using the requested time range, groupings, and aggregate operations. + Parameters ---------- queries : typing.Sequence[AnalyticsQuery] diff --git a/src/vapi/assistants/__init__.py b/src/vapi/assistants/__init__.py index 55ffd71c..aff22f3d 100644 --- a/src/vapi/assistants/__init__.py +++ b/src/vapi/assistants/__init__.py @@ -43,6 +43,7 @@ UpdateAssistantDtoCredentialsItem_Langfuse, UpdateAssistantDtoCredentialsItem_Lmnt, UpdateAssistantDtoCredentialsItem_Make, + UpdateAssistantDtoCredentialsItem_Microsoft, UpdateAssistantDtoCredentialsItem_Minimax, UpdateAssistantDtoCredentialsItem_Mistral, UpdateAssistantDtoCredentialsItem_Neuphonic, @@ -53,6 +54,7 @@ UpdateAssistantDtoCredentialsItem_RimeAi, UpdateAssistantDtoCredentialsItem_Runpod, UpdateAssistantDtoCredentialsItem_S3, + UpdateAssistantDtoCredentialsItem_S3Compatible, UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization, UpdateAssistantDtoCredentialsItem_SlackWebhook, UpdateAssistantDtoCredentialsItem_SmallestAi, @@ -61,7 +63,6 @@ UpdateAssistantDtoCredentialsItem_Supabase, UpdateAssistantDtoCredentialsItem_Tavus, UpdateAssistantDtoCredentialsItem_TogetherAi, - UpdateAssistantDtoCredentialsItem_Trieve, UpdateAssistantDtoCredentialsItem_Twilio, UpdateAssistantDtoCredentialsItem_Vonage, UpdateAssistantDtoCredentialsItem_Webhook, @@ -85,6 +86,7 @@ UpdateAssistantDtoModel_Openrouter, UpdateAssistantDtoModel_PerplexityAi, UpdateAssistantDtoModel_TogetherAi, + UpdateAssistantDtoModel_Vapi, UpdateAssistantDtoModel_Xai, UpdateAssistantDtoServerMessagesItem, UpdateAssistantDtoTranscriber, @@ -100,6 +102,8 @@ UpdateAssistantDtoTranscriber_Soniox, UpdateAssistantDtoTranscriber_Speechmatics, UpdateAssistantDtoTranscriber_Talkscriber, + UpdateAssistantDtoTranscriber_Vapi, + UpdateAssistantDtoTranscriber_Xai, UpdateAssistantDtoVoice, UpdateAssistantDtoVoice_11Labs, UpdateAssistantDtoVoice_Azure, @@ -109,6 +113,7 @@ UpdateAssistantDtoVoice_Hume, UpdateAssistantDtoVoice_Inworld, UpdateAssistantDtoVoice_Lmnt, + UpdateAssistantDtoVoice_Microsoft, UpdateAssistantDtoVoice_Minimax, UpdateAssistantDtoVoice_Neuphonic, UpdateAssistantDtoVoice_Openai, @@ -119,6 +124,7 @@ UpdateAssistantDtoVoice_Tavus, UpdateAssistantDtoVoice_Vapi, UpdateAssistantDtoVoice_Wellsaid, + UpdateAssistantDtoVoice_Xai, UpdateAssistantDtoVoicemailDetection, UpdateAssistantDtoVoicemailDetectionZero, ) @@ -159,6 +165,7 @@ "UpdateAssistantDtoCredentialsItem_Langfuse": ".types", "UpdateAssistantDtoCredentialsItem_Lmnt": ".types", "UpdateAssistantDtoCredentialsItem_Make": ".types", + "UpdateAssistantDtoCredentialsItem_Microsoft": ".types", "UpdateAssistantDtoCredentialsItem_Minimax": ".types", "UpdateAssistantDtoCredentialsItem_Mistral": ".types", "UpdateAssistantDtoCredentialsItem_Neuphonic": ".types", @@ -169,6 +176,7 @@ "UpdateAssistantDtoCredentialsItem_RimeAi": ".types", "UpdateAssistantDtoCredentialsItem_Runpod": ".types", "UpdateAssistantDtoCredentialsItem_S3": ".types", + "UpdateAssistantDtoCredentialsItem_S3Compatible": ".types", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization": ".types", "UpdateAssistantDtoCredentialsItem_SlackWebhook": ".types", "UpdateAssistantDtoCredentialsItem_SmallestAi": ".types", @@ -177,7 +185,6 @@ "UpdateAssistantDtoCredentialsItem_Supabase": ".types", "UpdateAssistantDtoCredentialsItem_Tavus": ".types", "UpdateAssistantDtoCredentialsItem_TogetherAi": ".types", - "UpdateAssistantDtoCredentialsItem_Trieve": ".types", "UpdateAssistantDtoCredentialsItem_Twilio": ".types", "UpdateAssistantDtoCredentialsItem_Vonage": ".types", "UpdateAssistantDtoCredentialsItem_Webhook": ".types", @@ -201,6 +208,7 @@ "UpdateAssistantDtoModel_Openrouter": ".types", "UpdateAssistantDtoModel_PerplexityAi": ".types", "UpdateAssistantDtoModel_TogetherAi": ".types", + "UpdateAssistantDtoModel_Vapi": ".types", "UpdateAssistantDtoModel_Xai": ".types", "UpdateAssistantDtoServerMessagesItem": ".types", "UpdateAssistantDtoTranscriber": ".types", @@ -216,6 +224,8 @@ "UpdateAssistantDtoTranscriber_Soniox": ".types", "UpdateAssistantDtoTranscriber_Speechmatics": ".types", "UpdateAssistantDtoTranscriber_Talkscriber": ".types", + "UpdateAssistantDtoTranscriber_Vapi": ".types", + "UpdateAssistantDtoTranscriber_Xai": ".types", "UpdateAssistantDtoVoice": ".types", "UpdateAssistantDtoVoice_11Labs": ".types", "UpdateAssistantDtoVoice_Azure": ".types", @@ -225,6 +235,7 @@ "UpdateAssistantDtoVoice_Hume": ".types", "UpdateAssistantDtoVoice_Inworld": ".types", "UpdateAssistantDtoVoice_Lmnt": ".types", + "UpdateAssistantDtoVoice_Microsoft": ".types", "UpdateAssistantDtoVoice_Minimax": ".types", "UpdateAssistantDtoVoice_Neuphonic": ".types", "UpdateAssistantDtoVoice_Openai": ".types", @@ -235,6 +246,7 @@ "UpdateAssistantDtoVoice_Tavus": ".types", "UpdateAssistantDtoVoice_Vapi": ".types", "UpdateAssistantDtoVoice_Wellsaid": ".types", + "UpdateAssistantDtoVoice_Xai": ".types", "UpdateAssistantDtoVoicemailDetection": ".types", "UpdateAssistantDtoVoicemailDetectionZero": ".types", } @@ -298,6 +310,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Langfuse", "UpdateAssistantDtoCredentialsItem_Lmnt", "UpdateAssistantDtoCredentialsItem_Make", + "UpdateAssistantDtoCredentialsItem_Microsoft", "UpdateAssistantDtoCredentialsItem_Minimax", "UpdateAssistantDtoCredentialsItem_Mistral", "UpdateAssistantDtoCredentialsItem_Neuphonic", @@ -308,6 +321,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_RimeAi", "UpdateAssistantDtoCredentialsItem_Runpod", "UpdateAssistantDtoCredentialsItem_S3", + "UpdateAssistantDtoCredentialsItem_S3Compatible", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization", "UpdateAssistantDtoCredentialsItem_SlackWebhook", "UpdateAssistantDtoCredentialsItem_SmallestAi", @@ -316,7 +330,6 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Supabase", "UpdateAssistantDtoCredentialsItem_Tavus", "UpdateAssistantDtoCredentialsItem_TogetherAi", - "UpdateAssistantDtoCredentialsItem_Trieve", "UpdateAssistantDtoCredentialsItem_Twilio", "UpdateAssistantDtoCredentialsItem_Vonage", "UpdateAssistantDtoCredentialsItem_Webhook", @@ -340,6 +353,7 @@ def __dir__(): "UpdateAssistantDtoModel_Openrouter", "UpdateAssistantDtoModel_PerplexityAi", "UpdateAssistantDtoModel_TogetherAi", + "UpdateAssistantDtoModel_Vapi", "UpdateAssistantDtoModel_Xai", "UpdateAssistantDtoServerMessagesItem", "UpdateAssistantDtoTranscriber", @@ -355,6 +369,8 @@ def __dir__(): "UpdateAssistantDtoTranscriber_Soniox", "UpdateAssistantDtoTranscriber_Speechmatics", "UpdateAssistantDtoTranscriber_Talkscriber", + "UpdateAssistantDtoTranscriber_Vapi", + "UpdateAssistantDtoTranscriber_Xai", "UpdateAssistantDtoVoice", "UpdateAssistantDtoVoice_11Labs", "UpdateAssistantDtoVoice_Azure", @@ -364,6 +380,7 @@ def __dir__(): "UpdateAssistantDtoVoice_Hume", "UpdateAssistantDtoVoice_Inworld", "UpdateAssistantDtoVoice_Lmnt", + "UpdateAssistantDtoVoice_Microsoft", "UpdateAssistantDtoVoice_Minimax", "UpdateAssistantDtoVoice_Neuphonic", "UpdateAssistantDtoVoice_Openai", @@ -374,6 +391,7 @@ def __dir__(): "UpdateAssistantDtoVoice_Tavus", "UpdateAssistantDtoVoice_Vapi", "UpdateAssistantDtoVoice_Wellsaid", + "UpdateAssistantDtoVoice_Xai", "UpdateAssistantDtoVoicemailDetection", "UpdateAssistantDtoVoicemailDetectionZero", ] diff --git a/src/vapi/assistants/client.py b/src/vapi/assistants/client.py index 6e72fd0e..a3027971 100644 --- a/src/vapi/assistants/client.py +++ b/src/vapi/assistants/client.py @@ -73,6 +73,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Assistant]: """ + Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -170,6 +172,8 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> Assistant: """ + Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior. + Parameters ---------- transcriber : typing.Optional[CreateAssistantDtoTranscriber] @@ -187,6 +191,7 @@ def create( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[CreateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -255,6 +260,7 @@ def create( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -317,6 +323,7 @@ def create( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -373,9 +380,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Assistant: """ + Returns the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -401,9 +411,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Assistant: """ + Deletes the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -465,9 +478,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> Assistant: """ + Updates the specified fields of the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. transcriber : typing.Optional[UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber. @@ -484,6 +500,7 @@ def update( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -552,6 +569,7 @@ def update( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -614,6 +632,7 @@ def update( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -702,6 +721,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Assistant]: """ + Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -807,6 +828,8 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> Assistant: """ + Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior. + Parameters ---------- transcriber : typing.Optional[CreateAssistantDtoTranscriber] @@ -824,6 +847,7 @@ async def create( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[CreateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -892,6 +916,7 @@ async def create( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -954,6 +979,7 @@ async def create( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1018,9 +1044,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Assistant: """ + Returns the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1054,9 +1083,12 @@ async def main() -> None: async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Assistant: """ + Deletes the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1126,9 +1158,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> Assistant: """ + Updates the specified fields of the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. transcriber : typing.Optional[UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber. @@ -1145,6 +1180,7 @@ async def update( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -1213,6 +1249,7 @@ async def update( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -1275,6 +1312,7 @@ async def update( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/assistants/raw_client.py b/src/vapi/assistants/raw_client.py index f71c1976..ccb9b673 100644 --- a/src/vapi/assistants/raw_client.py +++ b/src/vapi/assistants/raw_client.py @@ -13,6 +13,7 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..errors.conflict_error import ConflictError from ..types.analysis_plan import AnalysisPlan from ..types.artifact_plan import ArtifactPlan from ..types.assistant import Assistant @@ -70,6 +71,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.List[Assistant]]: """ + Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -179,6 +182,8 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Assistant]: """ + Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior. + Parameters ---------- transcriber : typing.Optional[CreateAssistantDtoTranscriber] @@ -196,6 +201,7 @@ def create( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[CreateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -264,6 +270,7 @@ def create( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -326,6 +333,7 @@ def create( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -435,9 +443,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Assistant]: """ + Returns the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -473,9 +484,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Assistant]: """ + Deletes the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -500,6 +514,17 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -547,9 +572,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Assistant]: """ + Updates the specified fields of the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. transcriber : typing.Optional[UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber. @@ -566,6 +594,7 @@ def update( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -634,6 +663,7 @@ def update( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -696,6 +726,7 @@ def update( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -826,6 +857,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.List[Assistant]]: """ + Returns assistants for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -935,6 +968,8 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Assistant]: """ + Creates a reusable assistant configuration containing the model, voice, transcriber, tools, prompts, and call behavior. + Parameters ---------- transcriber : typing.Optional[CreateAssistantDtoTranscriber] @@ -952,6 +987,7 @@ async def create( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[CreateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -1020,6 +1056,7 @@ async def create( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -1082,6 +1119,7 @@ async def create( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1193,9 +1231,12 @@ async def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Assistant]: """ + Returns the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1233,9 +1274,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Assistant]: """ + Deletes the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1260,6 +1304,17 @@ async def delete( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -1307,9 +1362,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Assistant]: """ + Updates the specified fields of the assistant identified by its ID. + Parameters ---------- id : str + The unique identifier of the assistant. transcriber : typing.Optional[UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber. @@ -1326,6 +1384,7 @@ async def update( If unspecified, assistant will wait for user to speak and use the model to respond once they speak. first_message_interruptions_enabled : typing.Optional[bool] + Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`. first_message_mode : typing.Optional[UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'. @@ -1394,6 +1453,7 @@ async def update( This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive. compliance_plan : typing.Optional[CompliancePlan] + Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent. metadata : typing.Optional[typing.Dict[str, typing.Any]] This is for metadata you want to store on the assistant. @@ -1456,6 +1516,7 @@ async def update( 3. org.serverUrl keypad_input_plan : typing.Optional[KeypadInputPlan] + Configuration for collecting and processing DTMF keypad input during calls. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/assistants/types/__init__.py b/src/vapi/assistants/types/__init__.py index 2f0dc6ae..3ae7aa71 100644 --- a/src/vapi/assistants/types/__init__.py +++ b/src/vapi/assistants/types/__init__.py @@ -43,6 +43,7 @@ UpdateAssistantDtoCredentialsItem_Langfuse, UpdateAssistantDtoCredentialsItem_Lmnt, UpdateAssistantDtoCredentialsItem_Make, + UpdateAssistantDtoCredentialsItem_Microsoft, UpdateAssistantDtoCredentialsItem_Minimax, UpdateAssistantDtoCredentialsItem_Mistral, UpdateAssistantDtoCredentialsItem_Neuphonic, @@ -53,6 +54,7 @@ UpdateAssistantDtoCredentialsItem_RimeAi, UpdateAssistantDtoCredentialsItem_Runpod, UpdateAssistantDtoCredentialsItem_S3, + UpdateAssistantDtoCredentialsItem_S3Compatible, UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization, UpdateAssistantDtoCredentialsItem_SlackWebhook, UpdateAssistantDtoCredentialsItem_SmallestAi, @@ -61,7 +63,6 @@ UpdateAssistantDtoCredentialsItem_Supabase, UpdateAssistantDtoCredentialsItem_Tavus, UpdateAssistantDtoCredentialsItem_TogetherAi, - UpdateAssistantDtoCredentialsItem_Trieve, UpdateAssistantDtoCredentialsItem_Twilio, UpdateAssistantDtoCredentialsItem_Vonage, UpdateAssistantDtoCredentialsItem_Webhook, @@ -87,6 +88,7 @@ UpdateAssistantDtoModel_Openrouter, UpdateAssistantDtoModel_PerplexityAi, UpdateAssistantDtoModel_TogetherAi, + UpdateAssistantDtoModel_Vapi, UpdateAssistantDtoModel_Xai, ) from .update_assistant_dto_server_messages_item import UpdateAssistantDtoServerMessagesItem @@ -104,6 +106,8 @@ UpdateAssistantDtoTranscriber_Soniox, UpdateAssistantDtoTranscriber_Speechmatics, UpdateAssistantDtoTranscriber_Talkscriber, + UpdateAssistantDtoTranscriber_Vapi, + UpdateAssistantDtoTranscriber_Xai, ) from .update_assistant_dto_voice import ( UpdateAssistantDtoVoice, @@ -115,6 +119,7 @@ UpdateAssistantDtoVoice_Hume, UpdateAssistantDtoVoice_Inworld, UpdateAssistantDtoVoice_Lmnt, + UpdateAssistantDtoVoice_Microsoft, UpdateAssistantDtoVoice_Minimax, UpdateAssistantDtoVoice_Neuphonic, UpdateAssistantDtoVoice_Openai, @@ -125,6 +130,7 @@ UpdateAssistantDtoVoice_Tavus, UpdateAssistantDtoVoice_Vapi, UpdateAssistantDtoVoice_Wellsaid, + UpdateAssistantDtoVoice_Xai, ) from .update_assistant_dto_voicemail_detection import UpdateAssistantDtoVoicemailDetection from .update_assistant_dto_voicemail_detection_zero import UpdateAssistantDtoVoicemailDetectionZero @@ -165,6 +171,7 @@ "UpdateAssistantDtoCredentialsItem_Langfuse": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Lmnt": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Make": ".update_assistant_dto_credentials_item", + "UpdateAssistantDtoCredentialsItem_Microsoft": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Minimax": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Mistral": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Neuphonic": ".update_assistant_dto_credentials_item", @@ -175,6 +182,7 @@ "UpdateAssistantDtoCredentialsItem_RimeAi": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Runpod": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_S3": ".update_assistant_dto_credentials_item", + "UpdateAssistantDtoCredentialsItem_S3Compatible": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_SlackWebhook": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_SmallestAi": ".update_assistant_dto_credentials_item", @@ -183,7 +191,6 @@ "UpdateAssistantDtoCredentialsItem_Supabase": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Tavus": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_TogetherAi": ".update_assistant_dto_credentials_item", - "UpdateAssistantDtoCredentialsItem_Trieve": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Twilio": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Vonage": ".update_assistant_dto_credentials_item", "UpdateAssistantDtoCredentialsItem_Webhook": ".update_assistant_dto_credentials_item", @@ -207,6 +214,7 @@ "UpdateAssistantDtoModel_Openrouter": ".update_assistant_dto_model", "UpdateAssistantDtoModel_PerplexityAi": ".update_assistant_dto_model", "UpdateAssistantDtoModel_TogetherAi": ".update_assistant_dto_model", + "UpdateAssistantDtoModel_Vapi": ".update_assistant_dto_model", "UpdateAssistantDtoModel_Xai": ".update_assistant_dto_model", "UpdateAssistantDtoServerMessagesItem": ".update_assistant_dto_server_messages_item", "UpdateAssistantDtoTranscriber": ".update_assistant_dto_transcriber", @@ -222,6 +230,8 @@ "UpdateAssistantDtoTranscriber_Soniox": ".update_assistant_dto_transcriber", "UpdateAssistantDtoTranscriber_Speechmatics": ".update_assistant_dto_transcriber", "UpdateAssistantDtoTranscriber_Talkscriber": ".update_assistant_dto_transcriber", + "UpdateAssistantDtoTranscriber_Vapi": ".update_assistant_dto_transcriber", + "UpdateAssistantDtoTranscriber_Xai": ".update_assistant_dto_transcriber", "UpdateAssistantDtoVoice": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_11Labs": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Azure": ".update_assistant_dto_voice", @@ -231,6 +241,7 @@ "UpdateAssistantDtoVoice_Hume": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Inworld": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Lmnt": ".update_assistant_dto_voice", + "UpdateAssistantDtoVoice_Microsoft": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Minimax": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Neuphonic": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Openai": ".update_assistant_dto_voice", @@ -241,6 +252,7 @@ "UpdateAssistantDtoVoice_Tavus": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Vapi": ".update_assistant_dto_voice", "UpdateAssistantDtoVoice_Wellsaid": ".update_assistant_dto_voice", + "UpdateAssistantDtoVoice_Xai": ".update_assistant_dto_voice", "UpdateAssistantDtoVoicemailDetection": ".update_assistant_dto_voicemail_detection", "UpdateAssistantDtoVoicemailDetectionZero": ".update_assistant_dto_voicemail_detection_zero", } @@ -304,6 +316,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Langfuse", "UpdateAssistantDtoCredentialsItem_Lmnt", "UpdateAssistantDtoCredentialsItem_Make", + "UpdateAssistantDtoCredentialsItem_Microsoft", "UpdateAssistantDtoCredentialsItem_Minimax", "UpdateAssistantDtoCredentialsItem_Mistral", "UpdateAssistantDtoCredentialsItem_Neuphonic", @@ -314,6 +327,7 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_RimeAi", "UpdateAssistantDtoCredentialsItem_Runpod", "UpdateAssistantDtoCredentialsItem_S3", + "UpdateAssistantDtoCredentialsItem_S3Compatible", "UpdateAssistantDtoCredentialsItem_SlackOauth2Authorization", "UpdateAssistantDtoCredentialsItem_SlackWebhook", "UpdateAssistantDtoCredentialsItem_SmallestAi", @@ -322,7 +336,6 @@ def __dir__(): "UpdateAssistantDtoCredentialsItem_Supabase", "UpdateAssistantDtoCredentialsItem_Tavus", "UpdateAssistantDtoCredentialsItem_TogetherAi", - "UpdateAssistantDtoCredentialsItem_Trieve", "UpdateAssistantDtoCredentialsItem_Twilio", "UpdateAssistantDtoCredentialsItem_Vonage", "UpdateAssistantDtoCredentialsItem_Webhook", @@ -346,6 +359,7 @@ def __dir__(): "UpdateAssistantDtoModel_Openrouter", "UpdateAssistantDtoModel_PerplexityAi", "UpdateAssistantDtoModel_TogetherAi", + "UpdateAssistantDtoModel_Vapi", "UpdateAssistantDtoModel_Xai", "UpdateAssistantDtoServerMessagesItem", "UpdateAssistantDtoTranscriber", @@ -361,6 +375,8 @@ def __dir__(): "UpdateAssistantDtoTranscriber_Soniox", "UpdateAssistantDtoTranscriber_Speechmatics", "UpdateAssistantDtoTranscriber_Talkscriber", + "UpdateAssistantDtoTranscriber_Vapi", + "UpdateAssistantDtoTranscriber_Xai", "UpdateAssistantDtoVoice", "UpdateAssistantDtoVoice_11Labs", "UpdateAssistantDtoVoice_Azure", @@ -370,6 +386,7 @@ def __dir__(): "UpdateAssistantDtoVoice_Hume", "UpdateAssistantDtoVoice_Inworld", "UpdateAssistantDtoVoice_Lmnt", + "UpdateAssistantDtoVoice_Microsoft", "UpdateAssistantDtoVoice_Minimax", "UpdateAssistantDtoVoice_Neuphonic", "UpdateAssistantDtoVoice_Openai", @@ -380,6 +397,7 @@ def __dir__(): "UpdateAssistantDtoVoice_Tavus", "UpdateAssistantDtoVoice_Vapi", "UpdateAssistantDtoVoice_Wellsaid", + "UpdateAssistantDtoVoice_Xai", "UpdateAssistantDtoVoicemailDetection", "UpdateAssistantDtoVoicemailDetectionZero", ] diff --git a/src/vapi/assistants/types/update_assistant_dto_credentials_item.py b/src/vapi/assistants/types/update_assistant_dto_credentials_item.py index 00bfd2d9..d5e8f6cd 100644 --- a/src/vapi/assistants/types/update_assistant_dto_credentials_item.py +++ b/src/vapi/assistants/types/update_assistant_dto_credentials_item.py @@ -22,11 +22,12 @@ from ...types.create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from ...types.create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from ...types.create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from ...types.create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from ...types.create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from ...types.gcp_key import GcpKey from ...types.o_auth_2_authentication_plan import OAuth2AuthenticationPlan from ...types.oauth_2_authentication_session import Oauth2AuthenticationSession -from ...types.sbc_configuration import SbcConfiguration +from ...types.s_3_compatible_bucket_plan import S3CompatibleBucketPlan from ...types.sip_trunk_gateway import SipTrunkGateway from ...types.sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from ...types.supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class UpdateAssistantDtoCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class UpdateAssistantDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class UpdateAssistantDtoCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class UpdateAssistantDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 UpdateAssistantDtoCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class UpdateAssistantDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class UpdateAssistantDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class UpdateAssistantDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class UpdateAssistantDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class UpdateAssistantDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class UpdateAssistantDtoCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class UpdateAssistantDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: UpdateAssistantDtoCredentialsItem_RimeAi, UpdateAssistantDtoCredentialsItem_Runpod, UpdateAssistantDtoCredentialsItem_S3, + UpdateAssistantDtoCredentialsItem_S3Compatible, UpdateAssistantDtoCredentialsItem_Supabase, UpdateAssistantDtoCredentialsItem_SmallestAi, UpdateAssistantDtoCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: UpdateAssistantDtoCredentialsItem_Webhook, UpdateAssistantDtoCredentialsItem_CustomCredential, UpdateAssistantDtoCredentialsItem_Xai, + UpdateAssistantDtoCredentialsItem_Microsoft, UpdateAssistantDtoCredentialsItem_Neuphonic, UpdateAssistantDtoCredentialsItem_Hume, UpdateAssistantDtoCredentialsItem_Mistral, UpdateAssistantDtoCredentialsItem_Speechmatics, UpdateAssistantDtoCredentialsItem_Soniox, - UpdateAssistantDtoCredentialsItem_Trieve, UpdateAssistantDtoCredentialsItem_GoogleCalendarOauth2Client, UpdateAssistantDtoCredentialsItem_GoogleCalendarOauth2Authorization, UpdateAssistantDtoCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/assistants/types/update_assistant_dto_model.py b/src/vapi/assistants/types/update_assistant_dto_model.py index 5ff11d65..fbf6929a 100644 --- a/src/vapi/assistants/types/update_assistant_dto_model.py +++ b/src/vapi/assistants/types/update_assistant_dto_model.py @@ -25,7 +25,10 @@ from ...types.open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from ...types.open_ai_model_model import OpenAiModelModel from ...types.open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from ...types.open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from ...types.open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from ...types.tool_ref import ToolRef +from ...types.vapi_model_version import VapiModelVersion from ...types.xai_model_model import XaiModelModel @@ -40,6 +43,9 @@ class UpdateAssistantDtoModel_Anthropic(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -81,6 +87,9 @@ class UpdateAssistantDtoModel_AnthropicBedrock(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -122,6 +131,9 @@ class UpdateAssistantDtoModel_Anyscale(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -162,6 +174,9 @@ class UpdateAssistantDtoModel_Cerebras(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -202,6 +217,9 @@ class UpdateAssistantDtoModel_CustomLlm(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -257,6 +275,9 @@ class UpdateAssistantDtoModel_Deepinfra(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -297,6 +318,9 @@ class UpdateAssistantDtoModel_DeepSeek(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -337,6 +361,9 @@ class UpdateAssistantDtoModel_Google(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -382,6 +409,9 @@ class UpdateAssistantDtoModel_Groq(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -422,6 +452,9 @@ class UpdateAssistantDtoModel_InflectionAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -462,6 +495,9 @@ class UpdateAssistantDtoModel_Minimax(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -502,6 +538,9 @@ class UpdateAssistantDtoModel_Openai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -526,6 +565,11 @@ class UpdateAssistantDtoModel_Openai(UncheckedBaseModel): prompt_cache_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") @@ -560,6 +604,9 @@ class UpdateAssistantDtoModel_Openrouter(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -600,6 +647,9 @@ class UpdateAssistantDtoModel_PerplexityAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -640,6 +690,9 @@ class UpdateAssistantDtoModel_TogetherAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -680,6 +733,9 @@ class UpdateAssistantDtoModel_Xai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -709,6 +765,51 @@ class Config: extra = pydantic.Extra.allow +class UpdateAssistantDtoModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + UpdateAssistantDtoModel = typing_extensions.Annotated[ typing.Union[ UpdateAssistantDtoModel_Anthropic, @@ -727,6 +828,7 @@ class Config: UpdateAssistantDtoModel_PerplexityAi, UpdateAssistantDtoModel_TogetherAi, UpdateAssistantDtoModel_Xai, + UpdateAssistantDtoModel_Vapi, ], UnionMetadata(discriminant="provider"), ] @@ -747,8 +849,12 @@ class Config: from ...types.call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from ...types.call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from ...types.call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from ...types.cerebras_model import CerebrasModel # noqa: E402, I001 from ...types.cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from ...types.conversation_node import ConversationNode # noqa: E402, I001 +from ...types.conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from ...types.create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from ...types.create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from ...types.create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -784,6 +890,13 @@ class Config: from ...types.together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from ...types.tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from ...types.tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from ...types.tool_node import ToolNode # noqa: E402, I001 +from ...types.tool_node_tool import ToolNodeTool # noqa: E402, I001 +from ...types.vapi_model import VapiModel # noqa: E402, I001 +from ...types.vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from ...types.workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from ...types.workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from ...types.workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from ...types.xai_model import XaiModel # noqa: E402, I001 from ...types.xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from ...types.anthropic_model import AnthropicModel # noqa: E402, I001 @@ -807,8 +920,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -844,6 +961,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -866,8 +990,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -903,6 +1031,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -925,8 +1060,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -962,6 +1101,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -985,7 +1131,11 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1021,6 +1171,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1044,8 +1201,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1080,6 +1241,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1103,8 +1271,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1139,6 +1311,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1162,8 +1341,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1198,6 +1381,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1221,8 +1411,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1257,6 +1451,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1280,8 +1481,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1316,6 +1521,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1339,8 +1551,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1375,6 +1591,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1398,8 +1621,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1434,6 +1661,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1457,8 +1691,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1493,6 +1731,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1516,8 +1761,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1552,6 +1801,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1575,8 +1831,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1611,6 +1871,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1634,8 +1901,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1670,6 +1941,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1693,8 +1971,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1730,5 +2012,82 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDtoModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/assistants/types/update_assistant_dto_transcriber.py b/src/vapi/assistants/types/update_assistant_dto_transcriber.py index 51942cdf..f0a39f80 100644 --- a/src/vapi/assistants/types/update_assistant_dto_transcriber.py +++ b/src/vapi/assistants/types/update_assistant_dto_transcriber.py @@ -17,13 +17,14 @@ from ...types.cartesia_transcriber_model import CartesiaTranscriberModel from ...types.deepgram_transcriber_language import DeepgramTranscriberLanguage from ...types.deepgram_transcriber_model import DeepgramTranscriberModel +from ...types.deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from ...types.eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from ...types.eleven_labs_transcriber_model import ElevenLabsTranscriberModel from ...types.fallback_transcriber_plan import FallbackTranscriberPlan from ...types.gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from ...types.gladia_transcriber_language import GladiaTranscriberLanguage from ...types.gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from ...types.gladia_transcriber_languages import GladiaTranscriberLanguages +from ...types.gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from ...types.gladia_transcriber_model import GladiaTranscriberModel from ...types.gladia_transcriber_region import GladiaTranscriberRegion from ...types.google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from ...types.open_ai_transcriber_language import OpenAiTranscriberLanguage from ...types.open_ai_transcriber_model import OpenAiTranscriberModel from ...types.server import Server +from ...types.soniox_context_general_item import SonioxContextGeneralItem from ...types.soniox_transcriber_language import SonioxTranscriberLanguage +from ...types.soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from ...types.soniox_transcriber_model import SonioxTranscriberModel from ...types.speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from ...types.speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from ...types.speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from ...types.talkscriber_transcriber_language import TalkscriberTranscriberLanguage from ...types.talkscriber_transcriber_model import TalkscriberTranscriberModel +from ...types.vapi_transcriber_language import VapiTranscriberLanguage +from ...types.vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from ...types.vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from ...types.vapi_transcriber_version import VapiTranscriberVersion +from ...types.xai_transcriber_language import XaiTranscriberLanguage +from ...types.xai_transcriber_model import XaiTranscriberModel class UpdateAssistantDtoTranscriber_AssemblyAi(UncheckedBaseModel): @@ -198,18 +207,17 @@ class UpdateAssistantDtoTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -282,7 +290,7 @@ class UpdateAssistantDtoTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -492,6 +500,7 @@ class UpdateAssistantDtoTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -503,6 +512,11 @@ class UpdateAssistantDtoTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -519,6 +533,56 @@ class Config: extra = pydantic.Extra.allow +class UpdateAssistantDtoTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDtoTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + UpdateAssistantDtoTranscriber = typing_extensions.Annotated[ typing.Union[ UpdateAssistantDtoTranscriber_AssemblyAi, @@ -533,6 +597,8 @@ class Config: UpdateAssistantDtoTranscriber_Openai, UpdateAssistantDtoTranscriber_Cartesia, UpdateAssistantDtoTranscriber_Soniox, + UpdateAssistantDtoTranscriber_Xai, + UpdateAssistantDtoTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/assistants/types/update_assistant_dto_voice.py b/src/vapi/assistants/types/update_assistant_dto_voice.py index 5456801d..8608c106 100644 --- a/src/vapi/assistants/types/update_assistant_dto_voice.py +++ b/src/vapi/assistants/types/update_assistant_dto_voice.py @@ -27,6 +27,9 @@ from ...types.inworld_voice_voice_id import InworldVoiceVoiceId from ...types.lmnt_voice_id import LmntVoiceId from ...types.lmnt_voice_language import LmntVoiceLanguage +from ...types.microsoft_voice_role import MicrosoftVoiceRole +from ...types.microsoft_voice_style import MicrosoftVoiceStyle +from ...types.microsoft_voice_voice_id import MicrosoftVoiceVoiceId from ...types.minimax_voice_language_boost import MinimaxVoiceLanguageBoost from ...types.minimax_voice_model import MinimaxVoiceModel from ...types.minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from ...types.tavus_conversation_properties import TavusConversationProperties from ...types.tavus_voice_voice_id import TavusVoiceVoiceId from ...types.vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from ...types.vapi_voice_language import VapiVoiceLanguage +from ...types.vapi_voice_version import VapiVoiceVersion from ...types.vapi_voice_voice_id import VapiVoiceVoiceId from ...types.well_said_voice_model import WellSaidVoiceModel +from ...types.xai_voice_language import XaiVoiceLanguage +from ...types.xai_voice_voice_id import XaiVoiceVoiceId class UpdateAssistantDtoVoice_Azure(UncheckedBaseModel): @@ -577,7 +584,9 @@ class UpdateAssistantDtoVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -586,9 +595,6 @@ class UpdateAssistantDtoVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -715,6 +721,72 @@ class Config: extra = pydantic.Extra.allow +class UpdateAssistantDtoVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDtoVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + UpdateAssistantDtoVoice = typing_extensions.Annotated[ typing.Union[ UpdateAssistantDtoVoice_Azure, @@ -735,6 +807,8 @@ class Config: UpdateAssistantDtoVoice_Sesame, UpdateAssistantDtoVoice_Inworld, UpdateAssistantDtoVoice_Minimax, + UpdateAssistantDtoVoice_Xai, + UpdateAssistantDtoVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/board/__init__.py b/src/vapi/board/__init__.py new file mode 100644 index 00000000..b11de044 --- /dev/null +++ b/src/vapi/board/__init__.py @@ -0,0 +1,49 @@ +# 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 .types import ( + BoardControllerFindAllRequestSortBy, + BoardControllerFindAllRequestSortOrder, + CreateBoardDtoItemsItem, + UpdateBoardDtoItemsItem, + ) +_dynamic_imports: typing.Dict[str, str] = { + "BoardControllerFindAllRequestSortBy": ".types", + "BoardControllerFindAllRequestSortOrder": ".types", + "CreateBoardDtoItemsItem": ".types", + "UpdateBoardDtoItemsItem": ".types", +} + + +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__ = [ + "BoardControllerFindAllRequestSortBy", + "BoardControllerFindAllRequestSortOrder", + "CreateBoardDtoItemsItem", + "UpdateBoardDtoItemsItem", +] diff --git a/src/vapi/board/client.py b/src/vapi/board/client.py new file mode 100644 index 00000000..ee512031 --- /dev/null +++ b/src/vapi/board/client.py @@ -0,0 +1,683 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ..core.request_options import RequestOptions +from ..types.board import Board +from ..types.board_layout import BoardLayout +from ..types.board_paginated_response import BoardPaginatedResponse +from ..types.insight_time_range_with_step import InsightTimeRangeWithStep +from .raw_client import AsyncRawBoardClient, RawBoardClient +from .types.board_controller_find_all_request_sort_by import BoardControllerFindAllRequestSortBy +from .types.board_controller_find_all_request_sort_order import BoardControllerFindAllRequestSortOrder +from .types.create_board_dto_items_item import CreateBoardDtoItemsItem +from .types.update_board_dto_items_item import UpdateBoardDtoItemsItem + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class BoardClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawBoardClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> RawBoardClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawBoardClient + """ + return self._raw_client + + def board_controller_find_all( + self, + *, + page: typing.Optional[float] = None, + sort_order: typing.Optional[BoardControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[BoardControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> BoardPaginatedResponse: + """ + Parameters + ---------- + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[BoardControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[BoardControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + BoardPaginatedResponse + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_find_all() + """ + _response = self._raw_client.board_controller_find_all( + page=page, + sort_order=sort_order, + sort_by=sort_by, + limit=limit, + created_at_gt=created_at_gt, + created_at_lt=created_at_lt, + created_at_ge=created_at_ge, + created_at_le=created_at_le, + updated_at_gt=updated_at_gt, + updated_at_lt=updated_at_lt, + updated_at_ge=updated_at_ge, + updated_at_le=updated_at_le, + request_options=request_options, + ) + return _response.data + + def board_controller_create( + self, + *, + name: str, + layout: BoardLayout, + items: typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Board: + """ + Parameters + ---------- + name : str + This is the name of the Board. + + layout : BoardLayout + This is the layout of the Board. + + items : typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + from vapi import BoardLayout, Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_create( + name="name", + layout=BoardLayout( + columns=1.1, + ), + ) + """ + _response = self._raw_client.board_controller_create( + name=name, + layout=layout, + items=items, + time_range_override=time_range_override, + request_options=request_options, + ) + return _response.data + + def board_controller_metrics_overview_ensure( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> Board: + """ + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_metrics_overview_ensure() + """ + _response = self._raw_client.board_controller_metrics_overview_ensure(request_options=request_options) + return _response.data + + def board_controller_find_one(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_find_one( + id="id", + ) + """ + _response = self._raw_client.board_controller_find_one(id, request_options=request_options) + return _response.data + + def board_controller_remove(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_remove( + id="id", + ) + """ + _response = self._raw_client.board_controller_remove(id, request_options=request_options) + return _response.data + + def board_controller_update( + self, + id: str, + *, + items: typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] = OMIT, + name: typing.Optional[str] = OMIT, + layout: typing.Optional[BoardLayout] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + items : typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + name : typing.Optional[str] + This is the name of the Board. + + layout : typing.Optional[BoardLayout] + This is the layout of the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.board.board_controller_update( + id="id", + ) + """ + _response = self._raw_client.board_controller_update( + id, + items=items, + name=name, + layout=layout, + time_range_override=time_range_override, + request_options=request_options, + ) + return _response.data + + +class AsyncBoardClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawBoardClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawBoardClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawBoardClient + """ + return self._raw_client + + async def board_controller_find_all( + self, + *, + page: typing.Optional[float] = None, + sort_order: typing.Optional[BoardControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[BoardControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> BoardPaginatedResponse: + """ + Parameters + ---------- + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[BoardControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[BoardControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + BoardPaginatedResponse + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_find_all() + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_find_all( + page=page, + sort_order=sort_order, + sort_by=sort_by, + limit=limit, + created_at_gt=created_at_gt, + created_at_lt=created_at_lt, + created_at_ge=created_at_ge, + created_at_le=created_at_le, + updated_at_gt=updated_at_gt, + updated_at_lt=updated_at_lt, + updated_at_ge=updated_at_ge, + updated_at_le=updated_at_le, + request_options=request_options, + ) + return _response.data + + async def board_controller_create( + self, + *, + name: str, + layout: BoardLayout, + items: typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Board: + """ + Parameters + ---------- + name : str + This is the name of the Board. + + layout : BoardLayout + This is the layout of the Board. + + items : typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi, BoardLayout + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_create( + name="name", + layout=BoardLayout( + columns=1.1, + ), + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_create( + name=name, + layout=layout, + items=items, + time_range_override=time_range_override, + request_options=request_options, + ) + return _response.data + + async def board_controller_metrics_overview_ensure( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> Board: + """ + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_metrics_overview_ensure() + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_metrics_overview_ensure(request_options=request_options) + return _response.data + + async def board_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_find_one( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_find_one(id, request_options=request_options) + return _response.data + + async def board_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_remove( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_remove(id, request_options=request_options) + return _response.data + + async def board_controller_update( + self, + id: str, + *, + items: typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] = OMIT, + name: typing.Optional[str] = OMIT, + layout: typing.Optional[BoardLayout] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Board: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + items : typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + name : typing.Optional[str] + This is the name of the Board. + + layout : typing.Optional[BoardLayout] + This is the layout of the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Board + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.board.board_controller_update( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.board_controller_update( + id, + items=items, + name=name, + layout=layout, + time_range_override=time_range_override, + request_options=request_options, + ) + return _response.data diff --git a/src/vapi/board/raw_client.py b/src/vapi/board/raw_client.py new file mode 100644 index 00000000..e48a7f15 --- /dev/null +++ b/src/vapi/board/raw_client.py @@ -0,0 +1,785 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing +from json.decoder import JSONDecodeError + +from ..core.api_error import ApiError +from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ..core.datetime_utils import serialize_datetime +from ..core.http_response import AsyncHttpResponse, HttpResponse +from ..core.jsonable_encoder import jsonable_encoder +from ..core.parse_error import ParsingError +from ..core.request_options import RequestOptions +from ..core.serialization import convert_and_respect_annotation_metadata +from ..core.unchecked_base_model import construct_type +from ..types.board import Board +from ..types.board_layout import BoardLayout +from ..types.board_paginated_response import BoardPaginatedResponse +from ..types.insight_time_range_with_step import InsightTimeRangeWithStep +from .types.board_controller_find_all_request_sort_by import BoardControllerFindAllRequestSortBy +from .types.board_controller_find_all_request_sort_order import BoardControllerFindAllRequestSortOrder +from .types.create_board_dto_items_item import CreateBoardDtoItemsItem +from .types.update_board_dto_items_item import UpdateBoardDtoItemsItem +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class RawBoardClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def board_controller_find_all( + self, + *, + page: typing.Optional[float] = None, + sort_order: typing.Optional[BoardControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[BoardControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[BoardPaginatedResponse]: + """ + Parameters + ---------- + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[BoardControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[BoardControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[BoardPaginatedResponse] + + """ + _response = self._client_wrapper.httpx_client.request( + "reporting/board", + method="GET", + params={ + "page": page, + "sortOrder": sort_order, + "sortBy": sort_by, + "limit": limit, + "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, + "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, + "createdAtGe": serialize_datetime(created_at_ge) if created_at_ge is not None else None, + "createdAtLe": serialize_datetime(created_at_le) if created_at_le is not None else None, + "updatedAtGt": serialize_datetime(updated_at_gt) if updated_at_gt is not None else None, + "updatedAtLt": serialize_datetime(updated_at_lt) if updated_at_lt is not None else None, + "updatedAtGe": serialize_datetime(updated_at_ge) if updated_at_ge is not None else None, + "updatedAtLe": serialize_datetime(updated_at_le) if updated_at_le is not None else None, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + BoardPaginatedResponse, + construct_type( + type_=BoardPaginatedResponse, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def board_controller_create( + self, + *, + name: str, + layout: BoardLayout, + items: typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[Board]: + """ + Parameters + ---------- + name : str + This is the name of the Board. + + layout : BoardLayout + This is the layout of the Board. + + items : typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Board] + + """ + _response = self._client_wrapper.httpx_client.request( + "reporting/board", + method="POST", + json={ + "items": convert_and_respect_annotation_metadata( + object_=items, annotation=typing.Sequence[CreateBoardDtoItemsItem], direction="write" + ), + "name": name, + "layout": convert_and_respect_annotation_metadata( + object_=layout, annotation=BoardLayout, direction="write" + ), + "timeRangeOverride": convert_and_respect_annotation_metadata( + object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" + ), + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def board_controller_metrics_overview_ensure( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[Board]: + """ + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Board] + + """ + _response = self._client_wrapper.httpx_client.request( + "reporting/board/default/metrics-overview", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def board_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Board] + + """ + _response = self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def board_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Board] + + """ + _response = self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def board_controller_update( + self, + id: str, + *, + items: typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] = OMIT, + name: typing.Optional[str] = OMIT, + layout: typing.Optional[BoardLayout] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + items : typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + name : typing.Optional[str] + This is the name of the Board. + + layout : typing.Optional[BoardLayout] + This is the layout of the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Board] + + """ + _response = self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="PATCH", + json={ + "items": convert_and_respect_annotation_metadata( + object_=items, annotation=typing.Sequence[UpdateBoardDtoItemsItem], direction="write" + ), + "name": name, + "layout": convert_and_respect_annotation_metadata( + object_=layout, annotation=BoardLayout, direction="write" + ), + "timeRangeOverride": convert_and_respect_annotation_metadata( + object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" + ), + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + +class AsyncRawBoardClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def board_controller_find_all( + self, + *, + page: typing.Optional[float] = None, + sort_order: typing.Optional[BoardControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[BoardControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[BoardPaginatedResponse]: + """ + Parameters + ---------- + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[BoardControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[BoardControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[BoardPaginatedResponse] + + """ + _response = await self._client_wrapper.httpx_client.request( + "reporting/board", + method="GET", + params={ + "page": page, + "sortOrder": sort_order, + "sortBy": sort_by, + "limit": limit, + "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, + "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, + "createdAtGe": serialize_datetime(created_at_ge) if created_at_ge is not None else None, + "createdAtLe": serialize_datetime(created_at_le) if created_at_le is not None else None, + "updatedAtGt": serialize_datetime(updated_at_gt) if updated_at_gt is not None else None, + "updatedAtLt": serialize_datetime(updated_at_lt) if updated_at_lt is not None else None, + "updatedAtGe": serialize_datetime(updated_at_ge) if updated_at_ge is not None else None, + "updatedAtLe": serialize_datetime(updated_at_le) if updated_at_le is not None else None, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + BoardPaginatedResponse, + construct_type( + type_=BoardPaginatedResponse, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def board_controller_create( + self, + *, + name: str, + layout: BoardLayout, + items: typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Board]: + """ + Parameters + ---------- + name : str + This is the name of the Board. + + layout : BoardLayout + This is the layout of the Board. + + items : typing.Optional[typing.Sequence[CreateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Board] + + """ + _response = await self._client_wrapper.httpx_client.request( + "reporting/board", + method="POST", + json={ + "items": convert_and_respect_annotation_metadata( + object_=items, annotation=typing.Sequence[CreateBoardDtoItemsItem], direction="write" + ), + "name": name, + "layout": convert_and_respect_annotation_metadata( + object_=layout, annotation=BoardLayout, direction="write" + ), + "timeRangeOverride": convert_and_respect_annotation_metadata( + object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" + ), + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def board_controller_metrics_overview_ensure( + self, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Board]: + """ + Parameters + ---------- + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Board] + + """ + _response = await self._client_wrapper.httpx_client.request( + "reporting/board/default/metrics-overview", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def board_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Board] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def board_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Board] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def board_controller_update( + self, + id: str, + *, + items: typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] = OMIT, + name: typing.Optional[str] = OMIT, + layout: typing.Optional[BoardLayout] = OMIT, + time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Board]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + items : typing.Optional[typing.Sequence[UpdateBoardDtoItemsItem]] + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + + name : typing.Optional[str] + This is the name of the Board. + + layout : typing.Optional[BoardLayout] + This is the layout of the Board. + + time_range_override : typing.Optional[InsightTimeRangeWithStep] + This is the timerange override for the board. + By default, individual insights have their own timerange. + This is a global override for the board which will be passed to all insights on the board. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Board] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"reporting/board/{jsonable_encoder(id)}", + method="PATCH", + json={ + "items": convert_and_respect_annotation_metadata( + object_=items, annotation=typing.Sequence[UpdateBoardDtoItemsItem], direction="write" + ), + "name": name, + "layout": convert_and_respect_annotation_metadata( + object_=layout, annotation=BoardLayout, direction="write" + ), + "timeRangeOverride": convert_and_respect_annotation_metadata( + object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" + ), + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Board, + construct_type( + type_=Board, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) diff --git a/src/vapi/board/types/__init__.py b/src/vapi/board/types/__init__.py new file mode 100644 index 00000000..cf12c771 --- /dev/null +++ b/src/vapi/board/types/__init__.py @@ -0,0 +1,47 @@ +# 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 .board_controller_find_all_request_sort_by import BoardControllerFindAllRequestSortBy + from .board_controller_find_all_request_sort_order import BoardControllerFindAllRequestSortOrder + from .create_board_dto_items_item import CreateBoardDtoItemsItem + from .update_board_dto_items_item import UpdateBoardDtoItemsItem +_dynamic_imports: typing.Dict[str, str] = { + "BoardControllerFindAllRequestSortBy": ".board_controller_find_all_request_sort_by", + "BoardControllerFindAllRequestSortOrder": ".board_controller_find_all_request_sort_order", + "CreateBoardDtoItemsItem": ".create_board_dto_items_item", + "UpdateBoardDtoItemsItem": ".update_board_dto_items_item", +} + + +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__ = [ + "BoardControllerFindAllRequestSortBy", + "BoardControllerFindAllRequestSortOrder", + "CreateBoardDtoItemsItem", + "UpdateBoardDtoItemsItem", +] diff --git a/src/vapi/board/types/board_controller_find_all_request_sort_by.py b/src/vapi/board/types/board_controller_find_all_request_sort_by.py new file mode 100644 index 00000000..7caeae13 --- /dev/null +++ b/src/vapi/board/types/board_controller_find_all_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BoardControllerFindAllRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/board/types/board_controller_find_all_request_sort_order.py b/src/vapi/board/types/board_controller_find_all_request_sort_order.py new file mode 100644 index 00000000..3531b0f2 --- /dev/null +++ b/src/vapi/board/types/board_controller_find_all_request_sort_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BoardControllerFindAllRequestSortOrder = typing.Union[typing.Literal["ASC", "DESC"], typing.Any] diff --git a/src/vapi/board/types/create_board_dto_items_item.py b/src/vapi/board/types/create_board_dto_items_item.py new file mode 100644 index 00000000..714ea609 --- /dev/null +++ b/src/vapi/board/types/create_board_dto_items_item.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ...types.board_insight_item import BoardInsightItem +from ...types.board_metric_widget_item import BoardMetricWidgetItem + +CreateBoardDtoItemsItem = typing.Union[BoardInsightItem, BoardMetricWidgetItem] diff --git a/src/vapi/board/types/update_board_dto_items_item.py b/src/vapi/board/types/update_board_dto_items_item.py new file mode 100644 index 00000000..8d5078fc --- /dev/null +++ b/src/vapi/board/types/update_board_dto_items_item.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ...types.board_insight_item import BoardInsightItem +from ...types.board_metric_widget_item import BoardMetricWidgetItem + +UpdateBoardDtoItemsItem = typing.Union[BoardInsightItem, BoardMetricWidgetItem] diff --git a/src/vapi/calls/__init__.py b/src/vapi/calls/__init__.py index d6a631c9..d8bebe7b 100644 --- a/src/vapi/calls/__init__.py +++ b/src/vapi/calls/__init__.py @@ -6,8 +6,26 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import CreateCallsResponse -_dynamic_imports: typing.Dict[str, str] = {"CreateCallsResponse": ".types"} + from .types import ( + CreateCallDtoTransport, + CreateCallDtoTransport_Daily, + CreateCallDtoTransport_Telnyx, + CreateCallDtoTransport_Twilio, + CreateCallDtoTransport_VapiSip, + CreateCallDtoTransport_VapiWebsocket, + CreateCallDtoTransport_Vonage, + CreateCallsResponse, + ) +_dynamic_imports: typing.Dict[str, str] = { + "CreateCallDtoTransport": ".types", + "CreateCallDtoTransport_Daily": ".types", + "CreateCallDtoTransport_Telnyx": ".types", + "CreateCallDtoTransport_Twilio": ".types", + "CreateCallDtoTransport_VapiSip": ".types", + "CreateCallDtoTransport_VapiWebsocket": ".types", + "CreateCallDtoTransport_Vonage": ".types", + "CreateCallsResponse": ".types", +} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +49,13 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["CreateCallsResponse"] +__all__ = [ + "CreateCallDtoTransport", + "CreateCallDtoTransport_Daily", + "CreateCallDtoTransport_Telnyx", + "CreateCallDtoTransport_Twilio", + "CreateCallDtoTransport_VapiSip", + "CreateCallDtoTransport_VapiWebsocket", + "CreateCallDtoTransport_Vonage", + "CreateCallsResponse", +] diff --git a/src/vapi/calls/client.py b/src/vapi/calls/client.py index 187aa41c..c1a7dbf9 100644 --- a/src/vapi/calls/client.py +++ b/src/vapi/calls/client.py @@ -15,6 +15,7 @@ from ..types.schedule_plan import SchedulePlan from ..types.workflow_overrides import WorkflowOverrides from .raw_client import AsyncRawCallsClient, RawCallsClient +from .types.create_call_dto_transport import CreateCallDtoTransport from .types.create_calls_response import CreateCallsResponse # this is used as the default value for optional parameters @@ -54,6 +55,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Call]: """ + Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -131,10 +134,11 @@ def list( def create( self, *, + assistant_version: typing.Optional[str] = OMIT, + transport: typing.Optional[CreateCallDtoTransport] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, name: typing.Optional[str] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, - transport: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, assistant_id: typing.Optional[str] = OMIT, assistant: typing.Optional[CreateAssistantDto] = OMIT, assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, @@ -151,8 +155,17 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> CreateCallsResponse: """ + Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations. + Parameters ---------- + assistant_version : typing.Optional[str] + This is the assistant version to use for this call. Supported only with + direct `assistantId`. Omit to follow the latest version. + + transport : typing.Optional[CreateCallDtoTransport] + This is the transport of the call. + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] This is used to issue batch calls to multiple customers. @@ -164,9 +177,6 @@ def create( schedule_plan : typing.Optional[SchedulePlan] This is the schedule plan of the call. - transport : typing.Optional[typing.Dict[str, typing.Any]] - This is the transport of the call. - assistant_id : typing.Optional[str] This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead. @@ -263,10 +273,11 @@ def create( client.calls.create() """ _response = self._raw_client.create( + assistant_version=assistant_version, + transport=transport, customers=customers, name=name, schedule_plan=schedule_plan, - transport=transport, assistant_id=assistant_id, assistant=assistant, assistant_overrides=assistant_overrides, @@ -286,9 +297,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Call: """ + Returns the call identified by its ID, including its status, configuration, and available call data. + Parameters ---------- id : str + The unique identifier of the call. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -320,6 +334,8 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> Call: """ + Deletes the call identified by its ID. + Parameters ---------- id : str @@ -356,9 +372,12 @@ def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> Call: """ + Updates the call identified by its ID. + Parameters ---------- id : str + The unique identifier of the call. name : typing.Optional[str] This is the name of the call. This is just for your own reference. @@ -385,6 +404,226 @@ def update( _response = self._raw_client.update(id, name=name, request_options=request_options) return _response.data + def call_artifact_controller_mono_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_mono_recording_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_mono_recording_download( + id, request_options=request_options + ) + return _response.data + + def call_artifact_controller_stereo_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_stereo_recording_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_stereo_recording_download( + id, request_options=request_options + ) + return _response.data + + def call_artifact_controller_video_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_video_recording_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_video_recording_download( + id, request_options=request_options + ) + return _response.data + + def call_artifact_controller_customer_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_customer_recording_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_customer_recording_download( + id, request_options=request_options + ) + return _response.data + + def call_artifact_controller_assistant_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_assistant_recording_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_assistant_recording_download( + id, request_options=request_options + ) + return _response.data + + def call_artifact_controller_pcap_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_pcap_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_pcap_download(id, request_options=request_options) + return _response.data + + def call_artifact_controller_call_logs_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.calls.call_artifact_controller_call_logs_download( + id="id", + ) + """ + _response = self._raw_client.call_artifact_controller_call_logs_download(id, request_options=request_options) + return _response.data + class AsyncCallsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): @@ -419,6 +658,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Call]: """ + Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -504,10 +745,11 @@ async def main() -> None: async def create( self, *, + assistant_version: typing.Optional[str] = OMIT, + transport: typing.Optional[CreateCallDtoTransport] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, name: typing.Optional[str] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, - transport: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, assistant_id: typing.Optional[str] = OMIT, assistant: typing.Optional[CreateAssistantDto] = OMIT, assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, @@ -524,8 +766,17 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> CreateCallsResponse: """ + Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations. + Parameters ---------- + assistant_version : typing.Optional[str] + This is the assistant version to use for this call. Supported only with + direct `assistantId`. Omit to follow the latest version. + + transport : typing.Optional[CreateCallDtoTransport] + This is the transport of the call. + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] This is used to issue batch calls to multiple customers. @@ -537,9 +788,6 @@ async def create( schedule_plan : typing.Optional[SchedulePlan] This is the schedule plan of the call. - transport : typing.Optional[typing.Dict[str, typing.Any]] - This is the transport of the call. - assistant_id : typing.Optional[str] This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead. @@ -644,10 +892,11 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.create( + assistant_version=assistant_version, + transport=transport, customers=customers, name=name, schedule_plan=schedule_plan, - transport=transport, assistant_id=assistant_id, assistant=assistant, assistant_overrides=assistant_overrides, @@ -667,9 +916,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Call: """ + Returns the call identified by its ID, including its status, configuration, and available call data. + Parameters ---------- id : str + The unique identifier of the call. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -709,6 +961,8 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> Call: """ + Deletes the call identified by its ID. + Parameters ---------- id : str @@ -753,9 +1007,12 @@ async def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> Call: """ + Updates the call identified by its ID. + Parameters ---------- id : str + The unique identifier of the call. name : typing.Optional[str] This is the name of the call. This is just for your own reference. @@ -789,3 +1046,281 @@ async def main() -> None: """ _response = await self._raw_client.update(id, name=name, request_options=request_options) return _response.data + + async def call_artifact_controller_mono_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_mono_recording_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_mono_recording_download( + id, request_options=request_options + ) + return _response.data + + async def call_artifact_controller_stereo_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_stereo_recording_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_stereo_recording_download( + id, request_options=request_options + ) + return _response.data + + async def call_artifact_controller_video_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_video_recording_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_video_recording_download( + id, request_options=request_options + ) + return _response.data + + async def call_artifact_controller_customer_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_customer_recording_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_customer_recording_download( + id, request_options=request_options + ) + return _response.data + + async def call_artifact_controller_assistant_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_assistant_recording_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_assistant_recording_download( + id, request_options=request_options + ) + return _response.data + + async def call_artifact_controller_pcap_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_pcap_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_pcap_download(id, request_options=request_options) + return _response.data + + async def call_artifact_controller_call_logs_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> None: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + None + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.calls.call_artifact_controller_call_logs_download( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.call_artifact_controller_call_logs_download( + id, request_options=request_options + ) + return _response.data diff --git a/src/vapi/calls/raw_client.py b/src/vapi/calls/raw_client.py index e3e58891..913365ee 100644 --- a/src/vapi/calls/raw_client.py +++ b/src/vapi/calls/raw_client.py @@ -13,6 +13,9 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..errors.not_found_error import NotFoundError +from ..errors.service_unavailable_error import ServiceUnavailableError +from ..errors.unauthorized_error import UnauthorizedError from ..types.assistant_overrides import AssistantOverrides from ..types.call import Call from ..types.create_assistant_dto import CreateAssistantDto @@ -22,6 +25,7 @@ from ..types.import_twilio_phone_number_dto import ImportTwilioPhoneNumberDto from ..types.schedule_plan import SchedulePlan from ..types.workflow_overrides import WorkflowOverrides +from .types.create_call_dto_transport import CreateCallDtoTransport from .types.create_calls_response import CreateCallsResponse from pydantic import ValidationError @@ -51,6 +55,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.List[Call]]: """ + Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -140,10 +146,11 @@ def list( def create( self, *, + assistant_version: typing.Optional[str] = OMIT, + transport: typing.Optional[CreateCallDtoTransport] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, name: typing.Optional[str] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, - transport: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, assistant_id: typing.Optional[str] = OMIT, assistant: typing.Optional[CreateAssistantDto] = OMIT, assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, @@ -160,8 +167,17 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[CreateCallsResponse]: """ + Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations. + Parameters ---------- + assistant_version : typing.Optional[str] + This is the assistant version to use for this call. Supported only with + direct `assistantId`. Omit to follow the latest version. + + transport : typing.Optional[CreateCallDtoTransport] + This is the transport of the call. + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] This is used to issue batch calls to multiple customers. @@ -173,9 +189,6 @@ def create( schedule_plan : typing.Optional[SchedulePlan] This is the schedule plan of the call. - transport : typing.Optional[typing.Dict[str, typing.Any]] - This is the transport of the call. - assistant_id : typing.Optional[str] This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead. @@ -266,6 +279,10 @@ def create( "call", method="POST", json={ + "assistantVersion": assistant_version, + "transport": convert_and_respect_annotation_metadata( + object_=transport, annotation=CreateCallDtoTransport, direction="write" + ), "customers": convert_and_respect_annotation_metadata( object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" ), @@ -273,7 +290,6 @@ def create( "schedulePlan": convert_and_respect_annotation_metadata( object_=schedule_plan, annotation=SchedulePlan, direction="write" ), - "transport": transport, "assistantId": assistant_id, "assistant": convert_and_respect_annotation_metadata( object_=assistant, annotation=CreateAssistantDto, direction="write" @@ -331,9 +347,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Call]: """ + Returns the call identified by its ID, including its status, configuration, and available call data. + Parameters ---------- id : str + The unique identifier of the call. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -375,6 +394,8 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Call]: """ + Deletes the call identified by its ID. + Parameters ---------- id : str @@ -415,6 +436,17 @@ def delete( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 503: + raise ServiceUnavailableError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -428,9 +460,12 @@ def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[Call]: """ + Updates the call identified by its ID. + Parameters ---------- id : str + The unique identifier of the call. name : typing.Optional[str] This is the name of the call. This is just for your own reference. @@ -474,6 +509,391 @@ def update( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + def call_artifact_controller_mono_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/mono-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_stereo_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/stereo-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_video_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/video-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_customer_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/customer-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_assistant_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/assistant-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_pcap_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/pcap", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def call_artifact_controller_call_logs_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[None] + """ + _response = self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/call-logs", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return HttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + class AsyncRawCallsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): @@ -497,6 +917,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.List[Call]]: """ + Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -586,10 +1008,11 @@ async def list( async def create( self, *, + assistant_version: typing.Optional[str] = OMIT, + transport: typing.Optional[CreateCallDtoTransport] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, name: typing.Optional[str] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, - transport: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, assistant_id: typing.Optional[str] = OMIT, assistant: typing.Optional[CreateAssistantDto] = OMIT, assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, @@ -606,8 +1029,17 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[CreateCallsResponse]: """ + Creates a call using an assistant or squad. The request can reference saved resources or include transient configurations. + Parameters ---------- + assistant_version : typing.Optional[str] + This is the assistant version to use for this call. Supported only with + direct `assistantId`. Omit to follow the latest version. + + transport : typing.Optional[CreateCallDtoTransport] + This is the transport of the call. + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] This is used to issue batch calls to multiple customers. @@ -619,9 +1051,6 @@ async def create( schedule_plan : typing.Optional[SchedulePlan] This is the schedule plan of the call. - transport : typing.Optional[typing.Dict[str, typing.Any]] - This is the transport of the call. - assistant_id : typing.Optional[str] This is the assistant ID that will be used for the call. To use a transient assistant, use `assistant` instead. @@ -712,6 +1141,10 @@ async def create( "call", method="POST", json={ + "assistantVersion": assistant_version, + "transport": convert_and_respect_annotation_metadata( + object_=transport, annotation=CreateCallDtoTransport, direction="write" + ), "customers": convert_and_respect_annotation_metadata( object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" ), @@ -719,7 +1152,6 @@ async def create( "schedulePlan": convert_and_respect_annotation_metadata( object_=schedule_plan, annotation=SchedulePlan, direction="write" ), - "transport": transport, "assistantId": assistant_id, "assistant": convert_and_respect_annotation_metadata( object_=assistant, annotation=CreateAssistantDto, direction="write" @@ -777,9 +1209,12 @@ async def create( async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AsyncHttpResponse[Call]: """ + Returns the call identified by its ID, including its status, configuration, and available call data. + Parameters ---------- id : str + The unique identifier of the call. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -821,6 +1256,8 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Call]: """ + Deletes the call identified by its ID. + Parameters ---------- id : str @@ -861,6 +1298,17 @@ async def delete( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 503: + raise ServiceUnavailableError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -874,9 +1322,12 @@ async def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Call]: """ + Updates the call identified by its ID. + Parameters ---------- id : str + The unique identifier of the call. name : typing.Optional[str] This is the name of the call. This is just for your own reference. @@ -919,3 +1370,388 @@ async def update( status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_mono_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/mono-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_stereo_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/stereo-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_video_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/video-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_customer_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/customer-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_assistant_recording_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/assistant-recording", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_pcap_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/pcap", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def call_artifact_controller_call_logs_download( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[None]: + """ + Parameters + ---------- + id : str + Call ID + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[None] + """ + _response = await self._client_wrapper.httpx_client.request( + f"call/{jsonable_encoder(id)}/call-logs", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + return AsyncHttpResponse(response=_response, data=None) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) diff --git a/src/vapi/calls/types/__init__.py b/src/vapi/calls/types/__init__.py index 73c149f9..36daa0fc 100644 --- a/src/vapi/calls/types/__init__.py +++ b/src/vapi/calls/types/__init__.py @@ -6,8 +6,26 @@ from importlib import import_module if typing.TYPE_CHECKING: + from .create_call_dto_transport import ( + CreateCallDtoTransport, + CreateCallDtoTransport_Daily, + CreateCallDtoTransport_Telnyx, + CreateCallDtoTransport_Twilio, + CreateCallDtoTransport_VapiSip, + CreateCallDtoTransport_VapiWebsocket, + CreateCallDtoTransport_Vonage, + ) from .create_calls_response import CreateCallsResponse -_dynamic_imports: typing.Dict[str, str] = {"CreateCallsResponse": ".create_calls_response"} +_dynamic_imports: typing.Dict[str, str] = { + "CreateCallDtoTransport": ".create_call_dto_transport", + "CreateCallDtoTransport_Daily": ".create_call_dto_transport", + "CreateCallDtoTransport_Telnyx": ".create_call_dto_transport", + "CreateCallDtoTransport_Twilio": ".create_call_dto_transport", + "CreateCallDtoTransport_VapiSip": ".create_call_dto_transport", + "CreateCallDtoTransport_VapiWebsocket": ".create_call_dto_transport", + "CreateCallDtoTransport_Vonage": ".create_call_dto_transport", + "CreateCallsResponse": ".create_calls_response", +} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +49,13 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["CreateCallsResponse"] +__all__ = [ + "CreateCallDtoTransport", + "CreateCallDtoTransport_Daily", + "CreateCallDtoTransport_Telnyx", + "CreateCallDtoTransport_Twilio", + "CreateCallDtoTransport_VapiSip", + "CreateCallDtoTransport_VapiWebsocket", + "CreateCallDtoTransport_Vonage", + "CreateCallsResponse", +] diff --git a/src/vapi/calls/types/create_call_dto_transport.py b/src/vapi/calls/types/create_call_dto_transport.py new file mode 100644 index 00000000..ad954108 --- /dev/null +++ b/src/vapi/calls/types/create_call_dto_transport.py @@ -0,0 +1,213 @@ +# 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.serialization import FieldMetadata +from ...core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from ...types.audio_format import AudioFormat +from ...types.telnyx_transport_conversation_type import TelnyxTransportConversationType +from ...types.twilio_transport_conversation_type import TwilioTransportConversationType +from ...types.vapi_sip_transport_conversation_type import VapiSipTransportConversationType +from ...types.vapi_web_call_transport_conversation_type import VapiWebCallTransportConversationType +from ...types.vapi_websocket_transport_conversation_type import VapiWebsocketTransportConversationType +from ...types.vonage_transport_conversation_type import VonageTransportConversationType + + +class CreateCallDtoTransport_VapiWebsocket(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.websocket"] = "vapi.websocket" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebsocketTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + audio_format: typing_extensions.Annotated[ + typing.Optional[AudioFormat], FieldMetadata(alias="audioFormat"), pydantic.Field(alias="audioFormat") + ] = 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 CreateCallDtoTransport_Vonage(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vonage"] = "vonage" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VonageTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + conversation_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationUUID"), pydantic.Field(alias="conversationUUID") + ] = None + call_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUUID"), pydantic.Field(alias="callUUID") + ] = 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 CreateCallDtoTransport_Twilio(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["twilio"] = "twilio" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TwilioTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + account_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = None + call_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callToken"), pydantic.Field(alias="callToken") + ] = None + forwarded_from: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="forwardedFrom"), pydantic.Field(alias="forwardedFrom") + ] = 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 CreateCallDtoTransport_VapiSip(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.sip"] = "vapi.sip" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiSipTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + dial_timeout: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="dialTimeout"), pydantic.Field(alias="dialTimeout") + ] = None + sbc_call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sbcCallSid"), pydantic.Field(alias="sbcCallSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = 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 CreateCallDtoTransport_Telnyx(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["telnyx"] = "telnyx" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TelnyxTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + call_control_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callControlId"), pydantic.Field(alias="callControlId") + ] = None + call_leg_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callLegId"), pydantic.Field(alias="callLegId") + ] = None + call_session_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSessionId"), pydantic.Field(alias="callSessionId") + ] = 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 CreateCallDtoTransport_Daily(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["daily"] = "daily" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebCallTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + room_delete_on_user_leave_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="roomDeleteOnUserLeaveEnabled"), + pydantic.Field(alias="roomDeleteOnUserLeaveEnabled"), + ] = None + call_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUrl"), pydantic.Field(alias="callUrl") + ] = None + call_sip_uri: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSipUri"), pydantic.Field(alias="callSipUri") + ] = 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 + + +CreateCallDtoTransport = typing_extensions.Annotated[ + typing.Union[ + CreateCallDtoTransport_VapiWebsocket, + CreateCallDtoTransport_Vonage, + CreateCallDtoTransport_Twilio, + CreateCallDtoTransport_VapiSip, + CreateCallDtoTransport_Telnyx, + CreateCallDtoTransport_Daily, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/campaigns/__init__.py b/src/vapi/campaigns/__init__.py index 81f668f7..f9dc9627 100644 --- a/src/vapi/campaigns/__init__.py +++ b/src/vapi/campaigns/__init__.py @@ -7,14 +7,20 @@ if typing.TYPE_CHECKING: from .types import ( + CampaignControllerFindAllRequestSortBy, CampaignControllerFindAllRequestSortOrder, CampaignControllerFindAllRequestStatus, - UpdateCampaignDtoStatus, + CampaignControllerFindAllV2RequestSortBy, + CampaignControllerFindAllV2RequestSortOrder, + CampaignControllerFindAllV2RequestStatus, ) _dynamic_imports: typing.Dict[str, str] = { + "CampaignControllerFindAllRequestSortBy": ".types", "CampaignControllerFindAllRequestSortOrder": ".types", "CampaignControllerFindAllRequestStatus": ".types", - "UpdateCampaignDtoStatus": ".types", + "CampaignControllerFindAllV2RequestSortBy": ".types", + "CampaignControllerFindAllV2RequestSortOrder": ".types", + "CampaignControllerFindAllV2RequestStatus": ".types", } @@ -40,7 +46,10 @@ def __dir__(): __all__ = [ + "CampaignControllerFindAllRequestSortBy", "CampaignControllerFindAllRequestSortOrder", "CampaignControllerFindAllRequestStatus", - "UpdateCampaignDtoStatus", + "CampaignControllerFindAllV2RequestSortBy", + "CampaignControllerFindAllV2RequestSortOrder", + "CampaignControllerFindAllV2RequestStatus", ] diff --git a/src/vapi/campaigns/client.py b/src/vapi/campaigns/client.py index 2d3527fd..04c2fe8a 100644 --- a/src/vapi/campaigns/client.py +++ b/src/vapi/campaigns/client.py @@ -5,15 +5,23 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.request_options import RequestOptions +from ..types.assistant_overrides import AssistantOverrides from ..types.campaign import Campaign from ..types.campaign_paginated_response import CampaignPaginatedResponse +from ..types.campaign_predial_plan import CampaignPredialPlan +from ..types.create_campaign_dto_server_messages_item import CreateCampaignDtoServerMessagesItem from ..types.create_customer_dto import CreateCustomerDto from ..types.dial_plan_entry import DialPlanEntry from ..types.schedule_plan import SchedulePlan +from ..types.server import Server +from ..types.update_campaign_dto_status import UpdateCampaignDtoStatus from .raw_client import AsyncRawCampaignsClient, RawCampaignsClient +from .types.campaign_controller_find_all_request_sort_by import CampaignControllerFindAllRequestSortBy from .types.campaign_controller_find_all_request_sort_order import CampaignControllerFindAllRequestSortOrder from .types.campaign_controller_find_all_request_status import CampaignControllerFindAllRequestStatus -from .types.update_campaign_dto_status import UpdateCampaignDtoStatus +from .types.campaign_controller_find_all_v_2_request_sort_by import CampaignControllerFindAllV2RequestSortBy +from .types.campaign_controller_find_all_v_2_request_sort_order import CampaignControllerFindAllV2RequestSortOrder +from .types.campaign_controller_find_all_v_2_request_status import CampaignControllerFindAllV2RequestStatus # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) @@ -41,6 +49,7 @@ def campaign_controller_find_all( status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -53,11 +62,15 @@ def campaign_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> CampaignPaginatedResponse: """ + Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters campaigns by ID. status : typing.Optional[CampaignControllerFindAllRequestStatus] + Filters campaigns by status. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -65,6 +78,9 @@ def campaign_controller_find_all( sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[CampaignControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -114,6 +130,7 @@ def campaign_controller_find_all( status=status, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -138,9 +155,18 @@ def campaign_controller_create( dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Campaign: """ + Creates an outbound calling campaign that calls a set of customers. + Parameters ---------- name : str @@ -165,150 +191,28 @@ def campaign_controller_create( This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. customers : typing.Optional[typing.Sequence[CreateCustomerDto]] - These are the customers that will be called in the campaign. Required if dialPlan is not provided. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - Campaign - - - Examples - -------- - from vapi import Vapi - - client = Vapi( - token="YOUR_TOKEN", - ) - client.campaigns.campaign_controller_create( - name="Q2 Sales Campaign", - ) - """ - _response = self._raw_client.campaign_controller_create( - name=name, - assistant_id=assistant_id, - workflow_id=workflow_id, - squad_id=squad_id, - phone_number_id=phone_number_id, - dial_plan=dial_plan, - schedule_plan=schedule_plan, - customers=customers, - request_options=request_options, - ) - return _response.data - - def campaign_controller_find_one( - self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> Campaign: - """ - Parameters - ---------- - id : str - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - Campaign - - - Examples - -------- - from vapi import Vapi - - client = Vapi( - token="YOUR_TOKEN", - ) - client.campaigns.campaign_controller_find_one( - id="id", - ) - """ - _response = self._raw_client.campaign_controller_find_one(id, request_options=request_options) - return _response.data - - def campaign_controller_remove( - self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> Campaign: - """ - Parameters - ---------- - id : str - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - Campaign - - - Examples - -------- - from vapi import Vapi - - client = Vapi( - token="YOUR_TOKEN", - ) - client.campaigns.campaign_controller_remove( - id="id", - ) - """ - _response = self._raw_client.campaign_controller_remove(id, request_options=request_options) - return _response.data - - def campaign_controller_update( - self, - id: str, - *, - name: typing.Optional[str] = OMIT, - assistant_id: typing.Optional[str] = OMIT, - workflow_id: typing.Optional[str] = OMIT, - squad_id: typing.Optional[str] = OMIT, - phone_number_id: typing.Optional[str] = OMIT, - dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, - schedule_plan: typing.Optional[SchedulePlan] = OMIT, - status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> Campaign: - """ - Parameters - ---------- - id : str - - name : typing.Optional[str] - This is the name of the campaign. This is just for your own reference. + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. - assistant_id : typing.Optional[str] - This is the assistant ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. - workflow_id : typing.Optional[str] - This is the workflow ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. - squad_id : typing.Optional[str] - This is the squad ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. - phone_number_id : typing.Optional[str] - This is the phone number ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. - Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. - dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] - This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. - schedule_plan : typing.Optional[SchedulePlan] - This is the schedule plan for the campaign. - Can only be updated if campaign is not in progress or has ended. + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. - status : typing.Optional[UpdateCampaignDtoStatus] - This is the status of the campaign. - Can only be updated to 'ended' if you want to end the campaign. - When set to 'ended', it will delete all scheduled calls. Calls in progress will be allowed to complete. + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -325,12 +229,11 @@ def campaign_controller_update( client = Vapi( token="YOUR_TOKEN", ) - client.campaigns.campaign_controller_update( - id="id", + client.campaigns.campaign_controller_create( + name="Q2 Sales Campaign", ) """ - _response = self._raw_client.campaign_controller_update( - id, + _response = self._raw_client.campaign_controller_create( name=name, assistant_id=assistant_id, workflow_id=workflow_id, @@ -338,34 +241,26 @@ def campaign_controller_update( phone_number_id=phone_number_id, dial_plan=dial_plan, schedule_plan=schedule_plan, - status=status, + customers=customers, + max_concurrency=max_concurrency, + assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, + server=server, + server_messages=server_messages, + predial_plan=predial_plan, + duplicate_from_campaign_id=duplicate_from_campaign_id, request_options=request_options, ) return _response.data - -class AsyncCampaignsClient: - def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._raw_client = AsyncRawCampaignsClient(client_wrapper=client_wrapper) - - @property - def with_raw_response(self) -> AsyncRawCampaignsClient: - """ - Retrieves a raw implementation of this client that returns raw responses. - - Returns - ------- - AsyncRawCampaignsClient - """ - return self._raw_client - - async def campaign_controller_find_all( + def campaign_controller_find_all_v_2( self, *, id: typing.Optional[str] = None, - status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, + status: typing.Optional[CampaignControllerFindAllV2RequestStatus] = None, page: typing.Optional[float] = None, - sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_order: typing.Optional[CampaignControllerFindAllV2RequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllV2RequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -382,14 +277,17 @@ async def campaign_controller_find_all( ---------- id : typing.Optional[str] - status : typing.Optional[CampaignControllerFindAllRequestStatus] + status : typing.Optional[CampaignControllerFindAllV2RequestStatus] page : typing.Optional[float] This is the page number to return. Defaults to 1. - sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] + sort_order : typing.Optional[CampaignControllerFindAllV2RequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[CampaignControllerFindAllV2RequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -427,26 +325,19 @@ async def campaign_controller_find_all( Examples -------- - import asyncio - - from vapi import AsyncVapi + from vapi import Vapi - client = AsyncVapi( + client = Vapi( token="YOUR_TOKEN", ) - - - async def main() -> None: - await client.campaigns.campaign_controller_find_all() - - - asyncio.run(main()) + client.campaigns.campaign_controller_find_all_v_2() """ - _response = await self._raw_client.campaign_controller_find_all( + _response = self._raw_client.campaign_controller_find_all_v_2( id=id, status=status, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -460,7 +351,7 @@ async def main() -> None: ) return _response.data - async def campaign_controller_create( + def campaign_controller_create_v_2( self, *, name: str, @@ -471,6 +362,13 @@ async def campaign_controller_create( dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Campaign: """ @@ -498,7 +396,28 @@ async def campaign_controller_create( This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. customers : typing.Optional[typing.Sequence[CreateCustomerDto]] - These are the customers that will be called in the campaign. Required if dialPlan is not provided. + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -510,24 +429,16 @@ async def campaign_controller_create( Examples -------- - import asyncio - - from vapi import AsyncVapi + from vapi import Vapi - client = AsyncVapi( + client = Vapi( token="YOUR_TOKEN", ) - - - async def main() -> None: - await client.campaigns.campaign_controller_create( - name="Q2 Sales Campaign", - ) - - - asyncio.run(main()) + client.campaigns.campaign_controller_create_v_2( + name="Q2 Sales Campaign", + ) """ - _response = await self._raw_client.campaign_controller_create( + _response = self._raw_client.campaign_controller_create_v_2( name=name, assistant_id=assistant_id, workflow_id=workflow_id, @@ -536,17 +447,25 @@ async def main() -> None: dial_plan=dial_plan, schedule_plan=schedule_plan, customers=customers, + max_concurrency=max_concurrency, + assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, + server=server, + server_messages=server_messages, + predial_plan=predial_plan, + duplicate_from_campaign_id=duplicate_from_campaign_id, request_options=request_options, ) return _response.data - async def campaign_controller_find_one( + def campaign_controller_find_one_v_2( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Campaign: """ Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -558,33 +477,26 @@ async def campaign_controller_find_one( Examples -------- - import asyncio - - from vapi import AsyncVapi + from vapi import Vapi - client = AsyncVapi( + client = Vapi( token="YOUR_TOKEN", ) - - - async def main() -> None: - await client.campaigns.campaign_controller_find_one( - id="id", - ) - - - asyncio.run(main()) + client.campaigns.campaign_controller_find_one_v_2( + id="id", + ) """ - _response = await self._raw_client.campaign_controller_find_one(id, request_options=request_options) + _response = self._raw_client.campaign_controller_find_one_v_2(id, request_options=request_options) return _response.data - async def campaign_controller_remove( + def campaign_controller_remove_v_2( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Campaign: """ Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -596,27 +508,19 @@ async def campaign_controller_remove( Examples -------- - import asyncio - - from vapi import AsyncVapi + from vapi import Vapi - client = AsyncVapi( + client = Vapi( token="YOUR_TOKEN", ) - - - async def main() -> None: - await client.campaigns.campaign_controller_remove( - id="id", - ) - - - asyncio.run(main()) + client.campaigns.campaign_controller_remove_v_2( + id="id", + ) """ - _response = await self._raw_client.campaign_controller_remove(id, request_options=request_options) + _response = self._raw_client.campaign_controller_remove_v_2(id, request_options=request_options) return _response.data - async def campaign_controller_update( + def campaign_controller_update_v_2( self, id: str, *, @@ -634,6 +538,961 @@ async def campaign_controller_update( Parameters ---------- id : str + The unique identifier for the resource. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.campaigns.campaign_controller_update_v_2( + id="id", + ) + """ + _response = self._raw_client.campaign_controller_update_v_2( + id, + name=name, + assistant_id=assistant_id, + workflow_id=workflow_id, + squad_id=squad_id, + phone_number_id=phone_number_id, + dial_plan=dial_plan, + schedule_plan=schedule_plan, + status=status, + request_options=request_options, + ) + return _response.data + + def campaign_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Returns the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.campaigns.campaign_controller_find_one( + id="id", + ) + """ + _response = self._raw_client.campaign_controller_find_one(id, request_options=request_options) + return _response.data + + def campaign_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Deletes the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.campaigns.campaign_controller_remove( + id="id", + ) + """ + _response = self._raw_client.campaign_controller_remove(id, request_options=request_options) + return _response.data + + def campaign_controller_update( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Campaign: + """ + Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + from vapi import Vapi + + client = Vapi( + token="YOUR_TOKEN", + ) + client.campaigns.campaign_controller_update( + id="id", + ) + """ + _response = self._raw_client.campaign_controller_update( + id, + name=name, + assistant_id=assistant_id, + workflow_id=workflow_id, + squad_id=squad_id, + phone_number_id=phone_number_id, + dial_plan=dial_plan, + schedule_plan=schedule_plan, + status=status, + request_options=request_options, + ) + return _response.data + + +class AsyncCampaignsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawCampaignsClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawCampaignsClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawCampaignsClient + """ + return self._raw_client + + async def campaign_controller_find_all( + self, + *, + id: typing.Optional[str] = None, + status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, + page: typing.Optional[float] = None, + sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> CampaignPaginatedResponse: + """ + Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps. + + Parameters + ---------- + id : typing.Optional[str] + Filters campaigns by ID. + + status : typing.Optional[CampaignControllerFindAllRequestStatus] + Filters campaigns by status. + + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[CampaignControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + CampaignPaginatedResponse + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_find_all() + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_find_all( + id=id, + status=status, + page=page, + sort_order=sort_order, + sort_by=sort_by, + limit=limit, + created_at_gt=created_at_gt, + created_at_lt=created_at_lt, + created_at_ge=created_at_ge, + created_at_le=created_at_le, + updated_at_gt=updated_at_gt, + updated_at_lt=updated_at_lt, + updated_at_ge=updated_at_ge, + updated_at_le=updated_at_le, + request_options=request_options, + ) + return _response.data + + async def campaign_controller_create( + self, + *, + name: str, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Campaign: + """ + Creates an outbound calling campaign that calls a set of customers. + + Parameters + ---------- + name : str + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. + + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_create( + name="Q2 Sales Campaign", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_create( + name=name, + assistant_id=assistant_id, + workflow_id=workflow_id, + squad_id=squad_id, + phone_number_id=phone_number_id, + dial_plan=dial_plan, + schedule_plan=schedule_plan, + customers=customers, + max_concurrency=max_concurrency, + assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, + server=server, + server_messages=server_messages, + predial_plan=predial_plan, + duplicate_from_campaign_id=duplicate_from_campaign_id, + request_options=request_options, + ) + return _response.data + + async def campaign_controller_find_all_v_2( + self, + *, + id: typing.Optional[str] = None, + status: typing.Optional[CampaignControllerFindAllV2RequestStatus] = None, + page: typing.Optional[float] = None, + sort_order: typing.Optional[CampaignControllerFindAllV2RequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllV2RequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> CampaignPaginatedResponse: + """ + Parameters + ---------- + id : typing.Optional[str] + + status : typing.Optional[CampaignControllerFindAllV2RequestStatus] + + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[CampaignControllerFindAllV2RequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[CampaignControllerFindAllV2RequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + CampaignPaginatedResponse + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_find_all_v_2() + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_find_all_v_2( + id=id, + status=status, + page=page, + sort_order=sort_order, + sort_by=sort_by, + limit=limit, + created_at_gt=created_at_gt, + created_at_lt=created_at_lt, + created_at_ge=created_at_ge, + created_at_le=created_at_le, + updated_at_gt=updated_at_gt, + updated_at_lt=updated_at_lt, + updated_at_ge=updated_at_ge, + updated_at_le=updated_at_le, + request_options=request_options, + ) + return _response.data + + async def campaign_controller_create_v_2( + self, + *, + name: str, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Campaign: + """ + Parameters + ---------- + name : str + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. + + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_create_v_2( + name="Q2 Sales Campaign", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_create_v_2( + name=name, + assistant_id=assistant_id, + workflow_id=workflow_id, + squad_id=squad_id, + phone_number_id=phone_number_id, + dial_plan=dial_plan, + schedule_plan=schedule_plan, + customers=customers, + max_concurrency=max_concurrency, + assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, + server=server, + server_messages=server_messages, + predial_plan=predial_plan, + duplicate_from_campaign_id=duplicate_from_campaign_id, + request_options=request_options, + ) + return _response.data + + async def campaign_controller_find_one_v_2( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_find_one_v_2( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_find_one_v_2(id, request_options=request_options) + return _response.data + + async def campaign_controller_remove_v_2( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_remove_v_2( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_remove_v_2(id, request_options=request_options) + return _response.data + + async def campaign_controller_update_v_2( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Campaign: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_update_v_2( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_update_v_2( + id, + name=name, + assistant_id=assistant_id, + workflow_id=workflow_id, + squad_id=squad_id, + phone_number_id=phone_number_id, + dial_plan=dial_plan, + schedule_plan=schedule_plan, + status=status, + request_options=request_options, + ) + return _response.data + + async def campaign_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Returns the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_find_one( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_find_one(id, request_options=request_options) + return _response.data + + async def campaign_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> Campaign: + """ + Deletes the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + Campaign + + + Examples + -------- + import asyncio + + from vapi import AsyncVapi + + client = AsyncVapi( + token="YOUR_TOKEN", + ) + + + async def main() -> None: + await client.campaigns.campaign_controller_remove( + id="id", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.campaign_controller_remove(id, request_options=request_options) + return _response.data + + async def campaign_controller_update( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> Campaign: + """ + Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`. + + Parameters + ---------- + id : str + The unique identifier of the campaign. name : typing.Optional[str] This is the name of the campaign. This is just for your own reference. @@ -663,9 +1522,8 @@ async def campaign_controller_update( Can only be updated if campaign is not in progress or has ended. status : typing.Optional[UpdateCampaignDtoStatus] - This is the status of the campaign. - Can only be updated to 'ended' if you want to end the campaign. - When set to 'ended', it will delete all scheduled calls. Calls in progress will be allowed to complete. + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/campaigns/raw_client.py b/src/vapi/campaigns/raw_client.py index 32b92212..d94e7199 100644 --- a/src/vapi/campaigns/raw_client.py +++ b/src/vapi/campaigns/raw_client.py @@ -13,14 +13,22 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..types.assistant_overrides import AssistantOverrides from ..types.campaign import Campaign from ..types.campaign_paginated_response import CampaignPaginatedResponse +from ..types.campaign_predial_plan import CampaignPredialPlan +from ..types.create_campaign_dto_server_messages_item import CreateCampaignDtoServerMessagesItem from ..types.create_customer_dto import CreateCustomerDto from ..types.dial_plan_entry import DialPlanEntry from ..types.schedule_plan import SchedulePlan +from ..types.server import Server +from ..types.update_campaign_dto_status import UpdateCampaignDtoStatus +from .types.campaign_controller_find_all_request_sort_by import CampaignControllerFindAllRequestSortBy from .types.campaign_controller_find_all_request_sort_order import CampaignControllerFindAllRequestSortOrder from .types.campaign_controller_find_all_request_status import CampaignControllerFindAllRequestStatus -from .types.update_campaign_dto_status import UpdateCampaignDtoStatus +from .types.campaign_controller_find_all_v_2_request_sort_by import CampaignControllerFindAllV2RequestSortBy +from .types.campaign_controller_find_all_v_2_request_sort_order import CampaignControllerFindAllV2RequestSortOrder +from .types.campaign_controller_find_all_v_2_request_status import CampaignControllerFindAllV2RequestStatus from pydantic import ValidationError # this is used as the default value for optional parameters @@ -38,6 +46,7 @@ def campaign_controller_find_all( status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -50,11 +59,15 @@ def campaign_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[CampaignPaginatedResponse]: """ + Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters campaigns by ID. status : typing.Optional[CampaignControllerFindAllRequestStatus] + Filters campaigns by status. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -62,6 +75,9 @@ def campaign_controller_find_all( sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[CampaignControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -105,6 +121,7 @@ def campaign_controller_find_all( "status": status, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -147,9 +164,18 @@ def campaign_controller_create( dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Campaign]: """ + Creates an outbound calling campaign that calls a set of customers. + Parameters ---------- name : str @@ -174,190 +200,28 @@ def campaign_controller_create( This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. customers : typing.Optional[typing.Sequence[CreateCustomerDto]] - These are the customers that will be called in the campaign. Required if dialPlan is not provided. - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[Campaign] - - """ - _response = self._client_wrapper.httpx_client.request( - "campaign", - method="POST", - json={ - "name": name, - "assistantId": assistant_id, - "workflowId": workflow_id, - "squadId": squad_id, - "phoneNumberId": phone_number_id, - "dialPlan": convert_and_respect_annotation_metadata( - object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" - ), - "schedulePlan": convert_and_respect_annotation_metadata( - object_=schedule_plan, annotation=SchedulePlan, direction="write" - ), - "customers": convert_and_respect_annotation_metadata( - object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" - ), - }, - headers={ - "content-type": "application/json", - }, - request_options=request_options, - omit=OMIT, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - Campaign, - construct_type( - type_=Campaign, # type: ignore - object_=_response.json(), - ), - ) - return HttpResponse(response=_response, data=_data) - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) - except ValidationError as e: - raise ParsingError( - status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e - ) - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - - def campaign_controller_find_one( - self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> HttpResponse[Campaign]: - """ - Parameters - ---------- - id : str - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[Campaign] - - """ - _response = self._client_wrapper.httpx_client.request( - f"campaign/{jsonable_encoder(id)}", - method="GET", - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - Campaign, - construct_type( - type_=Campaign, # type: ignore - object_=_response.json(), - ), - ) - return HttpResponse(response=_response, data=_data) - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) - except ValidationError as e: - raise ParsingError( - status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e - ) - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - - def campaign_controller_remove( - self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> HttpResponse[Campaign]: - """ - Parameters - ---------- - id : str - - request_options : typing.Optional[RequestOptions] - Request-specific configuration. - - Returns - ------- - HttpResponse[Campaign] - - """ - _response = self._client_wrapper.httpx_client.request( - f"campaign/{jsonable_encoder(id)}", - method="DELETE", - request_options=request_options, - ) - try: - if 200 <= _response.status_code < 300: - _data = typing.cast( - Campaign, - construct_type( - type_=Campaign, # type: ignore - object_=_response.json(), - ), - ) - return HttpResponse(response=_response, data=_data) - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) - except ValidationError as e: - raise ParsingError( - status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e - ) - raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - - def campaign_controller_update( - self, - id: str, - *, - name: typing.Optional[str] = OMIT, - assistant_id: typing.Optional[str] = OMIT, - workflow_id: typing.Optional[str] = OMIT, - squad_id: typing.Optional[str] = OMIT, - phone_number_id: typing.Optional[str] = OMIT, - dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, - schedule_plan: typing.Optional[SchedulePlan] = OMIT, - status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, - request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[Campaign]: - """ - Parameters - ---------- - id : str - - name : typing.Optional[str] - This is the name of the campaign. This is just for your own reference. + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. - assistant_id : typing.Optional[str] - This is the assistant ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. - workflow_id : typing.Optional[str] - This is the workflow ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. - squad_id : typing.Optional[str] - This is the squad ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. - phone_number_id : typing.Optional[str] - This is the phone number ID that will be used for the campaign calls. - Can only be updated if campaign is not in progress or has ended. - Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. - dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] - This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. - schedule_plan : typing.Optional[SchedulePlan] - This is the schedule plan for the campaign. - Can only be updated if campaign is not in progress or has ended. + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. - status : typing.Optional[UpdateCampaignDtoStatus] - This is the status of the campaign. - Can only be updated to 'ended' if you want to end the campaign. - When set to 'ended', it will delete all scheduled calls. Calls in progress will be allowed to complete. + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -368,8 +232,8 @@ def campaign_controller_update( """ _response = self._client_wrapper.httpx_client.request( - f"campaign/{jsonable_encoder(id)}", - method="PATCH", + "campaign", + method="POST", json={ "name": name, "assistantId": assistant_id, @@ -382,10 +246,22 @@ def campaign_controller_update( "schedulePlan": convert_and_respect_annotation_metadata( object_=schedule_plan, annotation=SchedulePlan, direction="write" ), - "status": status, - }, - headers={ - "content-type": "application/json", + "customers": convert_and_respect_annotation_metadata( + object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" + ), + "maxConcurrency": max_concurrency, + "assistantOverrides": convert_and_respect_annotation_metadata( + object_=assistant_overrides, annotation=AssistantOverrides, direction="write" + ), + "squadOverrides": convert_and_respect_annotation_metadata( + object_=squad_overrides, annotation=AssistantOverrides, direction="write" + ), + "server": convert_and_respect_annotation_metadata(object_=server, annotation=Server, direction="write"), + "serverMessages": server_messages, + "predialPlan": convert_and_respect_annotation_metadata( + object_=predial_plan, annotation=CampaignPredialPlan, direction="write" + ), + "duplicateFromCampaignId": duplicate_from_campaign_id, }, request_options=request_options, omit=OMIT, @@ -409,18 +285,14 @@ def campaign_controller_update( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - -class AsyncRawCampaignsClient: - def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._client_wrapper = client_wrapper - - async def campaign_controller_find_all( + def campaign_controller_find_all_v_2( self, *, id: typing.Optional[str] = None, - status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, + status: typing.Optional[CampaignControllerFindAllV2RequestStatus] = None, page: typing.Optional[float] = None, - sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_order: typing.Optional[CampaignControllerFindAllV2RequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllV2RequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -431,20 +303,23 @@ async def campaign_controller_find_all( updated_at_ge: typing.Optional[dt.datetime] = None, updated_at_le: typing.Optional[dt.datetime] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[CampaignPaginatedResponse]: + ) -> HttpResponse[CampaignPaginatedResponse]: """ Parameters ---------- id : typing.Optional[str] - status : typing.Optional[CampaignControllerFindAllRequestStatus] + status : typing.Optional[CampaignControllerFindAllV2RequestStatus] page : typing.Optional[float] This is the page number to return. Defaults to 1. - sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] + sort_order : typing.Optional[CampaignControllerFindAllV2RequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[CampaignControllerFindAllV2RequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -477,17 +352,18 @@ async def campaign_controller_find_all( Returns ------- - AsyncHttpResponse[CampaignPaginatedResponse] + HttpResponse[CampaignPaginatedResponse] """ - _response = await self._client_wrapper.httpx_client.request( - "campaign", + _response = self._client_wrapper.httpx_client.request( + "v2/campaign", method="GET", params={ "id": id, "status": status, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -509,7 +385,7 @@ async def campaign_controller_find_all( object_=_response.json(), ), ) - return AsyncHttpResponse(response=_response, data=_data) + return HttpResponse(response=_response, data=_data) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -519,7 +395,7 @@ async def campaign_controller_find_all( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - async def campaign_controller_create( + def campaign_controller_create_v_2( self, *, name: str, @@ -530,8 +406,15 @@ async def campaign_controller_create( dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, schedule_plan: typing.Optional[SchedulePlan] = OMIT, customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[Campaign]: + ) -> HttpResponse[Campaign]: """ Parameters ---------- @@ -557,18 +440,39 @@ async def campaign_controller_create( This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. customers : typing.Optional[typing.Sequence[CreateCustomerDto]] - These are the customers that will be called in the campaign. Required if dialPlan is not provided. + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[Campaign] + HttpResponse[Campaign] """ - _response = await self._client_wrapper.httpx_client.request( - "campaign", + _response = self._client_wrapper.httpx_client.request( + "v2/campaign", method="POST", json={ "name": name, @@ -585,9 +489,19 @@ async def campaign_controller_create( "customers": convert_and_respect_annotation_metadata( object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" ), - }, - headers={ - "content-type": "application/json", + "maxConcurrency": max_concurrency, + "assistantOverrides": convert_and_respect_annotation_metadata( + object_=assistant_overrides, annotation=AssistantOverrides, direction="write" + ), + "squadOverrides": convert_and_respect_annotation_metadata( + object_=squad_overrides, annotation=AssistantOverrides, direction="write" + ), + "server": convert_and_respect_annotation_metadata(object_=server, annotation=Server, direction="write"), + "serverMessages": server_messages, + "predialPlan": convert_and_respect_annotation_metadata( + object_=predial_plan, annotation=CampaignPredialPlan, direction="write" + ), + "duplicateFromCampaignId": duplicate_from_campaign_id, }, request_options=request_options, omit=OMIT, @@ -601,7 +515,7 @@ async def campaign_controller_create( object_=_response.json(), ), ) - return AsyncHttpResponse(response=_response, data=_data) + return HttpResponse(response=_response, data=_data) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -611,24 +525,25 @@ async def campaign_controller_create( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - async def campaign_controller_find_one( + def campaign_controller_find_one_v_2( self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AsyncHttpResponse[Campaign]: + ) -> HttpResponse[Campaign]: """ Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[Campaign] + HttpResponse[Campaign] """ - _response = await self._client_wrapper.httpx_client.request( - f"campaign/{jsonable_encoder(id)}", + _response = self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", method="GET", request_options=request_options, ) @@ -641,7 +556,7 @@ async def campaign_controller_find_one( object_=_response.json(), ), ) - return AsyncHttpResponse(response=_response, data=_data) + return HttpResponse(response=_response, data=_data) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -651,24 +566,25 @@ async def campaign_controller_find_one( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - async def campaign_controller_remove( + def campaign_controller_remove_v_2( self, id: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AsyncHttpResponse[Campaign]: + ) -> HttpResponse[Campaign]: """ Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[Campaign] + HttpResponse[Campaign] """ - _response = await self._client_wrapper.httpx_client.request( - f"campaign/{jsonable_encoder(id)}", + _response = self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", method="DELETE", request_options=request_options, ) @@ -681,7 +597,7 @@ async def campaign_controller_remove( object_=_response.json(), ), ) - return AsyncHttpResponse(response=_response, data=_data) + return HttpResponse(response=_response, data=_data) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -691,7 +607,7 @@ async def campaign_controller_remove( ) raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) - async def campaign_controller_update( + def campaign_controller_update_v_2( self, id: str, *, @@ -704,11 +620,1064 @@ async def campaign_controller_update( schedule_plan: typing.Optional[SchedulePlan] = OMIT, status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[Campaign]: + ) -> HttpResponse[Campaign]: """ Parameters ---------- id : str + The unique identifier for the resource. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Campaign] + + """ + _response = self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", + method="PATCH", + json={ + "name": name, + "assistantId": assistant_id, + "workflowId": workflow_id, + "squadId": squad_id, + "phoneNumberId": phone_number_id, + "dialPlan": convert_and_respect_annotation_metadata( + object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" + ), + "schedulePlan": convert_and_respect_annotation_metadata( + object_=schedule_plan, annotation=SchedulePlan, direction="write" + ), + "status": status, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def campaign_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[Campaign]: + """ + Returns the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Campaign] + + """ + _response = self._client_wrapper.httpx_client.request( + f"campaign/{jsonable_encoder(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def campaign_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[Campaign]: + """ + Deletes the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Campaign] + + """ + _response = self._client_wrapper.httpx_client.request( + f"campaign/{jsonable_encoder(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + def campaign_controller_update( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[Campaign]: + """ + Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[Campaign] + + """ + _response = self._client_wrapper.httpx_client.request( + f"campaign/{jsonable_encoder(id)}", + method="PATCH", + json={ + "name": name, + "assistantId": assistant_id, + "workflowId": workflow_id, + "squadId": squad_id, + "phoneNumberId": phone_number_id, + "dialPlan": convert_and_respect_annotation_metadata( + object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" + ), + "schedulePlan": convert_and_respect_annotation_metadata( + object_=schedule_plan, annotation=SchedulePlan, direction="write" + ), + "status": status, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + +class AsyncRawCampaignsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def campaign_controller_find_all( + self, + *, + id: typing.Optional[str] = None, + status: typing.Optional[CampaignControllerFindAllRequestStatus] = None, + page: typing.Optional[float] = None, + sort_order: typing.Optional[CampaignControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllRequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[CampaignPaginatedResponse]: + """ + Returns outbound calling campaigns for the authenticated organization. Filter results by campaign ID, status, or creation and update timestamps. + + Parameters + ---------- + id : typing.Optional[str] + Filters campaigns by ID. + + status : typing.Optional[CampaignControllerFindAllRequestStatus] + Filters campaigns by status. + + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[CampaignControllerFindAllRequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[CampaignControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[CampaignPaginatedResponse] + + """ + _response = await self._client_wrapper.httpx_client.request( + "campaign", + method="GET", + params={ + "id": id, + "status": status, + "page": page, + "sortOrder": sort_order, + "sortBy": sort_by, + "limit": limit, + "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, + "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, + "createdAtGe": serialize_datetime(created_at_ge) if created_at_ge is not None else None, + "createdAtLe": serialize_datetime(created_at_le) if created_at_le is not None else None, + "updatedAtGt": serialize_datetime(updated_at_gt) if updated_at_gt is not None else None, + "updatedAtLt": serialize_datetime(updated_at_lt) if updated_at_lt is not None else None, + "updatedAtGe": serialize_datetime(updated_at_ge) if updated_at_ge is not None else None, + "updatedAtLe": serialize_datetime(updated_at_le) if updated_at_le is not None else None, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + CampaignPaginatedResponse, + construct_type( + type_=CampaignPaginatedResponse, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_create( + self, + *, + name: str, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Campaign]: + """ + Creates an outbound calling campaign that calls a set of customers. + + Parameters + ---------- + name : str + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. + + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + "campaign", + method="POST", + json={ + "name": name, + "assistantId": assistant_id, + "workflowId": workflow_id, + "squadId": squad_id, + "phoneNumberId": phone_number_id, + "dialPlan": convert_and_respect_annotation_metadata( + object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" + ), + "schedulePlan": convert_and_respect_annotation_metadata( + object_=schedule_plan, annotation=SchedulePlan, direction="write" + ), + "customers": convert_and_respect_annotation_metadata( + object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" + ), + "maxConcurrency": max_concurrency, + "assistantOverrides": convert_and_respect_annotation_metadata( + object_=assistant_overrides, annotation=AssistantOverrides, direction="write" + ), + "squadOverrides": convert_and_respect_annotation_metadata( + object_=squad_overrides, annotation=AssistantOverrides, direction="write" + ), + "server": convert_and_respect_annotation_metadata(object_=server, annotation=Server, direction="write"), + "serverMessages": server_messages, + "predialPlan": convert_and_respect_annotation_metadata( + object_=predial_plan, annotation=CampaignPredialPlan, direction="write" + ), + "duplicateFromCampaignId": duplicate_from_campaign_id, + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_find_all_v_2( + self, + *, + id: typing.Optional[str] = None, + status: typing.Optional[CampaignControllerFindAllV2RequestStatus] = None, + page: typing.Optional[float] = None, + sort_order: typing.Optional[CampaignControllerFindAllV2RequestSortOrder] = None, + sort_by: typing.Optional[CampaignControllerFindAllV2RequestSortBy] = None, + limit: typing.Optional[float] = None, + created_at_gt: typing.Optional[dt.datetime] = None, + created_at_lt: typing.Optional[dt.datetime] = None, + created_at_ge: typing.Optional[dt.datetime] = None, + created_at_le: typing.Optional[dt.datetime] = None, + updated_at_gt: typing.Optional[dt.datetime] = None, + updated_at_lt: typing.Optional[dt.datetime] = None, + updated_at_ge: typing.Optional[dt.datetime] = None, + updated_at_le: typing.Optional[dt.datetime] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[CampaignPaginatedResponse]: + """ + Parameters + ---------- + id : typing.Optional[str] + + status : typing.Optional[CampaignControllerFindAllV2RequestStatus] + + page : typing.Optional[float] + This is the page number to return. Defaults to 1. + + sort_order : typing.Optional[CampaignControllerFindAllV2RequestSortOrder] + This is the sort order for pagination. Defaults to 'DESC'. + + sort_by : typing.Optional[CampaignControllerFindAllV2RequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + + limit : typing.Optional[float] + This is the maximum number of items to return. Defaults to 100. + + created_at_gt : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than the specified value. + + created_at_lt : typing.Optional[dt.datetime] + This will return items where the createdAt is less than the specified value. + + created_at_ge : typing.Optional[dt.datetime] + This will return items where the createdAt is greater than or equal to the specified value. + + created_at_le : typing.Optional[dt.datetime] + This will return items where the createdAt is less than or equal to the specified value. + + updated_at_gt : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than the specified value. + + updated_at_lt : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than the specified value. + + updated_at_ge : typing.Optional[dt.datetime] + This will return items where the updatedAt is greater than or equal to the specified value. + + updated_at_le : typing.Optional[dt.datetime] + This will return items where the updatedAt is less than or equal to the specified value. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[CampaignPaginatedResponse] + + """ + _response = await self._client_wrapper.httpx_client.request( + "v2/campaign", + method="GET", + params={ + "id": id, + "status": status, + "page": page, + "sortOrder": sort_order, + "sortBy": sort_by, + "limit": limit, + "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, + "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, + "createdAtGe": serialize_datetime(created_at_ge) if created_at_ge is not None else None, + "createdAtLe": serialize_datetime(created_at_le) if created_at_le is not None else None, + "updatedAtGt": serialize_datetime(updated_at_gt) if updated_at_gt is not None else None, + "updatedAtLt": serialize_datetime(updated_at_lt) if updated_at_lt is not None else None, + "updatedAtGe": serialize_datetime(updated_at_ge) if updated_at_ge is not None else None, + "updatedAtLe": serialize_datetime(updated_at_le) if updated_at_le is not None else None, + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + CampaignPaginatedResponse, + construct_type( + type_=CampaignPaginatedResponse, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_create_v_2( + self, + *, + name: str, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + customers: typing.Optional[typing.Sequence[CreateCustomerDto]] = OMIT, + max_concurrency: typing.Optional[float] = OMIT, + assistant_overrides: typing.Optional[AssistantOverrides] = OMIT, + squad_overrides: typing.Optional[AssistantOverrides] = OMIT, + server: typing.Optional[Server] = OMIT, + server_messages: typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] = OMIT, + predial_plan: typing.Optional[CampaignPredialPlan] = OMIT, + duplicate_from_campaign_id: typing.Optional[str] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Campaign]: + """ + Parameters + ---------- + name : str + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried. + + customers : typing.Optional[typing.Sequence[CreateCustomerDto]] + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + + max_concurrency : typing.Optional[float] + This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10. + + assistant_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`. + + squad_overrides : typing.Optional[AssistantOverrides] + These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time. + + server : typing.Optional[Server] + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + + server_messages : typing.Optional[typing.Sequence[CreateCampaignDtoServerMessagesItem]] + These are the messages that will be sent to your Server URL. + + predial_plan : typing.Optional[CampaignPredialPlan] + This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent. + + duplicate_from_campaign_id : typing.Optional[str] + Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + "v2/campaign", + method="POST", + json={ + "name": name, + "assistantId": assistant_id, + "workflowId": workflow_id, + "squadId": squad_id, + "phoneNumberId": phone_number_id, + "dialPlan": convert_and_respect_annotation_metadata( + object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" + ), + "schedulePlan": convert_and_respect_annotation_metadata( + object_=schedule_plan, annotation=SchedulePlan, direction="write" + ), + "customers": convert_and_respect_annotation_metadata( + object_=customers, annotation=typing.Sequence[CreateCustomerDto], direction="write" + ), + "maxConcurrency": max_concurrency, + "assistantOverrides": convert_and_respect_annotation_metadata( + object_=assistant_overrides, annotation=AssistantOverrides, direction="write" + ), + "squadOverrides": convert_and_respect_annotation_metadata( + object_=squad_overrides, annotation=AssistantOverrides, direction="write" + ), + "server": convert_and_respect_annotation_metadata(object_=server, annotation=Server, direction="write"), + "serverMessages": server_messages, + "predialPlan": convert_and_respect_annotation_metadata( + object_=predial_plan, annotation=CampaignPredialPlan, direction="write" + ), + "duplicateFromCampaignId": duplicate_from_campaign_id, + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_find_one_v_2( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Campaign]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_remove_v_2( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Campaign]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_update_v_2( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Campaign]: + """ + Parameters + ---------- + id : str + The unique identifier for the resource. + + name : typing.Optional[str] + This is the name of the campaign. This is just for your own reference. + + assistant_id : typing.Optional[str] + This is the assistant ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + workflow_id : typing.Optional[str] + This is the workflow ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + squad_id : typing.Optional[str] + This is the squad ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + + phone_number_id : typing.Optional[str] + This is the phone number ID that will be used for the campaign calls. + Can only be updated if campaign is not in progress or has ended. + Note: `phoneNumberId` and `dialPlan` are mutually exclusive. + + dial_plan : typing.Optional[typing.Sequence[DialPlanEntry]] + This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive. + + schedule_plan : typing.Optional[SchedulePlan] + This is the schedule plan for the campaign. + Can only be updated if campaign is not in progress or has ended. + + status : typing.Optional[UpdateCampaignDtoStatus] + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"v2/campaign/{jsonable_encoder(id)}", + method="PATCH", + json={ + "name": name, + "assistantId": assistant_id, + "workflowId": workflow_id, + "squadId": squad_id, + "phoneNumberId": phone_number_id, + "dialPlan": convert_and_respect_annotation_metadata( + object_=dial_plan, annotation=typing.Sequence[DialPlanEntry], direction="write" + ), + "schedulePlan": convert_and_respect_annotation_metadata( + object_=schedule_plan, annotation=SchedulePlan, direction="write" + ), + "status": status, + }, + headers={ + "content-type": "application/json", + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_find_one( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Campaign]: + """ + Returns the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"campaign/{jsonable_encoder(id)}", + method="GET", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_remove( + self, id: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[Campaign]: + """ + Deletes the outbound calling campaign identified by its ID. + + Parameters + ---------- + id : str + The unique identifier of the campaign. + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[Campaign] + + """ + _response = await self._client_wrapper.httpx_client.request( + f"campaign/{jsonable_encoder(id)}", + method="DELETE", + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + Campaign, + construct_type( + type_=Campaign, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json) + + async def campaign_controller_update( + self, + id: str, + *, + name: typing.Optional[str] = OMIT, + assistant_id: typing.Optional[str] = OMIT, + workflow_id: typing.Optional[str] = OMIT, + squad_id: typing.Optional[str] = OMIT, + phone_number_id: typing.Optional[str] = OMIT, + dial_plan: typing.Optional[typing.Sequence[DialPlanEntry]] = OMIT, + schedule_plan: typing.Optional[SchedulePlan] = OMIT, + status: typing.Optional[UpdateCampaignDtoStatus] = OMIT, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[Campaign]: + """ + Updates the outbound calling campaign identified by its ID. Campaigns can be ended by updating their status to `ended`. + + Parameters + ---------- + id : str + The unique identifier of the campaign. name : typing.Optional[str] This is the name of the campaign. This is just for your own reference. @@ -738,9 +1707,8 @@ async def campaign_controller_update( Can only be updated if campaign is not in progress or has ended. status : typing.Optional[UpdateCampaignDtoStatus] - This is the status of the campaign. - Can only be updated to 'ended' if you want to end the campaign. - When set to 'ended', it will delete all scheduled calls. Calls in progress will be allowed to complete. + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/campaigns/types/__init__.py b/src/vapi/campaigns/types/__init__.py index 577a295e..81ee8057 100644 --- a/src/vapi/campaigns/types/__init__.py +++ b/src/vapi/campaigns/types/__init__.py @@ -6,13 +6,19 @@ from importlib import import_module if typing.TYPE_CHECKING: + from .campaign_controller_find_all_request_sort_by import CampaignControllerFindAllRequestSortBy from .campaign_controller_find_all_request_sort_order import CampaignControllerFindAllRequestSortOrder from .campaign_controller_find_all_request_status import CampaignControllerFindAllRequestStatus - from .update_campaign_dto_status import UpdateCampaignDtoStatus + from .campaign_controller_find_all_v_2_request_sort_by import CampaignControllerFindAllV2RequestSortBy + from .campaign_controller_find_all_v_2_request_sort_order import CampaignControllerFindAllV2RequestSortOrder + from .campaign_controller_find_all_v_2_request_status import CampaignControllerFindAllV2RequestStatus _dynamic_imports: typing.Dict[str, str] = { + "CampaignControllerFindAllRequestSortBy": ".campaign_controller_find_all_request_sort_by", "CampaignControllerFindAllRequestSortOrder": ".campaign_controller_find_all_request_sort_order", "CampaignControllerFindAllRequestStatus": ".campaign_controller_find_all_request_status", - "UpdateCampaignDtoStatus": ".update_campaign_dto_status", + "CampaignControllerFindAllV2RequestSortBy": ".campaign_controller_find_all_v_2_request_sort_by", + "CampaignControllerFindAllV2RequestSortOrder": ".campaign_controller_find_all_v_2_request_sort_order", + "CampaignControllerFindAllV2RequestStatus": ".campaign_controller_find_all_v_2_request_status", } @@ -38,7 +44,10 @@ def __dir__(): __all__ = [ + "CampaignControllerFindAllRequestSortBy", "CampaignControllerFindAllRequestSortOrder", "CampaignControllerFindAllRequestStatus", - "UpdateCampaignDtoStatus", + "CampaignControllerFindAllV2RequestSortBy", + "CampaignControllerFindAllV2RequestSortOrder", + "CampaignControllerFindAllV2RequestStatus", ] diff --git a/src/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.py b/src/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.py new file mode 100644 index 00000000..6e1a25ac --- /dev/null +++ b/src/vapi/campaigns/types/campaign_controller_find_all_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CampaignControllerFindAllRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/campaigns/types/campaign_controller_find_all_request_status.py b/src/vapi/campaigns/types/campaign_controller_find_all_request_status.py index 1e38fd7d..879be69d 100644 --- a/src/vapi/campaigns/types/campaign_controller_find_all_request_status.py +++ b/src/vapi/campaigns/types/campaign_controller_find_all_request_status.py @@ -2,4 +2,6 @@ import typing -CampaignControllerFindAllRequestStatus = typing.Union[typing.Literal["scheduled", "in-progress", "ended"], typing.Any] +CampaignControllerFindAllRequestStatus = typing.Union[ + typing.Literal["scheduled", "in-progress", "ended", "cancelled", "archived"], typing.Any +] diff --git a/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.py b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.py new file mode 100644 index 00000000..1b0b1f77 --- /dev/null +++ b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CampaignControllerFindAllV2RequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.py b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.py new file mode 100644 index 00000000..4a1b479c --- /dev/null +++ b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_sort_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CampaignControllerFindAllV2RequestSortOrder = typing.Union[typing.Literal["ASC", "DESC"], typing.Any] diff --git a/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.py b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.py new file mode 100644 index 00000000..ff25a067 --- /dev/null +++ b/src/vapi/campaigns/types/campaign_controller_find_all_v_2_request_status.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CampaignControllerFindAllV2RequestStatus = typing.Union[ + typing.Literal["scheduled", "in-progress", "ended", "cancelled", "archived"], typing.Any +] diff --git a/src/vapi/chats/__init__.py b/src/vapi/chats/__init__.py index ebfe4ed5..43579ec8 100644 --- a/src/vapi/chats/__init__.py +++ b/src/vapi/chats/__init__.py @@ -11,6 +11,7 @@ CreateChatDtoInputOneItem, CreateChatsResponse, CreateResponseChatsResponse, + ListChatsRequestSortBy, ListChatsRequestSortOrder, OpenAiResponsesRequestInput, OpenAiResponsesRequestInputOneItem, @@ -20,6 +21,7 @@ "CreateChatDtoInputOneItem": ".types", "CreateChatsResponse": ".types", "CreateResponseChatsResponse": ".types", + "ListChatsRequestSortBy": ".types", "ListChatsRequestSortOrder": ".types", "OpenAiResponsesRequestInput": ".types", "OpenAiResponsesRequestInputOneItem": ".types", @@ -52,6 +54,7 @@ def __dir__(): "CreateChatDtoInputOneItem", "CreateChatsResponse", "CreateResponseChatsResponse", + "ListChatsRequestSortBy", "ListChatsRequestSortOrder", "OpenAiResponsesRequestInput", "OpenAiResponsesRequestInputOneItem", diff --git a/src/vapi/chats/client.py b/src/vapi/chats/client.py index 989c3723..3f85870c 100644 --- a/src/vapi/chats/client.py +++ b/src/vapi/chats/client.py @@ -15,6 +15,7 @@ from .types.create_chat_dto_input import CreateChatDtoInput from .types.create_chats_response import CreateChatsResponse from .types.create_response_chats_response import CreateResponseChatsResponse +from .types.list_chats_request_sort_by import ListChatsRequestSortBy from .types.list_chats_request_sort_order import ListChatsRequestSortOrder from .types.open_ai_responses_request_input import OpenAiResponsesRequestInput @@ -48,6 +49,7 @@ def list( previous_chat_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListChatsRequestSortOrder] = None, + sort_by: typing.Optional[ListChatsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -86,6 +88,9 @@ def list( sort_order : typing.Optional[ListChatsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListChatsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -141,6 +146,7 @@ def list( previous_chat_id=previous_chat_id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -432,6 +438,7 @@ async def list( previous_chat_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListChatsRequestSortOrder] = None, + sort_by: typing.Optional[ListChatsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -470,6 +477,9 @@ async def list( sort_order : typing.Optional[ListChatsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListChatsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -533,6 +543,7 @@ async def main() -> None: previous_chat_id=previous_chat_id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, diff --git a/src/vapi/chats/raw_client.py b/src/vapi/chats/raw_client.py index bfdaaf67..ae1ff91a 100644 --- a/src/vapi/chats/raw_client.py +++ b/src/vapi/chats/raw_client.py @@ -22,6 +22,7 @@ from .types.create_chat_dto_input import CreateChatDtoInput from .types.create_chats_response import CreateChatsResponse from .types.create_response_chats_response import CreateResponseChatsResponse +from .types.list_chats_request_sort_by import ListChatsRequestSortBy from .types.list_chats_request_sort_order import ListChatsRequestSortOrder from .types.open_ai_responses_request_input import OpenAiResponsesRequestInput from pydantic import ValidationError @@ -45,6 +46,7 @@ def list( previous_chat_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListChatsRequestSortOrder] = None, + sort_by: typing.Optional[ListChatsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -83,6 +85,9 @@ def list( sort_order : typing.Optional[ListChatsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListChatsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -130,6 +135,7 @@ def list( "previousChatId": previous_chat_id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -496,6 +502,7 @@ async def list( previous_chat_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListChatsRequestSortOrder] = None, + sort_by: typing.Optional[ListChatsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -534,6 +541,9 @@ async def list( sort_order : typing.Optional[ListChatsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListChatsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -581,6 +591,7 @@ async def list( "previousChatId": previous_chat_id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, diff --git a/src/vapi/chats/types/__init__.py b/src/vapi/chats/types/__init__.py index b84fbbd5..fed1ff91 100644 --- a/src/vapi/chats/types/__init__.py +++ b/src/vapi/chats/types/__init__.py @@ -10,6 +10,7 @@ from .create_chat_dto_input_one_item import CreateChatDtoInputOneItem from .create_chats_response import CreateChatsResponse from .create_response_chats_response import CreateResponseChatsResponse + from .list_chats_request_sort_by import ListChatsRequestSortBy from .list_chats_request_sort_order import ListChatsRequestSortOrder from .open_ai_responses_request_input import OpenAiResponsesRequestInput from .open_ai_responses_request_input_one_item import OpenAiResponsesRequestInputOneItem @@ -18,6 +19,7 @@ "CreateChatDtoInputOneItem": ".create_chat_dto_input_one_item", "CreateChatsResponse": ".create_chats_response", "CreateResponseChatsResponse": ".create_response_chats_response", + "ListChatsRequestSortBy": ".list_chats_request_sort_by", "ListChatsRequestSortOrder": ".list_chats_request_sort_order", "OpenAiResponsesRequestInput": ".open_ai_responses_request_input", "OpenAiResponsesRequestInputOneItem": ".open_ai_responses_request_input_one_item", @@ -50,6 +52,7 @@ def __dir__(): "CreateChatDtoInputOneItem", "CreateChatsResponse", "CreateResponseChatsResponse", + "ListChatsRequestSortBy", "ListChatsRequestSortOrder", "OpenAiResponsesRequestInput", "OpenAiResponsesRequestInputOneItem", diff --git a/src/vapi/chats/types/list_chats_request_sort_by.py b/src/vapi/chats/types/list_chats_request_sort_by.py new file mode 100644 index 00000000..0e0b058e --- /dev/null +++ b/src/vapi/chats/types/list_chats_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ListChatsRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/client.py b/src/vapi/client.py index 5833beb0..67c3aab2 100644 --- a/src/vapi/client.py +++ b/src/vapi/client.py @@ -12,6 +12,7 @@ if typing.TYPE_CHECKING: from .analytics.client import AnalyticsClient, AsyncAnalyticsClient from .assistants.client import AssistantsClient, AsyncAssistantsClient + from .board.client import AsyncBoardClient, BoardClient from .calls.client import AsyncCallsClient, CallsClient from .campaigns.client import AsyncCampaignsClient, CampaignsClient from .chats.client import AsyncChatsClient, ChatsClient @@ -108,6 +109,7 @@ def __init__( self._files: typing.Optional[FilesClient] = None self._structured_outputs: typing.Optional[StructuredOutputsClient] = None self._insight: typing.Optional[InsightClient] = None + self._board: typing.Optional[BoardClient] = None self._eval: typing.Optional[EvalClient] = None self._observability_scorecard: typing.Optional[ObservabilityScorecardClient] = None self._provider_resources: typing.Optional[ProviderResourcesClient] = None @@ -201,6 +203,14 @@ def insight(self): self._insight = InsightClient(client_wrapper=self._client_wrapper) return self._insight + @property + def board(self): + if self._board is None: + from .board.client import BoardClient # noqa: E402 + + self._board = BoardClient(client_wrapper=self._client_wrapper) + return self._board + @property def eval(self): if self._eval is None: @@ -336,6 +346,7 @@ def __init__( self._files: typing.Optional[AsyncFilesClient] = None self._structured_outputs: typing.Optional[AsyncStructuredOutputsClient] = None self._insight: typing.Optional[AsyncInsightClient] = None + self._board: typing.Optional[AsyncBoardClient] = None self._eval: typing.Optional[AsyncEvalClient] = None self._observability_scorecard: typing.Optional[AsyncObservabilityScorecardClient] = None self._provider_resources: typing.Optional[AsyncProviderResourcesClient] = None @@ -429,6 +440,14 @@ def insight(self): self._insight = AsyncInsightClient(client_wrapper=self._client_wrapper) return self._insight + @property + def board(self): + if self._board is None: + from .board.client import AsyncBoardClient # noqa: E402 + + self._board = AsyncBoardClient(client_wrapper=self._client_wrapper) + return self._board + @property def eval(self): if self._eval is None: diff --git a/src/vapi/core/client_wrapper.py b/src/vapi/core/client_wrapper.py index f0001ffb..192024f2 100644 --- a/src/vapi/core/client_wrapper.py +++ b/src/vapi/core/client_wrapper.py @@ -27,12 +27,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "vapi_server_sdk/2.0.0", + "User-Agent": "vapi_server_sdk/0.0.0-fern-placeholder", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "vapi_server_sdk", - "X-Fern-SDK-Version": "2.0.0", + "X-Fern-SDK-Version": "0.0.0.dev0", **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Bearer {self._get_token()}" diff --git a/src/vapi/errors/__init__.py b/src/vapi/errors/__init__.py index faed7e51..327d2f83 100644 --- a/src/vapi/errors/__init__.py +++ b/src/vapi/errors/__init__.py @@ -7,8 +7,17 @@ if typing.TYPE_CHECKING: from .bad_request_error import BadRequestError + from .conflict_error import ConflictError from .not_found_error import NotFoundError -_dynamic_imports: typing.Dict[str, str] = {"BadRequestError": ".bad_request_error", "NotFoundError": ".not_found_error"} + from .service_unavailable_error import ServiceUnavailableError + from .unauthorized_error import UnauthorizedError +_dynamic_imports: typing.Dict[str, str] = { + "BadRequestError": ".bad_request_error", + "ConflictError": ".conflict_error", + "NotFoundError": ".not_found_error", + "ServiceUnavailableError": ".service_unavailable_error", + "UnauthorizedError": ".unauthorized_error", +} def __getattr__(attr_name: str) -> typing.Any: @@ -32,4 +41,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["BadRequestError", "NotFoundError"] +__all__ = ["BadRequestError", "ConflictError", "NotFoundError", "ServiceUnavailableError", "UnauthorizedError"] diff --git a/src/vapi/errors/conflict_error.py b/src/vapi/errors/conflict_error.py new file mode 100644 index 00000000..be04e01a --- /dev/null +++ b/src/vapi/errors/conflict_error.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core.api_error import ApiError + + +class ConflictError(ApiError): + def __init__(self, body: typing.Any, headers: typing.Optional[typing.Dict[str, str]] = None): + super().__init__(status_code=409, headers=headers, body=body) diff --git a/src/vapi/errors/service_unavailable_error.py b/src/vapi/errors/service_unavailable_error.py new file mode 100644 index 00000000..950c4740 --- /dev/null +++ b/src/vapi/errors/service_unavailable_error.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core.api_error import ApiError + + +class ServiceUnavailableError(ApiError): + def __init__(self, body: typing.Any, headers: typing.Optional[typing.Dict[str, str]] = None): + super().__init__(status_code=503, headers=headers, body=body) diff --git a/src/vapi/errors/unauthorized_error.py b/src/vapi/errors/unauthorized_error.py new file mode 100644 index 00000000..7e48bb6f --- /dev/null +++ b/src/vapi/errors/unauthorized_error.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ..core.api_error import ApiError + + +class UnauthorizedError(ApiError): + def __init__(self, body: typing.Any, headers: typing.Optional[typing.Dict[str, str]] = None): + super().__init__(status_code=401, headers=headers, body=body) diff --git a/src/vapi/eval/__init__.py b/src/vapi/eval/__init__.py index 877fcbd3..fa6696f5 100644 --- a/src/vapi/eval/__init__.py +++ b/src/vapi/eval/__init__.py @@ -11,7 +11,9 @@ CreateEvalRunDtoTarget_Assistant, CreateEvalRunDtoTarget_Squad, CreateEvalRunDtoType, + EvalControllerGetPaginatedRequestSortBy, EvalControllerGetPaginatedRequestSortOrder, + EvalControllerGetRunsPaginatedRequestSortBy, EvalControllerGetRunsPaginatedRequestSortOrder, UpdateEvalDtoMessagesItem, UpdateEvalDtoType, @@ -21,7 +23,9 @@ "CreateEvalRunDtoTarget_Assistant": ".types", "CreateEvalRunDtoTarget_Squad": ".types", "CreateEvalRunDtoType": ".types", + "EvalControllerGetPaginatedRequestSortBy": ".types", "EvalControllerGetPaginatedRequestSortOrder": ".types", + "EvalControllerGetRunsPaginatedRequestSortBy": ".types", "EvalControllerGetRunsPaginatedRequestSortOrder": ".types", "UpdateEvalDtoMessagesItem": ".types", "UpdateEvalDtoType": ".types", @@ -54,7 +58,9 @@ def __dir__(): "CreateEvalRunDtoTarget_Assistant", "CreateEvalRunDtoTarget_Squad", "CreateEvalRunDtoType", + "EvalControllerGetPaginatedRequestSortBy", "EvalControllerGetPaginatedRequestSortOrder", + "EvalControllerGetRunsPaginatedRequestSortBy", "EvalControllerGetRunsPaginatedRequestSortOrder", "UpdateEvalDtoMessagesItem", "UpdateEvalDtoType", diff --git a/src/vapi/eval/client.py b/src/vapi/eval/client.py index a51db659..aef129c7 100644 --- a/src/vapi/eval/client.py +++ b/src/vapi/eval/client.py @@ -15,7 +15,9 @@ from .raw_client import AsyncRawEvalClient, RawEvalClient from .types.create_eval_run_dto_target import CreateEvalRunDtoTarget from .types.create_eval_run_dto_type import CreateEvalRunDtoType +from .types.eval_controller_get_paginated_request_sort_by import EvalControllerGetPaginatedRequestSortBy from .types.eval_controller_get_paginated_request_sort_order import EvalControllerGetPaginatedRequestSortOrder +from .types.eval_controller_get_runs_paginated_request_sort_by import EvalControllerGetRunsPaginatedRequestSortBy from .types.eval_controller_get_runs_paginated_request_sort_order import EvalControllerGetRunsPaginatedRequestSortOrder from .types.update_eval_dto_messages_item import UpdateEvalDtoMessagesItem from .types.update_eval_dto_type import UpdateEvalDtoType @@ -45,6 +47,7 @@ def eval_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -57,9 +60,12 @@ def eval_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> EvalPaginatedResponse: """ + Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval definitions by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -67,6 +73,9 @@ def eval_controller_get_paginated( sort_order : typing.Optional[EvalControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -115,6 +124,7 @@ def eval_controller_get_paginated( id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -138,6 +148,8 @@ def eval_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> Eval: """ + Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls. + Parameters ---------- messages : typing.Sequence[CreateEvalDtoMessagesItem] @@ -190,9 +202,12 @@ def eval_controller_create( def eval_controller_get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Eval: """ + Returns the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -218,9 +233,12 @@ def eval_controller_get(self, id: str, *, request_options: typing.Optional[Reque def eval_controller_remove(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Eval: """ + Deletes the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -255,9 +273,12 @@ def eval_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> Eval: """ + Updates the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. messages : typing.Optional[typing.Sequence[UpdateEvalDtoMessagesItem]] This is the mock conversation that will be used to evaluate the flow of the conversation. @@ -304,9 +325,12 @@ def eval_controller_update( def eval_controller_get_run(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> EvalRun: """ + Returns the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -334,9 +358,12 @@ def eval_controller_remove_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> EvalRun: """ + Deletes the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -366,6 +393,7 @@ def eval_controller_get_runs_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -378,9 +406,12 @@ def eval_controller_get_runs_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> EvalRunPaginatedResponse: """ + Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval runs by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -388,6 +419,9 @@ def eval_controller_get_runs_paginated( sort_order : typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -436,6 +470,7 @@ def eval_controller_get_runs_paginated( id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -459,6 +494,8 @@ def eval_controller_run( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Dict[str, typing.Any]: """ + Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results. + Parameters ---------- target : CreateEvalRunDtoTarget @@ -522,6 +559,7 @@ async def eval_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -534,9 +572,12 @@ async def eval_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> EvalPaginatedResponse: """ + Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval definitions by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -544,6 +585,9 @@ async def eval_controller_get_paginated( sort_order : typing.Optional[EvalControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -600,6 +644,7 @@ async def main() -> None: id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -623,6 +668,8 @@ async def eval_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> Eval: """ + Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls. + Parameters ---------- messages : typing.Sequence[CreateEvalDtoMessagesItem] @@ -683,9 +730,12 @@ async def main() -> None: async def eval_controller_get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Eval: """ + Returns the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -719,9 +769,12 @@ async def main() -> None: async def eval_controller_remove(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Eval: """ + Deletes the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -764,9 +817,12 @@ async def eval_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> Eval: """ + Updates the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. messages : typing.Optional[typing.Sequence[UpdateEvalDtoMessagesItem]] This is the mock conversation that will be used to evaluate the flow of the conversation. @@ -823,9 +879,12 @@ async def eval_controller_get_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> EvalRun: """ + Returns the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -861,9 +920,12 @@ async def eval_controller_remove_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> EvalRun: """ + Deletes the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -901,6 +963,7 @@ async def eval_controller_get_runs_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -913,9 +976,12 @@ async def eval_controller_get_runs_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> EvalRunPaginatedResponse: """ + Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval runs by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -923,6 +989,9 @@ async def eval_controller_get_runs_paginated( sort_order : typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -979,6 +1048,7 @@ async def main() -> None: id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -1002,6 +1072,8 @@ async def eval_controller_run( request_options: typing.Optional[RequestOptions] = None, ) -> typing.Dict[str, typing.Any]: """ + Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results. + Parameters ---------- target : CreateEvalRunDtoTarget diff --git a/src/vapi/eval/raw_client.py b/src/vapi/eval/raw_client.py index 9c11348f..bc424fb8 100644 --- a/src/vapi/eval/raw_client.py +++ b/src/vapi/eval/raw_client.py @@ -22,7 +22,9 @@ from ..types.eval_run_paginated_response import EvalRunPaginatedResponse from .types.create_eval_run_dto_target import CreateEvalRunDtoTarget from .types.create_eval_run_dto_type import CreateEvalRunDtoType +from .types.eval_controller_get_paginated_request_sort_by import EvalControllerGetPaginatedRequestSortBy from .types.eval_controller_get_paginated_request_sort_order import EvalControllerGetPaginatedRequestSortOrder +from .types.eval_controller_get_runs_paginated_request_sort_by import EvalControllerGetRunsPaginatedRequestSortBy from .types.eval_controller_get_runs_paginated_request_sort_order import EvalControllerGetRunsPaginatedRequestSortOrder from .types.update_eval_dto_messages_item import UpdateEvalDtoMessagesItem from .types.update_eval_dto_type import UpdateEvalDtoType @@ -42,6 +44,7 @@ def eval_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -54,9 +57,12 @@ def eval_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[EvalPaginatedResponse]: """ + Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval definitions by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -64,6 +70,9 @@ def eval_controller_get_paginated( sort_order : typing.Optional[EvalControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -106,6 +115,7 @@ def eval_controller_get_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -147,6 +157,8 @@ def eval_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Eval]: """ + Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls. + Parameters ---------- messages : typing.Sequence[CreateEvalDtoMessagesItem] @@ -213,9 +225,12 @@ def eval_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[Eval]: """ + Returns the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -253,9 +268,12 @@ def eval_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[Eval]: """ + Deletes the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -300,9 +318,12 @@ def eval_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Eval]: """ + Updates the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. messages : typing.Optional[typing.Sequence[UpdateEvalDtoMessagesItem]] This is the mock conversation that will be used to evaluate the flow of the conversation. @@ -371,9 +392,12 @@ def eval_controller_get_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[EvalRun]: """ + Returns the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -411,9 +435,12 @@ def eval_controller_remove_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[EvalRun]: """ + Deletes the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -453,6 +480,7 @@ def eval_controller_get_runs_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -465,9 +493,12 @@ def eval_controller_get_runs_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[EvalRunPaginatedResponse]: """ + Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval runs by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -475,6 +506,9 @@ def eval_controller_get_runs_paginated( sort_order : typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -517,6 +551,7 @@ def eval_controller_get_runs_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -558,6 +593,8 @@ def eval_controller_run( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.Dict[str, typing.Any]]: """ + Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results. + Parameters ---------- target : CreateEvalRunDtoTarget @@ -630,6 +667,7 @@ async def eval_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -642,9 +680,12 @@ async def eval_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[EvalPaginatedResponse]: """ + Returns eval definitions for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval definitions by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -652,6 +693,9 @@ async def eval_controller_get_paginated( sort_order : typing.Optional[EvalControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -694,6 +738,7 @@ async def eval_controller_get_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -735,6 +780,8 @@ async def eval_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Eval]: """ + Creates a reusable eval that defines a mock conversation and checkpoints for evaluating assistant responses and tool calls. + Parameters ---------- messages : typing.Sequence[CreateEvalDtoMessagesItem] @@ -801,9 +848,12 @@ async def eval_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Eval]: """ + Returns the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -841,9 +891,12 @@ async def eval_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Eval]: """ + Deletes the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -888,9 +941,12 @@ async def eval_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Eval]: """ + Updates the eval definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval definition. messages : typing.Optional[typing.Sequence[UpdateEvalDtoMessagesItem]] This is the mock conversation that will be used to evaluate the flow of the conversation. @@ -959,9 +1015,12 @@ async def eval_controller_get_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[EvalRun]: """ + Returns the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -999,9 +1058,12 @@ async def eval_controller_remove_run( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[EvalRun]: """ + Deletes the eval run identified by its ID. + Parameters ---------- id : str + The unique identifier of the eval run. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1041,6 +1103,7 @@ async def eval_controller_get_runs_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -1053,9 +1116,12 @@ async def eval_controller_get_runs_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[EvalRunPaginatedResponse]: """ + Returns eval runs for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters eval runs by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -1063,6 +1129,9 @@ async def eval_controller_get_runs_paginated( sort_order : typing.Optional[EvalControllerGetRunsPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[EvalControllerGetRunsPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -1105,6 +1174,7 @@ async def eval_controller_get_runs_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -1146,6 +1216,8 @@ async def eval_controller_run( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.Dict[str, typing.Any]]: """ + Runs a saved or transient eval against an assistant or squad and creates an eval-run record containing the results. + Parameters ---------- target : CreateEvalRunDtoTarget diff --git a/src/vapi/eval/types/__init__.py b/src/vapi/eval/types/__init__.py index 8a0f2060..5c69235f 100644 --- a/src/vapi/eval/types/__init__.py +++ b/src/vapi/eval/types/__init__.py @@ -12,7 +12,9 @@ CreateEvalRunDtoTarget_Squad, ) from .create_eval_run_dto_type import CreateEvalRunDtoType + from .eval_controller_get_paginated_request_sort_by import EvalControllerGetPaginatedRequestSortBy from .eval_controller_get_paginated_request_sort_order import EvalControllerGetPaginatedRequestSortOrder + from .eval_controller_get_runs_paginated_request_sort_by import EvalControllerGetRunsPaginatedRequestSortBy from .eval_controller_get_runs_paginated_request_sort_order import EvalControllerGetRunsPaginatedRequestSortOrder from .update_eval_dto_messages_item import UpdateEvalDtoMessagesItem from .update_eval_dto_type import UpdateEvalDtoType @@ -21,7 +23,9 @@ "CreateEvalRunDtoTarget_Assistant": ".create_eval_run_dto_target", "CreateEvalRunDtoTarget_Squad": ".create_eval_run_dto_target", "CreateEvalRunDtoType": ".create_eval_run_dto_type", + "EvalControllerGetPaginatedRequestSortBy": ".eval_controller_get_paginated_request_sort_by", "EvalControllerGetPaginatedRequestSortOrder": ".eval_controller_get_paginated_request_sort_order", + "EvalControllerGetRunsPaginatedRequestSortBy": ".eval_controller_get_runs_paginated_request_sort_by", "EvalControllerGetRunsPaginatedRequestSortOrder": ".eval_controller_get_runs_paginated_request_sort_order", "UpdateEvalDtoMessagesItem": ".update_eval_dto_messages_item", "UpdateEvalDtoType": ".update_eval_dto_type", @@ -54,7 +58,9 @@ def __dir__(): "CreateEvalRunDtoTarget_Assistant", "CreateEvalRunDtoTarget_Squad", "CreateEvalRunDtoType", + "EvalControllerGetPaginatedRequestSortBy", "EvalControllerGetPaginatedRequestSortOrder", + "EvalControllerGetRunsPaginatedRequestSortBy", "EvalControllerGetRunsPaginatedRequestSortOrder", "UpdateEvalDtoMessagesItem", "UpdateEvalDtoType", diff --git a/src/vapi/eval/types/create_eval_run_dto_target.py b/src/vapi/eval/types/create_eval_run_dto_target.py index 3c84b773..cbf5f656 100644 --- a/src/vapi/eval/types/create_eval_run_dto_target.py +++ b/src/vapi/eval/types/create_eval_run_dto_target.py @@ -84,8 +84,12 @@ class Config: from ...types.call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from ...types.call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from ...types.call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from ...types.cerebras_model import CerebrasModel # noqa: E402, I001 from ...types.cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from ...types.conversation_node import ConversationNode # noqa: E402, I001 +from ...types.conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from ...types.create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from ...types.create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from ...types.create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -121,6 +125,13 @@ class Config: from ...types.together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from ...types.tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from ...types.tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from ...types.tool_node import ToolNode # noqa: E402, I001 +from ...types.tool_node_tool import ToolNodeTool # noqa: E402, I001 +from ...types.vapi_model import VapiModel # noqa: E402, I001 +from ...types.vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from ...types.workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from ...types.workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from ...types.workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from ...types.xai_model import XaiModel # noqa: E402, I001 from ...types.xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -144,8 +155,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -181,6 +196,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -204,8 +226,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -241,6 +267,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/eval/types/eval_controller_get_paginated_request_sort_by.py b/src/vapi/eval/types/eval_controller_get_paginated_request_sort_by.py new file mode 100644 index 00000000..7e336c71 --- /dev/null +++ b/src/vapi/eval/types/eval_controller_get_paginated_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +EvalControllerGetPaginatedRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.py b/src/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.py new file mode 100644 index 00000000..3a8cf94e --- /dev/null +++ b/src/vapi/eval/types/eval_controller_get_runs_paginated_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +EvalControllerGetRunsPaginatedRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/files/client.py b/src/vapi/files/client.py index 8c718029..95a40f23 100644 --- a/src/vapi/files/client.py +++ b/src/vapi/files/client.py @@ -27,10 +27,14 @@ def with_raw_response(self) -> RawFilesClient: """ return self._raw_client - def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[File]: + def list(self, *, purpose: str, request_options: typing.Optional[RequestOptions] = None) -> typing.List[File]: """ + Returns files uploaded to the authenticated organization. + Parameters ---------- + purpose : str + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -46,13 +50,17 @@ def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> ty client = Vapi( token="YOUR_TOKEN", ) - client.files.list() + client.files.list( + purpose="purpose", + ) """ - _response = self._raw_client.list(request_options=request_options) + _response = self._raw_client.list(purpose=purpose, request_options=request_options) return _response.data def create(self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Uploads a file for use with a Vapi knowledge base. + Parameters ---------- file : core.File @@ -80,9 +88,12 @@ def create(self, *, file: core.File, request_options: typing.Optional[RequestOpt def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Returns the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -108,9 +119,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Deletes the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -138,9 +152,12 @@ def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> File: """ + Updates the name of the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. name : typing.Optional[str] This is the name of the file. This is just for your own reference. @@ -183,10 +200,14 @@ def with_raw_response(self) -> AsyncRawFilesClient: """ return self._raw_client - async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[File]: + async def list(self, *, purpose: str, request_options: typing.Optional[RequestOptions] = None) -> typing.List[File]: """ + Returns files uploaded to the authenticated organization. + Parameters ---------- + purpose : str + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -207,16 +228,20 @@ async def list(self, *, request_options: typing.Optional[RequestOptions] = None) async def main() -> None: - await client.files.list() + await client.files.list( + purpose="purpose", + ) asyncio.run(main()) """ - _response = await self._raw_client.list(request_options=request_options) + _response = await self._raw_client.list(purpose=purpose, request_options=request_options) return _response.data async def create(self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Uploads a file for use with a Vapi knowledge base. + Parameters ---------- file : core.File @@ -252,9 +277,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Returns the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -288,9 +316,12 @@ async def main() -> None: async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> File: """ + Deletes the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -326,9 +357,12 @@ async def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> File: """ + Updates the name of the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. name : typing.Optional[str] This is the name of the file. This is just for your own reference. diff --git a/src/vapi/files/raw_client.py b/src/vapi/files/raw_client.py index 2fb53d63..0808835d 100644 --- a/src/vapi/files/raw_client.py +++ b/src/vapi/files/raw_client.py @@ -23,10 +23,16 @@ class RawFilesClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[typing.List[File]]: + def list( + self, *, purpose: str, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[typing.List[File]]: """ + Returns files uploaded to the authenticated organization. + Parameters ---------- + purpose : str + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -38,6 +44,9 @@ def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> Ht _response = self._client_wrapper.httpx_client.request( "file", method="GET", + params={ + "purpose": purpose, + }, request_options=request_options, ) try: @@ -61,6 +70,8 @@ def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> Ht def create(self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[File]: """ + Uploads a file for use with a Vapi knowledge base. + Parameters ---------- file : core.File @@ -117,9 +128,12 @@ def create(self, *, file: core.File, request_options: typing.Optional[RequestOpt def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[File]: """ + Returns the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -155,9 +169,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[File]: """ + Deletes the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -195,9 +212,12 @@ def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[File]: """ + Updates the name of the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. name : typing.Optional[str] This is the name of the file. This is just for your own reference. @@ -247,11 +267,15 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list( - self, *, request_options: typing.Optional[RequestOptions] = None + self, *, purpose: str, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[typing.List[File]]: """ + Returns files uploaded to the authenticated organization. + Parameters ---------- + purpose : str + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -263,6 +287,9 @@ async def list( _response = await self._client_wrapper.httpx_client.request( "file", method="GET", + params={ + "purpose": purpose, + }, request_options=request_options, ) try: @@ -288,6 +315,8 @@ async def create( self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[File]: """ + Uploads a file for use with a Vapi knowledge base. + Parameters ---------- file : core.File @@ -344,9 +373,12 @@ async def create( async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AsyncHttpResponse[File]: """ + Returns the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -384,9 +416,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[File]: """ + Deletes the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -424,9 +459,12 @@ async def update( self, id: str, *, name: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[File]: """ + Updates the name of the uploaded file identified by its ID. + Parameters ---------- id : str + The unique identifier of the file. name : typing.Optional[str] This is the name of the file. This is just for your own reference. diff --git a/src/vapi/insight/__init__.py b/src/vapi/insight/__init__.py index 81f8e9c5..b82dcbd9 100644 --- a/src/vapi/insight/__init__.py +++ b/src/vapi/insight/__init__.py @@ -17,6 +17,7 @@ InsightControllerCreateResponse_Line, InsightControllerCreateResponse_Pie, InsightControllerCreateResponse_Text, + InsightControllerFindAllRequestSortBy, InsightControllerFindAllRequestSortOrder, InsightControllerFindOneResponse, InsightControllerFindOneResponse_Bar, @@ -55,6 +56,7 @@ "InsightControllerCreateResponse_Line": ".types", "InsightControllerCreateResponse_Pie": ".types", "InsightControllerCreateResponse_Text": ".types", + "InsightControllerFindAllRequestSortBy": ".types", "InsightControllerFindAllRequestSortOrder": ".types", "InsightControllerFindOneResponse": ".types", "InsightControllerFindOneResponse_Bar": ".types", @@ -116,6 +118,7 @@ def __dir__(): "InsightControllerCreateResponse_Line", "InsightControllerCreateResponse_Pie", "InsightControllerCreateResponse_Text", + "InsightControllerFindAllRequestSortBy", "InsightControllerFindAllRequestSortOrder", "InsightControllerFindOneResponse", "InsightControllerFindOneResponse_Bar", diff --git a/src/vapi/insight/client.py b/src/vapi/insight/client.py index 62086d9c..53574288 100644 --- a/src/vapi/insight/client.py +++ b/src/vapi/insight/client.py @@ -12,6 +12,7 @@ from .raw_client import AsyncRawInsightClient, RawInsightClient from .types.insight_controller_create_request import InsightControllerCreateRequest from .types.insight_controller_create_response import InsightControllerCreateResponse +from .types.insight_controller_find_all_request_sort_by import InsightControllerFindAllRequestSortBy from .types.insight_controller_find_all_request_sort_order import InsightControllerFindAllRequestSortOrder from .types.insight_controller_find_one_response import InsightControllerFindOneResponse from .types.insight_controller_preview_request import InsightControllerPreviewRequest @@ -44,6 +45,7 @@ def insight_controller_find_all( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[InsightControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[InsightControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -56,9 +58,12 @@ def insight_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> InsightPaginatedResponse: """ + Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters reporting insights by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -66,6 +71,9 @@ def insight_controller_find_all( sort_order : typing.Optional[InsightControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[InsightControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -114,6 +122,7 @@ def insight_controller_find_all( id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -131,6 +140,8 @@ def insight_controller_create( self, *, request: InsightControllerCreateRequest, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerCreateResponse: """ + Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value. + Parameters ---------- request : InsightControllerCreateRequest @@ -171,9 +182,12 @@ def insight_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerFindOneResponse: """ + Returns the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -201,9 +215,12 @@ def insight_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerRemoveResponse: """ + Deletes the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -235,9 +252,12 @@ def insight_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> InsightControllerUpdateResponse: """ + Updates the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request : InsightControllerUpdateRequestBody @@ -271,14 +291,19 @@ def insight_controller_run( *, format_plan: typing.Optional[InsightRunFormatPlan] = OMIT, time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + assistant_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> InsightRunResponse: """ + Runs a saved reporting insight, optionally overriding its time range and response format. + Parameters ---------- id : str + The unique identifier of the reporting insight. format_plan : typing.Optional[InsightRunFormatPlan] + Output-formatting instructions applied to the insight run. time_range_override : typing.Optional[InsightTimeRangeWithStep] This is the optional time range override for the insight. @@ -289,6 +314,10 @@ def insight_controller_run( step default - "day" For Pie and Text Insights, step will be ignored even if provided. + assistant_id : typing.Optional[str] + Optional runtime assistant scope for dashboards. + This is applied to call-table queries without mutating the saved insight. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -309,7 +338,11 @@ def insight_controller_run( ) """ _response = self._raw_client.insight_controller_run( - id, format_plan=format_plan, time_range_override=time_range_override, request_options=request_options + id, + format_plan=format_plan, + time_range_override=time_range_override, + assistant_id=assistant_id, + request_options=request_options, ) return _response.data @@ -317,6 +350,8 @@ def insight_controller_preview( self, *, request: InsightControllerPreviewRequest, request_options: typing.Optional[RequestOptions] = None ) -> InsightRunResponse: """ + Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. + Parameters ---------- request : InsightControllerPreviewRequest @@ -375,6 +410,7 @@ async def insight_controller_find_all( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[InsightControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[InsightControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -387,9 +423,12 @@ async def insight_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> InsightPaginatedResponse: """ + Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters reporting insights by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -397,6 +436,9 @@ async def insight_controller_find_all( sort_order : typing.Optional[InsightControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[InsightControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -453,6 +495,7 @@ async def main() -> None: id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -470,6 +513,8 @@ async def insight_controller_create( self, *, request: InsightControllerCreateRequest, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerCreateResponse: """ + Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value. + Parameters ---------- request : InsightControllerCreateRequest @@ -518,9 +563,12 @@ async def insight_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerFindOneResponse: """ + Returns the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -556,9 +604,12 @@ async def insight_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> InsightControllerRemoveResponse: """ + Deletes the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -598,9 +649,12 @@ async def insight_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> InsightControllerUpdateResponse: """ + Updates the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request : InsightControllerUpdateRequestBody @@ -644,14 +698,19 @@ async def insight_controller_run( *, format_plan: typing.Optional[InsightRunFormatPlan] = OMIT, time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + assistant_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> InsightRunResponse: """ + Runs a saved reporting insight, optionally overriding its time range and response format. + Parameters ---------- id : str + The unique identifier of the reporting insight. format_plan : typing.Optional[InsightRunFormatPlan] + Output-formatting instructions applied to the insight run. time_range_override : typing.Optional[InsightTimeRangeWithStep] This is the optional time range override for the insight. @@ -662,6 +721,10 @@ async def insight_controller_run( step default - "day" For Pie and Text Insights, step will be ignored even if provided. + assistant_id : typing.Optional[str] + Optional runtime assistant scope for dashboards. + This is applied to call-table queries without mutating the saved insight. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -690,7 +753,11 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.insight_controller_run( - id, format_plan=format_plan, time_range_override=time_range_override, request_options=request_options + id, + format_plan=format_plan, + time_range_override=time_range_override, + assistant_id=assistant_id, + request_options=request_options, ) return _response.data @@ -698,6 +765,8 @@ async def insight_controller_preview( self, *, request: InsightControllerPreviewRequest, request_options: typing.Optional[RequestOptions] = None ) -> InsightRunResponse: """ + Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. + Parameters ---------- request : InsightControllerPreviewRequest diff --git a/src/vapi/insight/raw_client.py b/src/vapi/insight/raw_client.py index 9f77dc93..912ce3fb 100644 --- a/src/vapi/insight/raw_client.py +++ b/src/vapi/insight/raw_client.py @@ -19,6 +19,7 @@ from ..types.insight_time_range_with_step import InsightTimeRangeWithStep from .types.insight_controller_create_request import InsightControllerCreateRequest from .types.insight_controller_create_response import InsightControllerCreateResponse +from .types.insight_controller_find_all_request_sort_by import InsightControllerFindAllRequestSortBy from .types.insight_controller_find_all_request_sort_order import InsightControllerFindAllRequestSortOrder from .types.insight_controller_find_one_response import InsightControllerFindOneResponse from .types.insight_controller_preview_request import InsightControllerPreviewRequest @@ -41,6 +42,7 @@ def insight_controller_find_all( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[InsightControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[InsightControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -53,9 +55,12 @@ def insight_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[InsightPaginatedResponse]: """ + Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters reporting insights by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -63,6 +68,9 @@ def insight_controller_find_all( sort_order : typing.Optional[InsightControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[InsightControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -105,6 +113,7 @@ def insight_controller_find_all( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -140,6 +149,8 @@ def insight_controller_create( self, *, request: InsightControllerCreateRequest, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[InsightControllerCreateResponse]: """ + Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value. + Parameters ---------- request : InsightControllerCreateRequest @@ -184,9 +195,12 @@ def insight_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[InsightControllerFindOneResponse]: """ + Returns the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -224,9 +238,12 @@ def insight_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[InsightControllerRemoveResponse]: """ + Deletes the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -268,9 +285,12 @@ def insight_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[InsightControllerUpdateResponse]: """ + Updates the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request : InsightControllerUpdateRequestBody @@ -319,14 +339,19 @@ def insight_controller_run( *, format_plan: typing.Optional[InsightRunFormatPlan] = OMIT, time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + assistant_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[InsightRunResponse]: """ + Runs a saved reporting insight, optionally overriding its time range and response format. + Parameters ---------- id : str + The unique identifier of the reporting insight. format_plan : typing.Optional[InsightRunFormatPlan] + Output-formatting instructions applied to the insight run. time_range_override : typing.Optional[InsightTimeRangeWithStep] This is the optional time range override for the insight. @@ -337,6 +362,10 @@ def insight_controller_run( step default - "day" For Pie and Text Insights, step will be ignored even if provided. + assistant_id : typing.Optional[str] + Optional runtime assistant scope for dashboards. + This is applied to call-table queries without mutating the saved insight. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -355,6 +384,7 @@ def insight_controller_run( "timeRangeOverride": convert_and_respect_annotation_metadata( object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" ), + "assistantId": assistant_id, }, headers={ "content-type": "application/json", @@ -385,6 +415,8 @@ def insight_controller_preview( self, *, request: InsightControllerPreviewRequest, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[InsightRunResponse]: """ + Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. + Parameters ---------- request : InsightControllerPreviewRequest @@ -436,6 +468,7 @@ async def insight_controller_find_all( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[InsightControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[InsightControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -448,9 +481,12 @@ async def insight_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[InsightPaginatedResponse]: """ + Returns saved reporting insights for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters reporting insights by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -458,6 +494,9 @@ async def insight_controller_find_all( sort_order : typing.Optional[InsightControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[InsightControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -500,6 +539,7 @@ async def insight_controller_find_all( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -535,6 +575,8 @@ async def insight_controller_create( self, *, request: InsightControllerCreateRequest, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[InsightControllerCreateResponse]: """ + Creates a saved reporting insight that queries call data and presents the results as a bar chart, pie chart, line chart, or text value. + Parameters ---------- request : InsightControllerCreateRequest @@ -579,9 +621,12 @@ async def insight_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[InsightControllerFindOneResponse]: """ + Returns the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -619,9 +664,12 @@ async def insight_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[InsightControllerRemoveResponse]: """ + Deletes the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -663,9 +711,12 @@ async def insight_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[InsightControllerUpdateResponse]: """ + Updates the reporting insight identified by its ID. + Parameters ---------- id : str + The unique identifier of the reporting insight. request : InsightControllerUpdateRequestBody @@ -714,14 +765,19 @@ async def insight_controller_run( *, format_plan: typing.Optional[InsightRunFormatPlan] = OMIT, time_range_override: typing.Optional[InsightTimeRangeWithStep] = OMIT, + assistant_id: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[InsightRunResponse]: """ + Runs a saved reporting insight, optionally overriding its time range and response format. + Parameters ---------- id : str + The unique identifier of the reporting insight. format_plan : typing.Optional[InsightRunFormatPlan] + Output-formatting instructions applied to the insight run. time_range_override : typing.Optional[InsightTimeRangeWithStep] This is the optional time range override for the insight. @@ -732,6 +788,10 @@ async def insight_controller_run( step default - "day" For Pie and Text Insights, step will be ignored even if provided. + assistant_id : typing.Optional[str] + Optional runtime assistant scope for dashboards. + This is applied to call-table queries without mutating the saved insight. + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -750,6 +810,7 @@ async def insight_controller_run( "timeRangeOverride": convert_and_respect_annotation_metadata( object_=time_range_override, annotation=InsightTimeRangeWithStep, direction="write" ), + "assistantId": assistant_id, }, headers={ "content-type": "application/json", @@ -780,6 +841,8 @@ async def insight_controller_preview( self, *, request: InsightControllerPreviewRequest, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[InsightRunResponse]: """ + Runs an insight definition without first saving it, returning a preview of the resulting chart or text value. + Parameters ---------- request : InsightControllerPreviewRequest diff --git a/src/vapi/insight/types/__init__.py b/src/vapi/insight/types/__init__.py index 7cbf0dcc..2f236077 100644 --- a/src/vapi/insight/types/__init__.py +++ b/src/vapi/insight/types/__init__.py @@ -20,6 +20,7 @@ InsightControllerCreateResponse_Pie, InsightControllerCreateResponse_Text, ) + from .insight_controller_find_all_request_sort_by import InsightControllerFindAllRequestSortBy from .insight_controller_find_all_request_sort_order import InsightControllerFindAllRequestSortOrder from .insight_controller_find_one_response import ( InsightControllerFindOneResponse, @@ -67,6 +68,7 @@ "InsightControllerCreateResponse_Line": ".insight_controller_create_response", "InsightControllerCreateResponse_Pie": ".insight_controller_create_response", "InsightControllerCreateResponse_Text": ".insight_controller_create_response", + "InsightControllerFindAllRequestSortBy": ".insight_controller_find_all_request_sort_by", "InsightControllerFindAllRequestSortOrder": ".insight_controller_find_all_request_sort_order", "InsightControllerFindOneResponse": ".insight_controller_find_one_response", "InsightControllerFindOneResponse_Bar": ".insight_controller_find_one_response", @@ -128,6 +130,7 @@ def __dir__(): "InsightControllerCreateResponse_Line", "InsightControllerCreateResponse_Pie", "InsightControllerCreateResponse_Text", + "InsightControllerFindAllRequestSortBy", "InsightControllerFindAllRequestSortOrder", "InsightControllerFindOneResponse", "InsightControllerFindOneResponse_Bar", diff --git a/src/vapi/insight/types/insight_controller_create_response.py b/src/vapi/insight/types/insight_controller_create_response.py index 6018b190..b47833e7 100644 --- a/src/vapi/insight/types/insight_controller_create_response.py +++ b/src/vapi/insight/types/insight_controller_create_response.py @@ -44,6 +44,9 @@ class InsightControllerCreateResponse_Bar(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -74,6 +77,9 @@ class InsightControllerCreateResponse_Pie(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -105,6 +111,9 @@ class InsightControllerCreateResponse_Line(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -132,6 +141,9 @@ class InsightControllerCreateResponse_Text(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = 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/vapi/insight/types/insight_controller_find_all_request_sort_by.py b/src/vapi/insight/types/insight_controller_find_all_request_sort_by.py new file mode 100644 index 00000000..2de4f932 --- /dev/null +++ b/src/vapi/insight/types/insight_controller_find_all_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +InsightControllerFindAllRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/insight/types/insight_controller_find_one_response.py b/src/vapi/insight/types/insight_controller_find_one_response.py index 5e5475c2..458805d8 100644 --- a/src/vapi/insight/types/insight_controller_find_one_response.py +++ b/src/vapi/insight/types/insight_controller_find_one_response.py @@ -44,6 +44,9 @@ class InsightControllerFindOneResponse_Bar(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -74,6 +77,9 @@ class InsightControllerFindOneResponse_Pie(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -105,6 +111,9 @@ class InsightControllerFindOneResponse_Line(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -132,6 +141,9 @@ class InsightControllerFindOneResponse_Text(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = 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/vapi/insight/types/insight_controller_remove_response.py b/src/vapi/insight/types/insight_controller_remove_response.py index 75194df7..13cdc54d 100644 --- a/src/vapi/insight/types/insight_controller_remove_response.py +++ b/src/vapi/insight/types/insight_controller_remove_response.py @@ -44,6 +44,9 @@ class InsightControllerRemoveResponse_Bar(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -74,6 +77,9 @@ class InsightControllerRemoveResponse_Pie(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -105,6 +111,9 @@ class InsightControllerRemoveResponse_Line(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -132,6 +141,9 @@ class InsightControllerRemoveResponse_Text(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = 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/vapi/insight/types/insight_controller_update_response.py b/src/vapi/insight/types/insight_controller_update_response.py index db4cac8b..856906c1 100644 --- a/src/vapi/insight/types/insight_controller_update_response.py +++ b/src/vapi/insight/types/insight_controller_update_response.py @@ -44,6 +44,9 @@ class InsightControllerUpdateResponse_Bar(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -74,6 +77,9 @@ class InsightControllerUpdateResponse_Pie(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -105,6 +111,9 @@ class InsightControllerUpdateResponse_Line(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -132,6 +141,9 @@ class InsightControllerUpdateResponse_Text(UncheckedBaseModel): updated_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = 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/vapi/observability_scorecard/__init__.py b/src/vapi/observability_scorecard/__init__.py index 5dddb700..47b4d39e 100644 --- a/src/vapi/observability_scorecard/__init__.py +++ b/src/vapi/observability_scorecard/__init__.py @@ -6,8 +6,11 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import ScorecardControllerGetPaginatedRequestSortOrder -_dynamic_imports: typing.Dict[str, str] = {"ScorecardControllerGetPaginatedRequestSortOrder": ".types"} + from .types import ScorecardControllerGetPaginatedRequestSortBy, ScorecardControllerGetPaginatedRequestSortOrder +_dynamic_imports: typing.Dict[str, str] = { + "ScorecardControllerGetPaginatedRequestSortBy": ".types", + "ScorecardControllerGetPaginatedRequestSortOrder": ".types", +} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +34,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["ScorecardControllerGetPaginatedRequestSortOrder"] +__all__ = ["ScorecardControllerGetPaginatedRequestSortBy", "ScorecardControllerGetPaginatedRequestSortOrder"] diff --git a/src/vapi/observability_scorecard/client.py b/src/vapi/observability_scorecard/client.py index 158ada23..e26f3d2f 100644 --- a/src/vapi/observability_scorecard/client.py +++ b/src/vapi/observability_scorecard/client.py @@ -9,6 +9,7 @@ from ..types.scorecard_metric import ScorecardMetric from ..types.scorecard_paginated_response import ScorecardPaginatedResponse from .raw_client import AsyncRawObservabilityScorecardClient, RawObservabilityScorecardClient +from .types.scorecard_controller_get_paginated_request_sort_by import ScorecardControllerGetPaginatedRequestSortBy from .types.scorecard_controller_get_paginated_request_sort_order import ScorecardControllerGetPaginatedRequestSortOrder # this is used as the default value for optional parameters @@ -34,9 +35,12 @@ def scorecard_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Scorecard: """ + Returns the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -64,9 +68,12 @@ def scorecard_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Scorecard: """ + Deletes the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -101,9 +108,12 @@ def scorecard_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> Scorecard: """ + Updates the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. name : typing.Optional[str] This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. @@ -154,6 +164,7 @@ def scorecard_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -166,9 +177,12 @@ def scorecard_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> ScorecardPaginatedResponse: """ + Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters scorecards by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -176,6 +190,9 @@ def scorecard_controller_get_paginated( sort_order : typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -224,6 +241,7 @@ def scorecard_controller_get_paginated( id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -247,6 +265,8 @@ def scorecard_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> Scorecard: """ + Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated. + Parameters ---------- metrics : typing.Sequence[ScorecardMetric] @@ -273,7 +293,7 @@ def scorecard_controller_create( Examples -------- - from vapi import ScorecardMetric, Vapi + from vapi import NumberComparatorScorecardMetricCondition, ScorecardMetric, Vapi client = Vapi( token="YOUR_TOKEN", @@ -281,8 +301,15 @@ def scorecard_controller_create( client.observability_scorecard.scorecard_controller_create( metrics=[ ScorecardMetric( + conditions=[ + NumberComparatorScorecardMetricCondition( + type="comparator", + comparator="=", + value=1.1, + points=1.1, + ) + ], structured_output_id="structuredOutputId", - conditions=[{"key": "value"}], ) ], ) @@ -316,9 +343,12 @@ async def scorecard_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Scorecard: """ + Returns the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -354,9 +384,12 @@ async def scorecard_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> Scorecard: """ + Deletes the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -399,9 +432,12 @@ async def scorecard_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> Scorecard: """ + Updates the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. name : typing.Optional[str] This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. @@ -460,6 +496,7 @@ async def scorecard_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -472,9 +509,12 @@ async def scorecard_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> ScorecardPaginatedResponse: """ + Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters scorecards by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -482,6 +522,9 @@ async def scorecard_controller_get_paginated( sort_order : typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -538,6 +581,7 @@ async def main() -> None: id=id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -561,6 +605,8 @@ async def scorecard_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> Scorecard: """ + Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated. + Parameters ---------- metrics : typing.Sequence[ScorecardMetric] @@ -589,7 +635,11 @@ async def scorecard_controller_create( -------- import asyncio - from vapi import AsyncVapi, ScorecardMetric + from vapi import ( + AsyncVapi, + NumberComparatorScorecardMetricCondition, + ScorecardMetric, + ) client = AsyncVapi( token="YOUR_TOKEN", @@ -600,8 +650,15 @@ async def main() -> None: await client.observability_scorecard.scorecard_controller_create( metrics=[ ScorecardMetric( + conditions=[ + NumberComparatorScorecardMetricCondition( + type="comparator", + comparator="=", + value=1.1, + points=1.1, + ) + ], structured_output_id="structuredOutputId", - conditions=[{"key": "value"}], ) ], ) diff --git a/src/vapi/observability_scorecard/raw_client.py b/src/vapi/observability_scorecard/raw_client.py index 46eddd6c..351c71a6 100644 --- a/src/vapi/observability_scorecard/raw_client.py +++ b/src/vapi/observability_scorecard/raw_client.py @@ -16,6 +16,7 @@ from ..types.scorecard import Scorecard from ..types.scorecard_metric import ScorecardMetric from ..types.scorecard_paginated_response import ScorecardPaginatedResponse +from .types.scorecard_controller_get_paginated_request_sort_by import ScorecardControllerGetPaginatedRequestSortBy from .types.scorecard_controller_get_paginated_request_sort_order import ScorecardControllerGetPaginatedRequestSortOrder from pydantic import ValidationError @@ -31,9 +32,12 @@ def scorecard_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[Scorecard]: """ + Returns the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -71,9 +75,12 @@ def scorecard_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[Scorecard]: """ + Deletes the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -118,9 +125,12 @@ def scorecard_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Scorecard]: """ + Updates the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. name : typing.Optional[str] This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. @@ -186,6 +196,7 @@ def scorecard_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -198,9 +209,12 @@ def scorecard_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ScorecardPaginatedResponse]: """ + Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters scorecards by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -208,6 +222,9 @@ def scorecard_controller_get_paginated( sort_order : typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -250,6 +267,7 @@ def scorecard_controller_get_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -291,6 +309,8 @@ def scorecard_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Scorecard]: """ + Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated. + Parameters ---------- metrics : typing.Sequence[ScorecardMetric] @@ -357,9 +377,12 @@ async def scorecard_controller_get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Scorecard]: """ + Returns the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -397,9 +420,12 @@ async def scorecard_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Scorecard]: """ + Deletes the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -444,9 +470,12 @@ async def scorecard_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Scorecard]: """ + Updates the scorecard identified by its ID. + Parameters ---------- id : str + The unique identifier of the scorecard. name : typing.Optional[str] This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. @@ -512,6 +541,7 @@ async def scorecard_controller_get_paginated( id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -524,9 +554,12 @@ async def scorecard_controller_get_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ScorecardPaginatedResponse]: """ + Returns scorecards for the authenticated organization. Filter results by ID or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] + Filters scorecards by ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -534,6 +567,9 @@ async def scorecard_controller_get_paginated( sort_order : typing.Optional[ScorecardControllerGetPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ScorecardControllerGetPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -576,6 +612,7 @@ async def scorecard_controller_get_paginated( "id": id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -617,6 +654,8 @@ async def scorecard_controller_create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Scorecard]: """ + Creates a scorecard containing metrics, scoring conditions, and optional links to assistants whose calls should be evaluated. + Parameters ---------- metrics : typing.Sequence[ScorecardMetric] diff --git a/src/vapi/observability_scorecard/types/__init__.py b/src/vapi/observability_scorecard/types/__init__.py index 91bedfb9..1a1ab5a9 100644 --- a/src/vapi/observability_scorecard/types/__init__.py +++ b/src/vapi/observability_scorecard/types/__init__.py @@ -6,9 +6,11 @@ from importlib import import_module if typing.TYPE_CHECKING: + from .scorecard_controller_get_paginated_request_sort_by import ScorecardControllerGetPaginatedRequestSortBy from .scorecard_controller_get_paginated_request_sort_order import ScorecardControllerGetPaginatedRequestSortOrder _dynamic_imports: typing.Dict[str, str] = { - "ScorecardControllerGetPaginatedRequestSortOrder": ".scorecard_controller_get_paginated_request_sort_order" + "ScorecardControllerGetPaginatedRequestSortBy": ".scorecard_controller_get_paginated_request_sort_by", + "ScorecardControllerGetPaginatedRequestSortOrder": ".scorecard_controller_get_paginated_request_sort_order", } @@ -33,4 +35,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["ScorecardControllerGetPaginatedRequestSortOrder"] +__all__ = ["ScorecardControllerGetPaginatedRequestSortBy", "ScorecardControllerGetPaginatedRequestSortOrder"] diff --git a/src/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.py b/src/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.py new file mode 100644 index 00000000..1dbc2c3a --- /dev/null +++ b/src/vapi/observability_scorecard/types/scorecard_controller_get_paginated_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ScorecardControllerGetPaginatedRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/phone_numbers/__init__.py b/src/vapi/phone_numbers/__init__.py index f720a37c..19638d75 100644 --- a/src/vapi/phone_numbers/__init__.py +++ b/src/vapi/phone_numbers/__init__.py @@ -37,6 +37,7 @@ ListPhoneNumbersResponseItem_Twilio, ListPhoneNumbersResponseItem_Vapi, ListPhoneNumbersResponseItem_Vonage, + PhoneNumberControllerFindAllPaginatedRequestSortBy, PhoneNumberControllerFindAllPaginatedRequestSortOrder, UpdatePhoneNumbersRequestBody, UpdatePhoneNumbersRequestBody_ByoPhoneNumber, @@ -82,6 +83,7 @@ "ListPhoneNumbersResponseItem_Twilio": ".types", "ListPhoneNumbersResponseItem_Vapi": ".types", "ListPhoneNumbersResponseItem_Vonage": ".types", + "PhoneNumberControllerFindAllPaginatedRequestSortBy": ".types", "PhoneNumberControllerFindAllPaginatedRequestSortOrder": ".types", "UpdatePhoneNumbersRequestBody": ".types", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber": ".types", @@ -150,6 +152,7 @@ def __dir__(): "ListPhoneNumbersResponseItem_Twilio", "ListPhoneNumbersResponseItem_Vapi", "ListPhoneNumbersResponseItem_Vonage", + "PhoneNumberControllerFindAllPaginatedRequestSortBy", "PhoneNumberControllerFindAllPaginatedRequestSortOrder", "UpdatePhoneNumbersRequestBody", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber", diff --git a/src/vapi/phone_numbers/client.py b/src/vapi/phone_numbers/client.py index 8745d92d..b2e757e9 100644 --- a/src/vapi/phone_numbers/client.py +++ b/src/vapi/phone_numbers/client.py @@ -12,6 +12,9 @@ from .types.delete_phone_numbers_response import DeletePhoneNumbersResponse from .types.get_phone_numbers_response import GetPhoneNumbersResponse from .types.list_phone_numbers_response_item import ListPhoneNumbersResponseItem +from .types.phone_number_controller_find_all_paginated_request_sort_by import ( + PhoneNumberControllerFindAllPaginatedRequestSortBy, +) from .types.phone_number_controller_find_all_paginated_request_sort_order import ( PhoneNumberControllerFindAllPaginatedRequestSortOrder, ) @@ -52,6 +55,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[ListPhoneNumbersResponseItem]: """ + Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -116,6 +121,8 @@ def create( self, *, request: CreatePhoneNumbersRequest, request_options: typing.Optional[RequestOptions] = None ) -> CreatePhoneNumbersResponse: """ + Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider. + Parameters ---------- request : CreatePhoneNumbersRequest @@ -151,6 +158,7 @@ def phone_number_controller_find_all_paginated( search: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -163,6 +171,8 @@ def phone_number_controller_find_all_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> PhoneNumberPaginatedResponse: """ + Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps. + Parameters ---------- search : typing.Optional[str] @@ -174,6 +184,9 @@ def phone_number_controller_find_all_paginated( sort_order : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -222,6 +235,7 @@ def phone_number_controller_find_all_paginated( search=search, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -237,9 +251,12 @@ def phone_number_controller_find_all_paginated( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetPhoneNumbersResponse: """ + Returns the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -265,9 +282,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeletePhoneNumbersResponse: """ + Deletes the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -299,9 +319,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> UpdatePhoneNumbersResponse: """ + Updates the specified fields of the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request : UpdatePhoneNumbersRequestBody @@ -360,6 +383,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[ListPhoneNumbersResponseItem]: """ + Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -432,6 +457,8 @@ async def create( self, *, request: CreatePhoneNumbersRequest, request_options: typing.Optional[RequestOptions] = None ) -> CreatePhoneNumbersResponse: """ + Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider. + Parameters ---------- request : CreatePhoneNumbersRequest @@ -475,6 +502,7 @@ async def phone_number_controller_find_all_paginated( search: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -487,6 +515,8 @@ async def phone_number_controller_find_all_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> PhoneNumberPaginatedResponse: """ + Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps. + Parameters ---------- search : typing.Optional[str] @@ -498,6 +528,9 @@ async def phone_number_controller_find_all_paginated( sort_order : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -554,6 +587,7 @@ async def main() -> None: search=search, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -569,9 +603,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetPhoneNumbersResponse: """ + Returns the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -607,9 +644,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> DeletePhoneNumbersResponse: """ + Deletes the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -649,9 +689,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> UpdatePhoneNumbersResponse: """ + Updates the specified fields of the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request : UpdatePhoneNumbersRequestBody diff --git a/src/vapi/phone_numbers/raw_client.py b/src/vapi/phone_numbers/raw_client.py index 2ac523c3..925799a8 100644 --- a/src/vapi/phone_numbers/raw_client.py +++ b/src/vapi/phone_numbers/raw_client.py @@ -19,6 +19,9 @@ from .types.delete_phone_numbers_response import DeletePhoneNumbersResponse from .types.get_phone_numbers_response import GetPhoneNumbersResponse from .types.list_phone_numbers_response_item import ListPhoneNumbersResponseItem +from .types.phone_number_controller_find_all_paginated_request_sort_by import ( + PhoneNumberControllerFindAllPaginatedRequestSortBy, +) from .types.phone_number_controller_find_all_paginated_request_sort_order import ( PhoneNumberControllerFindAllPaginatedRequestSortOrder, ) @@ -49,6 +52,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.List[ListPhoneNumbersResponseItem]]: """ + Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -125,6 +130,8 @@ def create( self, *, request: CreatePhoneNumbersRequest, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[CreatePhoneNumbersResponse]: """ + Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider. + Parameters ---------- request : CreatePhoneNumbersRequest @@ -171,6 +178,7 @@ def phone_number_controller_find_all_paginated( search: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -183,6 +191,8 @@ def phone_number_controller_find_all_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[PhoneNumberPaginatedResponse]: """ + Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps. + Parameters ---------- search : typing.Optional[str] @@ -194,6 +204,9 @@ def phone_number_controller_find_all_paginated( sort_order : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -236,6 +249,7 @@ def phone_number_controller_find_all_paginated( "search": search, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -271,9 +285,12 @@ def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[GetPhoneNumbersResponse]: """ + Returns the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -311,9 +328,12 @@ def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[DeletePhoneNumbersResponse]: """ + Deletes the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -355,9 +375,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[UpdatePhoneNumbersResponse]: """ + Updates the specified fields of the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request : UpdatePhoneNumbersRequestBody @@ -420,6 +443,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.List[ListPhoneNumbersResponseItem]]: """ + Returns phone numbers for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -496,6 +521,8 @@ async def create( self, *, request: CreatePhoneNumbersRequest, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[CreatePhoneNumbersResponse]: """ + Creates a Vapi phone number or imports a phone number from a supported provider, including Twilio, Vonage, Telnyx, or a bring-your-own provider. + Parameters ---------- request : CreatePhoneNumbersRequest @@ -542,6 +569,7 @@ async def phone_number_controller_find_all_paginated( search: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -554,6 +582,8 @@ async def phone_number_controller_find_all_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[PhoneNumberPaginatedResponse]: """ + Returns a paginated list of phone numbers for the authenticated organization. Search by name, number, or SIP URI using a partial, case-insensitive match, and filter by creation or update timestamps. + Parameters ---------- search : typing.Optional[str] @@ -565,6 +595,9 @@ async def phone_number_controller_find_all_paginated( sort_order : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[PhoneNumberControllerFindAllPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -607,6 +640,7 @@ async def phone_number_controller_find_all_paginated( "search": search, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -642,9 +676,12 @@ async def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[GetPhoneNumbersResponse]: """ + Returns the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -682,9 +719,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[DeletePhoneNumbersResponse]: """ + Deletes the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -726,9 +766,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[UpdatePhoneNumbersResponse]: """ + Updates the specified fields of the phone number resource identified by its ID. + Parameters ---------- id : str + The unique identifier of the phone number. request : UpdatePhoneNumbersRequestBody diff --git a/src/vapi/phone_numbers/types/__init__.py b/src/vapi/phone_numbers/types/__init__.py index 962da5e9..fdcecabc 100644 --- a/src/vapi/phone_numbers/types/__init__.py +++ b/src/vapi/phone_numbers/types/__init__.py @@ -46,6 +46,9 @@ ListPhoneNumbersResponseItem_Vapi, ListPhoneNumbersResponseItem_Vonage, ) + from .phone_number_controller_find_all_paginated_request_sort_by import ( + PhoneNumberControllerFindAllPaginatedRequestSortBy, + ) from .phone_number_controller_find_all_paginated_request_sort_order import ( PhoneNumberControllerFindAllPaginatedRequestSortOrder, ) @@ -96,6 +99,7 @@ "ListPhoneNumbersResponseItem_Twilio": ".list_phone_numbers_response_item", "ListPhoneNumbersResponseItem_Vapi": ".list_phone_numbers_response_item", "ListPhoneNumbersResponseItem_Vonage": ".list_phone_numbers_response_item", + "PhoneNumberControllerFindAllPaginatedRequestSortBy": ".phone_number_controller_find_all_paginated_request_sort_by", "PhoneNumberControllerFindAllPaginatedRequestSortOrder": ".phone_number_controller_find_all_paginated_request_sort_order", "UpdatePhoneNumbersRequestBody": ".update_phone_numbers_request_body", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber": ".update_phone_numbers_request_body", @@ -164,6 +168,7 @@ def __dir__(): "ListPhoneNumbersResponseItem_Twilio", "ListPhoneNumbersResponseItem_Vapi", "ListPhoneNumbersResponseItem_Vonage", + "PhoneNumberControllerFindAllPaginatedRequestSortBy", "PhoneNumberControllerFindAllPaginatedRequestSortOrder", "UpdatePhoneNumbersRequestBody", "UpdatePhoneNumbersRequestBody_ByoPhoneNumber", diff --git a/src/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.py b/src/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.py new file mode 100644 index 00000000..be25765b --- /dev/null +++ b/src/vapi/phone_numbers/types/phone_number_controller_find_all_paginated_request_sort_by.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PhoneNumberControllerFindAllPaginatedRequestSortBy = typing.Union[ + typing.Literal["createdAt", "duration", "cost"], typing.Any +] diff --git a/src/vapi/provider_resources/__init__.py b/src/vapi/provider_resources/__init__.py index da04102c..734468cf 100644 --- a/src/vapi/provider_resources/__init__.py +++ b/src/vapi/provider_resources/__init__.py @@ -15,6 +15,7 @@ ProviderResourceControllerGetProviderResourceRequestResourceName, ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider, ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName, + ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, ProviderResourceControllerUpdateProviderResourceRequestProvider, ProviderResourceControllerUpdateProviderResourceRequestResourceName, @@ -28,6 +29,7 @@ "ProviderResourceControllerGetProviderResourceRequestResourceName": ".types", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider": ".types", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName": ".types", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy": ".types", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder": ".types", "ProviderResourceControllerUpdateProviderResourceRequestProvider": ".types", "ProviderResourceControllerUpdateProviderResourceRequestResourceName": ".types", @@ -64,6 +66,7 @@ def __dir__(): "ProviderResourceControllerGetProviderResourceRequestResourceName", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder", "ProviderResourceControllerUpdateProviderResourceRequestProvider", "ProviderResourceControllerUpdateProviderResourceRequestResourceName", diff --git a/src/vapi/provider_resources/client.py b/src/vapi/provider_resources/client.py index eaf876ce..2ffffdfe 100644 --- a/src/vapi/provider_resources/client.py +++ b/src/vapi/provider_resources/client.py @@ -32,6 +32,9 @@ from .types.provider_resource_controller_get_provider_resources_paginated_request_resource_name import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName, ) +from .types.provider_resource_controller_get_provider_resources_paginated_request_sort_by import ( + ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, +) from .types.provider_resource_controller_get_provider_resources_paginated_request_sort_order import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, ) @@ -67,6 +70,7 @@ def provider_resource_controller_get_provider_resources_paginated( resource_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -79,6 +83,8 @@ def provider_resource_controller_get_provider_resources_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResourcePaginatedResponse: """ + Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider @@ -88,8 +94,10 @@ def provider_resource_controller_get_provider_resources_paginated( The resource name (e.g., pronunciation-dictionary) id : typing.Optional[str] + Filters provider resources by their resource ID. resource_id : typing.Optional[str] + Filters provider resources by their provider-specific resource ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -97,6 +105,9 @@ def provider_resource_controller_get_provider_resources_paginated( sort_order : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -151,6 +162,7 @@ def provider_resource_controller_get_provider_resources_paginated( resource_id=resource_id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -172,6 +184,8 @@ def provider_resource_controller_create_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. + Parameters ---------- provider : ProviderResourceControllerCreateProviderResourceRequestProvider @@ -214,6 +228,8 @@ def provider_resource_controller_get_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Returns the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourceRequestProvider @@ -223,6 +239,7 @@ def provider_resource_controller_get_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -259,6 +276,8 @@ def provider_resource_controller_delete_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Deletes the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerDeleteProviderResourceRequestProvider @@ -268,6 +287,7 @@ def provider_resource_controller_delete_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -304,6 +324,8 @@ def provider_resource_controller_update_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Updates the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerUpdateProviderResourceRequestProvider @@ -313,6 +335,7 @@ def provider_resource_controller_update_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -365,6 +388,7 @@ async def provider_resource_controller_get_provider_resources_paginated( resource_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -377,6 +401,8 @@ async def provider_resource_controller_get_provider_resources_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResourcePaginatedResponse: """ + Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider @@ -386,8 +412,10 @@ async def provider_resource_controller_get_provider_resources_paginated( The resource name (e.g., pronunciation-dictionary) id : typing.Optional[str] + Filters provider resources by their resource ID. resource_id : typing.Optional[str] + Filters provider resources by their provider-specific resource ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -395,6 +423,9 @@ async def provider_resource_controller_get_provider_resources_paginated( sort_order : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -457,6 +488,7 @@ async def main() -> None: resource_id=resource_id, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -478,6 +510,8 @@ async def provider_resource_controller_create_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. + Parameters ---------- provider : ProviderResourceControllerCreateProviderResourceRequestProvider @@ -528,6 +562,8 @@ async def provider_resource_controller_get_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Returns the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourceRequestProvider @@ -537,6 +573,7 @@ async def provider_resource_controller_get_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -581,6 +618,8 @@ async def provider_resource_controller_delete_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Deletes the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerDeleteProviderResourceRequestProvider @@ -590,6 +629,7 @@ async def provider_resource_controller_delete_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -634,6 +674,8 @@ async def provider_resource_controller_update_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> ProviderResource: """ + Updates the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerUpdateProviderResourceRequestProvider @@ -643,6 +685,7 @@ async def provider_resource_controller_update_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/provider_resources/raw_client.py b/src/vapi/provider_resources/raw_client.py index f4771b55..af560d84 100644 --- a/src/vapi/provider_resources/raw_client.py +++ b/src/vapi/provider_resources/raw_client.py @@ -39,6 +39,9 @@ from .types.provider_resource_controller_get_provider_resources_paginated_request_resource_name import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName, ) +from .types.provider_resource_controller_get_provider_resources_paginated_request_sort_by import ( + ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, +) from .types.provider_resource_controller_get_provider_resources_paginated_request_sort_order import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, ) @@ -64,6 +67,7 @@ def provider_resource_controller_get_provider_resources_paginated( resource_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -76,6 +80,8 @@ def provider_resource_controller_get_provider_resources_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ProviderResourcePaginatedResponse]: """ + Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider @@ -85,8 +91,10 @@ def provider_resource_controller_get_provider_resources_paginated( The resource name (e.g., pronunciation-dictionary) id : typing.Optional[str] + Filters provider resources by their resource ID. resource_id : typing.Optional[str] + Filters provider resources by their provider-specific resource ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -94,6 +102,9 @@ def provider_resource_controller_get_provider_resources_paginated( sort_order : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -137,6 +148,7 @@ def provider_resource_controller_get_provider_resources_paginated( "resourceId": resource_id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -176,6 +188,8 @@ def provider_resource_controller_create_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ProviderResource]: """ + Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. + Parameters ---------- provider : ProviderResourceControllerCreateProviderResourceRequestProvider @@ -225,6 +239,8 @@ def provider_resource_controller_get_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ProviderResource]: """ + Returns the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourceRequestProvider @@ -234,6 +250,7 @@ def provider_resource_controller_get_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -287,6 +304,8 @@ def provider_resource_controller_delete_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ProviderResource]: """ + Deletes the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerDeleteProviderResourceRequestProvider @@ -296,6 +315,7 @@ def provider_resource_controller_delete_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -349,6 +369,8 @@ def provider_resource_controller_update_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[ProviderResource]: """ + Updates the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerUpdateProviderResourceRequestProvider @@ -358,6 +380,7 @@ def provider_resource_controller_update_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -416,6 +439,7 @@ async def provider_resource_controller_get_provider_resources_paginated( resource_id: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] = None, + sort_by: typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -428,6 +452,8 @@ async def provider_resource_controller_get_provider_resources_paginated( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ProviderResourcePaginatedResponse]: """ + Returns a paginated list of provider resources for the authenticated organization. Filter pronunciation dictionaries by provider, resource ID, or creation and update timestamps. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider @@ -437,8 +463,10 @@ async def provider_resource_controller_get_provider_resources_paginated( The resource name (e.g., pronunciation-dictionary) id : typing.Optional[str] + Filters provider resources by their resource ID. resource_id : typing.Optional[str] + Filters provider resources by their provider-specific resource ID. page : typing.Optional[float] This is the page number to return. Defaults to 1. @@ -446,6 +474,9 @@ async def provider_resource_controller_get_provider_resources_paginated( sort_order : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -489,6 +520,7 @@ async def provider_resource_controller_get_provider_resources_paginated( "resourceId": resource_id, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -528,6 +560,8 @@ async def provider_resource_controller_create_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ProviderResource]: """ + Creates a pronunciation-dictionary resource for a supported provider, currently Cartesia or ElevenLabs. + Parameters ---------- provider : ProviderResourceControllerCreateProviderResourceRequestProvider @@ -577,6 +611,8 @@ async def provider_resource_controller_get_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ProviderResource]: """ + Returns the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerGetProviderResourceRequestProvider @@ -586,6 +622,7 @@ async def provider_resource_controller_get_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -639,6 +676,8 @@ async def provider_resource_controller_delete_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ProviderResource]: """ + Deletes the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerDeleteProviderResourceRequestProvider @@ -648,6 +687,7 @@ async def provider_resource_controller_delete_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -701,6 +741,8 @@ async def provider_resource_controller_update_provider_resource( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[ProviderResource]: """ + Updates the provider resource identified by its Vapi resource ID. + Parameters ---------- provider : ProviderResourceControllerUpdateProviderResourceRequestProvider @@ -710,6 +752,7 @@ async def provider_resource_controller_update_provider_resource( The resource name (e.g., pronunciation-dictionary) id : str + The unique identifier of the provider resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. diff --git a/src/vapi/provider_resources/types/__init__.py b/src/vapi/provider_resources/types/__init__.py index ea0f5ab0..d52db6af 100644 --- a/src/vapi/provider_resources/types/__init__.py +++ b/src/vapi/provider_resources/types/__init__.py @@ -30,6 +30,9 @@ from .provider_resource_controller_get_provider_resources_paginated_request_resource_name import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName, ) + from .provider_resource_controller_get_provider_resources_paginated_request_sort_by import ( + ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy, + ) from .provider_resource_controller_get_provider_resources_paginated_request_sort_order import ( ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder, ) @@ -48,6 +51,7 @@ "ProviderResourceControllerGetProviderResourceRequestResourceName": ".provider_resource_controller_get_provider_resource_request_resource_name", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider": ".provider_resource_controller_get_provider_resources_paginated_request_provider", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName": ".provider_resource_controller_get_provider_resources_paginated_request_resource_name", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy": ".provider_resource_controller_get_provider_resources_paginated_request_sort_by", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder": ".provider_resource_controller_get_provider_resources_paginated_request_sort_order", "ProviderResourceControllerUpdateProviderResourceRequestProvider": ".provider_resource_controller_update_provider_resource_request_provider", "ProviderResourceControllerUpdateProviderResourceRequestResourceName": ".provider_resource_controller_update_provider_resource_request_resource_name", @@ -84,6 +88,7 @@ def __dir__(): "ProviderResourceControllerGetProviderResourceRequestResourceName", "ProviderResourceControllerGetProviderResourcesPaginatedRequestProvider", "ProviderResourceControllerGetProviderResourcesPaginatedRequestResourceName", + "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy", "ProviderResourceControllerGetProviderResourcesPaginatedRequestSortOrder", "ProviderResourceControllerUpdateProviderResourceRequestProvider", "ProviderResourceControllerUpdateProviderResourceRequestResourceName", diff --git a/src/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.py b/src/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.py new file mode 100644 index 00000000..8c47a823 --- /dev/null +++ b/src/vapi/provider_resources/types/provider_resource_controller_get_provider_resources_paginated_request_sort_by.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ProviderResourceControllerGetProviderResourcesPaginatedRequestSortBy = typing.Union[ + typing.Literal["createdAt", "duration", "cost"], typing.Any +] diff --git a/src/vapi/sessions/__init__.py b/src/vapi/sessions/__init__.py index 6d7370db..2a29c959 100644 --- a/src/vapi/sessions/__init__.py +++ b/src/vapi/sessions/__init__.py @@ -9,6 +9,7 @@ from .types import ( CreateSessionDtoMessagesItem, CreateSessionDtoStatus, + ListSessionsRequestSortBy, ListSessionsRequestSortOrder, UpdateSessionDtoMessagesItem, UpdateSessionDtoStatus, @@ -16,6 +17,7 @@ _dynamic_imports: typing.Dict[str, str] = { "CreateSessionDtoMessagesItem": ".types", "CreateSessionDtoStatus": ".types", + "ListSessionsRequestSortBy": ".types", "ListSessionsRequestSortOrder": ".types", "UpdateSessionDtoMessagesItem": ".types", "UpdateSessionDtoStatus": ".types", @@ -46,6 +48,7 @@ def __dir__(): __all__ = [ "CreateSessionDtoMessagesItem", "CreateSessionDtoStatus", + "ListSessionsRequestSortBy", "ListSessionsRequestSortOrder", "UpdateSessionDtoMessagesItem", "UpdateSessionDtoStatus", diff --git a/src/vapi/sessions/client.py b/src/vapi/sessions/client.py index 9a5c0dba..d388f138 100644 --- a/src/vapi/sessions/client.py +++ b/src/vapi/sessions/client.py @@ -15,6 +15,7 @@ from .raw_client import AsyncRawSessionsClient, RawSessionsClient from .types.create_session_dto_messages_item import CreateSessionDtoMessagesItem from .types.create_session_dto_status import CreateSessionDtoStatus +from .types.list_sessions_request_sort_by import ListSessionsRequestSortBy from .types.list_sessions_request_sort_order import ListSessionsRequestSortOrder from .types.update_session_dto_messages_item import UpdateSessionDtoMessagesItem from .types.update_session_dto_status import UpdateSessionDtoStatus @@ -50,6 +51,7 @@ def list( number_e_164_check_enabled: typing.Optional[bool] = None, extension: typing.Optional[str] = None, assistant_overrides: typing.Optional[str] = None, + squad_overrides: typing.Optional[str] = None, number: typing.Optional[str] = None, sip_uri: typing.Optional[str] = None, email: typing.Optional[str] = None, @@ -59,6 +61,7 @@ def list( phone_number_id_any: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListSessionsRequestSortOrder] = None, + sort_by: typing.Optional[ListSessionsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -111,6 +114,11 @@ def list( These are the overrides for the assistant's settings and template variables specific to this customer. This allows customization of the assistant's behavior for individual customers in batch calls. + squad_overrides : typing.Optional[str] + These are the overrides applied when the call targets a `squadId`. Mirrors + the call-level `squadOverrides` — use this instead of `assistantOverrides` + when the campaign or call is squad-based. + number : typing.Optional[str] This is the number of the customer. @@ -138,6 +146,9 @@ def list( sort_order : typing.Optional[ListSessionsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListSessionsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -195,6 +206,7 @@ def list( number_e_164_check_enabled=number_e_164_check_enabled, extension=extension, assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, number=number, sip_uri=sip_uri, email=email, @@ -204,6 +216,7 @@ def list( phone_number_id_any=phone_number_id_any, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -321,6 +334,7 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -349,6 +363,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -386,6 +401,7 @@ def update( Parameters ---------- id : str + The unique identifier for the resource. name : typing.Optional[str] This is the new name for the session. Maximum length is 40 characters. @@ -456,6 +472,7 @@ async def list( number_e_164_check_enabled: typing.Optional[bool] = None, extension: typing.Optional[str] = None, assistant_overrides: typing.Optional[str] = None, + squad_overrides: typing.Optional[str] = None, number: typing.Optional[str] = None, sip_uri: typing.Optional[str] = None, email: typing.Optional[str] = None, @@ -465,6 +482,7 @@ async def list( phone_number_id_any: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListSessionsRequestSortOrder] = None, + sort_by: typing.Optional[ListSessionsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -517,6 +535,11 @@ async def list( These are the overrides for the assistant's settings and template variables specific to this customer. This allows customization of the assistant's behavior for individual customers in batch calls. + squad_overrides : typing.Optional[str] + These are the overrides applied when the call targets a `squadId`. Mirrors + the call-level `squadOverrides` — use this instead of `assistantOverrides` + when the campaign or call is squad-based. + number : typing.Optional[str] This is the number of the customer. @@ -544,6 +567,9 @@ async def list( sort_order : typing.Optional[ListSessionsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListSessionsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -609,6 +635,7 @@ async def main() -> None: number_e_164_check_enabled=number_e_164_check_enabled, extension=extension, assistant_overrides=assistant_overrides, + squad_overrides=squad_overrides, number=number, sip_uri=sip_uri, email=email, @@ -618,6 +645,7 @@ async def main() -> None: phone_number_id_any=phone_number_id_any, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -743,6 +771,7 @@ async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -779,6 +808,7 @@ async def delete(self, id: str, *, request_options: typing.Optional[RequestOptio Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -824,6 +854,7 @@ async def update( Parameters ---------- id : str + The unique identifier for the resource. name : typing.Optional[str] This is the new name for the session. Maximum length is 40 characters. diff --git a/src/vapi/sessions/raw_client.py b/src/vapi/sessions/raw_client.py index b4441c8b..e75a0954 100644 --- a/src/vapi/sessions/raw_client.py +++ b/src/vapi/sessions/raw_client.py @@ -22,6 +22,7 @@ from ..types.session_paginated_response import SessionPaginatedResponse from .types.create_session_dto_messages_item import CreateSessionDtoMessagesItem from .types.create_session_dto_status import CreateSessionDtoStatus +from .types.list_sessions_request_sort_by import ListSessionsRequestSortBy from .types.list_sessions_request_sort_order import ListSessionsRequestSortOrder from .types.update_session_dto_messages_item import UpdateSessionDtoMessagesItem from .types.update_session_dto_status import UpdateSessionDtoStatus @@ -47,6 +48,7 @@ def list( number_e_164_check_enabled: typing.Optional[bool] = None, extension: typing.Optional[str] = None, assistant_overrides: typing.Optional[str] = None, + squad_overrides: typing.Optional[str] = None, number: typing.Optional[str] = None, sip_uri: typing.Optional[str] = None, email: typing.Optional[str] = None, @@ -56,6 +58,7 @@ def list( phone_number_id_any: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListSessionsRequestSortOrder] = None, + sort_by: typing.Optional[ListSessionsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -108,6 +111,11 @@ def list( These are the overrides for the assistant's settings and template variables specific to this customer. This allows customization of the assistant's behavior for individual customers in batch calls. + squad_overrides : typing.Optional[str] + These are the overrides applied when the call targets a `squadId`. Mirrors + the call-level `squadOverrides` — use this instead of `assistantOverrides` + when the campaign or call is squad-based. + number : typing.Optional[str] This is the number of the customer. @@ -135,6 +143,9 @@ def list( sort_order : typing.Optional[ListSessionsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListSessionsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -183,6 +194,7 @@ def list( "numberE164CheckEnabled": number_e_164_check_enabled, "extension": extension, "assistantOverrides": assistant_overrides, + "squadOverrides": squad_overrides, "number": number, "sipUri": sip_uri, "email": email, @@ -192,6 +204,7 @@ def list( "phoneNumberIdAny": phone_number_id_any, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -355,6 +368,7 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -393,6 +407,7 @@ def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -440,6 +455,7 @@ def update( Parameters ---------- id : str + The unique identifier for the resource. name : typing.Optional[str] This is the new name for the session. Maximum length is 40 characters. @@ -514,6 +530,7 @@ async def list( number_e_164_check_enabled: typing.Optional[bool] = None, extension: typing.Optional[str] = None, assistant_overrides: typing.Optional[str] = None, + squad_overrides: typing.Optional[str] = None, number: typing.Optional[str] = None, sip_uri: typing.Optional[str] = None, email: typing.Optional[str] = None, @@ -523,6 +540,7 @@ async def list( phone_number_id_any: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[ListSessionsRequestSortOrder] = None, + sort_by: typing.Optional[ListSessionsRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -575,6 +593,11 @@ async def list( These are the overrides for the assistant's settings and template variables specific to this customer. This allows customization of the assistant's behavior for individual customers in batch calls. + squad_overrides : typing.Optional[str] + These are the overrides applied when the call targets a `squadId`. Mirrors + the call-level `squadOverrides` — use this instead of `assistantOverrides` + when the campaign or call is squad-based. + number : typing.Optional[str] This is the number of the customer. @@ -602,6 +625,9 @@ async def list( sort_order : typing.Optional[ListSessionsRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[ListSessionsRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -650,6 +676,7 @@ async def list( "numberE164CheckEnabled": number_e_164_check_enabled, "extension": extension, "assistantOverrides": assistant_overrides, + "squadOverrides": squad_overrides, "number": number, "sipUri": sip_uri, "email": email, @@ -659,6 +686,7 @@ async def list( "phoneNumberIdAny": phone_number_id_any, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -824,6 +852,7 @@ async def get( Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -864,6 +893,7 @@ async def delete( Parameters ---------- id : str + The unique identifier for the resource. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -911,6 +941,7 @@ async def update( Parameters ---------- id : str + The unique identifier for the resource. name : typing.Optional[str] This is the new name for the session. Maximum length is 40 characters. diff --git a/src/vapi/sessions/types/__init__.py b/src/vapi/sessions/types/__init__.py index e849c710..1df38f4b 100644 --- a/src/vapi/sessions/types/__init__.py +++ b/src/vapi/sessions/types/__init__.py @@ -8,12 +8,14 @@ if typing.TYPE_CHECKING: from .create_session_dto_messages_item import CreateSessionDtoMessagesItem from .create_session_dto_status import CreateSessionDtoStatus + from .list_sessions_request_sort_by import ListSessionsRequestSortBy from .list_sessions_request_sort_order import ListSessionsRequestSortOrder from .update_session_dto_messages_item import UpdateSessionDtoMessagesItem from .update_session_dto_status import UpdateSessionDtoStatus _dynamic_imports: typing.Dict[str, str] = { "CreateSessionDtoMessagesItem": ".create_session_dto_messages_item", "CreateSessionDtoStatus": ".create_session_dto_status", + "ListSessionsRequestSortBy": ".list_sessions_request_sort_by", "ListSessionsRequestSortOrder": ".list_sessions_request_sort_order", "UpdateSessionDtoMessagesItem": ".update_session_dto_messages_item", "UpdateSessionDtoStatus": ".update_session_dto_status", @@ -44,6 +46,7 @@ def __dir__(): __all__ = [ "CreateSessionDtoMessagesItem", "CreateSessionDtoStatus", + "ListSessionsRequestSortBy", "ListSessionsRequestSortOrder", "UpdateSessionDtoMessagesItem", "UpdateSessionDtoStatus", diff --git a/src/vapi/sessions/types/list_sessions_request_sort_by.py b/src/vapi/sessions/types/list_sessions_request_sort_by.py new file mode 100644 index 00000000..3d97548a --- /dev/null +++ b/src/vapi/sessions/types/list_sessions_request_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ListSessionsRequestSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/squads/client.py b/src/vapi/squads/client.py index 206efd37..830e9595 100644 --- a/src/vapi/squads/client.py +++ b/src/vapi/squads/client.py @@ -44,6 +44,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Squad]: """ + Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -113,6 +115,8 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> Squad: """ + Creates a squad that coordinates multiple assistants and their handoffs during a conversation. + Parameters ---------- members : typing.Sequence[SquadMemberDto] @@ -154,9 +158,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Squad: """ + Returns the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -182,9 +189,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Squad: """ + Deletes the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -218,9 +228,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> Squad: """ + Updates the specified fields of the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. members : typing.Sequence[SquadMemberDto] This is the list of assistants that make up the squad. @@ -291,6 +304,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[Squad]: """ + Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -368,6 +383,8 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> Squad: """ + Creates a squad that coordinates multiple assistants and their handoffs during a conversation. + Parameters ---------- members : typing.Sequence[SquadMemberDto] @@ -417,9 +434,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Squad: """ + Returns the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -453,9 +473,12 @@ async def main() -> None: async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Squad: """ + Deletes the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -497,9 +520,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> Squad: """ + Updates the specified fields of the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. members : typing.Sequence[SquadMemberDto] This is the list of assistants that make up the squad. diff --git a/src/vapi/squads/raw_client.py b/src/vapi/squads/raw_client.py index 85e0a6a5..c8d37b95 100644 --- a/src/vapi/squads/raw_client.py +++ b/src/vapi/squads/raw_client.py @@ -41,6 +41,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.List[Squad]]: """ + Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -122,6 +124,8 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Squad]: """ + Creates a squad that coordinates multiple assistants and their handoffs during a conversation. + Parameters ---------- members : typing.Sequence[SquadMemberDto] @@ -181,9 +185,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Squad]: """ + Returns the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -219,9 +226,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[Squad]: """ + Deletes the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -265,9 +275,12 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Squad]: """ + Updates the specified fields of the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. members : typing.Sequence[SquadMemberDto] This is the list of assistants that make up the squad. @@ -347,6 +360,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.List[Squad]]: """ + Returns squads for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -428,6 +443,8 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Squad]: """ + Creates a squad that coordinates multiple assistants and their handoffs during a conversation. + Parameters ---------- members : typing.Sequence[SquadMemberDto] @@ -489,9 +506,12 @@ async def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Squad]: """ + Returns the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -529,9 +549,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[Squad]: """ + Deletes the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -575,9 +598,12 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Squad]: """ + Updates the specified fields of the squad identified by its ID. + Parameters ---------- id : str + The unique identifier of the squad. members : typing.Sequence[SquadMemberDto] This is the list of assistants that make up the squad. diff --git a/src/vapi/structured_outputs/__init__.py b/src/vapi/structured_outputs/__init__.py index f60dd08b..03bf3a28 100644 --- a/src/vapi/structured_outputs/__init__.py +++ b/src/vapi/structured_outputs/__init__.py @@ -7,7 +7,14 @@ if typing.TYPE_CHECKING: from .types import ( + StructuredOutputControllerFindAllRequestSortBy, StructuredOutputControllerFindAllRequestSortOrder, + StructuredOutputControllerRunResponse, + StructuredOutputControllerRunResponseZero, + UpdateStructuredOutputDtoConditionsItem, + UpdateStructuredOutputDtoConditionsItem_EndedReason, + UpdateStructuredOutputDtoConditionsItem_MinCallDuration, + UpdateStructuredOutputDtoConditionsItem_MinMessages, UpdateStructuredOutputDtoModel, UpdateStructuredOutputDtoModel_Anthropic, UpdateStructuredOutputDtoModel_AnthropicBedrock, @@ -17,7 +24,14 @@ UpdateStructuredOutputDtoType, ) _dynamic_imports: typing.Dict[str, str] = { + "StructuredOutputControllerFindAllRequestSortBy": ".types", "StructuredOutputControllerFindAllRequestSortOrder": ".types", + "StructuredOutputControllerRunResponse": ".types", + "StructuredOutputControllerRunResponseZero": ".types", + "UpdateStructuredOutputDtoConditionsItem": ".types", + "UpdateStructuredOutputDtoConditionsItem_EndedReason": ".types", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration": ".types", + "UpdateStructuredOutputDtoConditionsItem_MinMessages": ".types", "UpdateStructuredOutputDtoModel": ".types", "UpdateStructuredOutputDtoModel_Anthropic": ".types", "UpdateStructuredOutputDtoModel_AnthropicBedrock": ".types", @@ -50,7 +64,14 @@ def __dir__(): __all__ = [ + "StructuredOutputControllerFindAllRequestSortBy", "StructuredOutputControllerFindAllRequestSortOrder", + "StructuredOutputControllerRunResponse", + "StructuredOutputControllerRunResponseZero", + "UpdateStructuredOutputDtoConditionsItem", + "UpdateStructuredOutputDtoConditionsItem_EndedReason", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration", + "UpdateStructuredOutputDtoConditionsItem_MinMessages", "UpdateStructuredOutputDtoModel", "UpdateStructuredOutputDtoModel_Anthropic", "UpdateStructuredOutputDtoModel_AnthropicBedrock", diff --git a/src/vapi/structured_outputs/client.py b/src/vapi/structured_outputs/client.py index b6f98b3a..52544924 100644 --- a/src/vapi/structured_outputs/client.py +++ b/src/vapi/structured_outputs/client.py @@ -7,15 +7,19 @@ from ..core.request_options import RequestOptions from ..types.compliance_override import ComplianceOverride from ..types.create_structured_output_dto import CreateStructuredOutputDto +from ..types.create_structured_output_dto_conditions_item import CreateStructuredOutputDtoConditionsItem from ..types.create_structured_output_dto_model import CreateStructuredOutputDtoModel from ..types.create_structured_output_dto_type import CreateStructuredOutputDtoType from ..types.json_schema import JsonSchema from ..types.structured_output import StructuredOutput from ..types.structured_output_paginated_response import StructuredOutputPaginatedResponse from .raw_client import AsyncRawStructuredOutputsClient, RawStructuredOutputsClient +from .types.structured_output_controller_find_all_request_sort_by import StructuredOutputControllerFindAllRequestSortBy from .types.structured_output_controller_find_all_request_sort_order import ( StructuredOutputControllerFindAllRequestSortOrder, ) +from .types.structured_output_controller_run_response import StructuredOutputControllerRunResponse +from .types.update_structured_output_dto_conditions_item import UpdateStructuredOutputDtoConditionsItem from .types.update_structured_output_dto_model import UpdateStructuredOutputDtoModel from .types.update_structured_output_dto_type import UpdateStructuredOutputDtoType @@ -45,6 +49,7 @@ def structured_output_controller_find_all( name: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[StructuredOutputControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -57,6 +62,8 @@ def structured_output_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutputPaginatedResponse: """ + Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -71,6 +78,9 @@ def structured_output_controller_find_all( sort_order : typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[StructuredOutputControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -120,6 +130,7 @@ def structured_output_controller_find_all( name=name, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -142,12 +153,15 @@ def structured_output_controller_create( regex: typing.Optional[str] = OMIT, model: typing.Optional[CreateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, workflow_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutput: """ + Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression. + Parameters ---------- name : str @@ -202,6 +216,9 @@ def structured_output_controller_create( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + description : typing.Optional[str] This is the description of what the structured output extracts. @@ -246,6 +263,7 @@ def structured_output_controller_create( regex=regex, model=model, compliance_plan=compliance_plan, + conditions=conditions, description=description, assistant_ids=assistant_ids, workflow_ids=workflow_ids, @@ -257,9 +275,12 @@ def structured_output_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> StructuredOutput: """ + Returns the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -287,9 +308,12 @@ def structured_output_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> StructuredOutput: """ + Deletes the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -322,6 +346,7 @@ def structured_output_controller_update( regex: typing.Optional[str] = OMIT, model: typing.Optional[UpdateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] = OMIT, name: typing.Optional[str] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, @@ -330,11 +355,15 @@ def structured_output_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutput: """ + Updates the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. schema_override : str + Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. type : typing.Optional[UpdateStructuredOutputDtoType] This is the type of structured output. @@ -372,6 +401,9 @@ def structured_output_controller_update( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + name : typing.Optional[str] This is the name of the structured output. @@ -428,6 +460,7 @@ def structured_output_controller_update( regex=regex, model=model, compliance_plan=compliance_plan, + conditions=conditions, name=name, description=description, assistant_ids=assistant_ids, @@ -445,8 +478,10 @@ def structured_output_controller_run( structured_output_id: typing.Optional[str] = OMIT, structured_output: typing.Optional[CreateStructuredOutputDto] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> StructuredOutput: + ) -> StructuredOutputControllerRunResponse: """ + Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts. + Parameters ---------- call_ids : typing.Sequence[str] @@ -470,7 +505,7 @@ def structured_output_controller_run( Returns ------- - StructuredOutput + StructuredOutputControllerRunResponse Examples @@ -516,6 +551,7 @@ async def structured_output_controller_find_all( name: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[StructuredOutputControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -528,6 +564,8 @@ async def structured_output_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutputPaginatedResponse: """ + Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -542,6 +580,9 @@ async def structured_output_controller_find_all( sort_order : typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[StructuredOutputControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -599,6 +640,7 @@ async def main() -> None: name=name, page=page, sort_order=sort_order, + sort_by=sort_by, limit=limit, created_at_gt=created_at_gt, created_at_lt=created_at_lt, @@ -621,12 +663,15 @@ async def structured_output_controller_create( regex: typing.Optional[str] = OMIT, model: typing.Optional[CreateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, workflow_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutput: """ + Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression. + Parameters ---------- name : str @@ -681,6 +726,9 @@ async def structured_output_controller_create( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + description : typing.Optional[str] This is the description of what the structured output extracts. @@ -733,6 +781,7 @@ async def main() -> None: regex=regex, model=model, compliance_plan=compliance_plan, + conditions=conditions, description=description, assistant_ids=assistant_ids, workflow_ids=workflow_ids, @@ -744,9 +793,12 @@ async def structured_output_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> StructuredOutput: """ + Returns the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -782,9 +834,12 @@ async def structured_output_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> StructuredOutput: """ + Deletes the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -825,6 +880,7 @@ async def structured_output_controller_update( regex: typing.Optional[str] = OMIT, model: typing.Optional[UpdateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] = OMIT, name: typing.Optional[str] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, @@ -833,11 +889,15 @@ async def structured_output_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> StructuredOutput: """ + Updates the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. schema_override : str + Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. type : typing.Optional[UpdateStructuredOutputDtoType] This is the type of structured output. @@ -875,6 +935,9 @@ async def structured_output_controller_update( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + name : typing.Optional[str] This is the name of the structured output. @@ -939,6 +1002,7 @@ async def main() -> None: regex=regex, model=model, compliance_plan=compliance_plan, + conditions=conditions, name=name, description=description, assistant_ids=assistant_ids, @@ -956,8 +1020,10 @@ async def structured_output_controller_run( structured_output_id: typing.Optional[str] = OMIT, structured_output: typing.Optional[CreateStructuredOutputDto] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> StructuredOutput: + ) -> StructuredOutputControllerRunResponse: """ + Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts. + Parameters ---------- call_ids : typing.Sequence[str] @@ -981,7 +1047,7 @@ async def structured_output_controller_run( Returns ------- - StructuredOutput + StructuredOutputControllerRunResponse Examples diff --git a/src/vapi/structured_outputs/raw_client.py b/src/vapi/structured_outputs/raw_client.py index 40871697..165634fe 100644 --- a/src/vapi/structured_outputs/raw_client.py +++ b/src/vapi/structured_outputs/raw_client.py @@ -15,14 +15,18 @@ from ..core.unchecked_base_model import construct_type from ..types.compliance_override import ComplianceOverride from ..types.create_structured_output_dto import CreateStructuredOutputDto +from ..types.create_structured_output_dto_conditions_item import CreateStructuredOutputDtoConditionsItem from ..types.create_structured_output_dto_model import CreateStructuredOutputDtoModel from ..types.create_structured_output_dto_type import CreateStructuredOutputDtoType from ..types.json_schema import JsonSchema from ..types.structured_output import StructuredOutput from ..types.structured_output_paginated_response import StructuredOutputPaginatedResponse +from .types.structured_output_controller_find_all_request_sort_by import StructuredOutputControllerFindAllRequestSortBy from .types.structured_output_controller_find_all_request_sort_order import ( StructuredOutputControllerFindAllRequestSortOrder, ) +from .types.structured_output_controller_run_response import StructuredOutputControllerRunResponse +from .types.update_structured_output_dto_conditions_item import UpdateStructuredOutputDtoConditionsItem from .types.update_structured_output_dto_model import UpdateStructuredOutputDtoModel from .types.update_structured_output_dto_type import UpdateStructuredOutputDtoType from pydantic import ValidationError @@ -42,6 +46,7 @@ def structured_output_controller_find_all( name: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[StructuredOutputControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -54,6 +59,8 @@ def structured_output_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[StructuredOutputPaginatedResponse]: """ + Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -68,6 +75,9 @@ def structured_output_controller_find_all( sort_order : typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[StructuredOutputControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -111,6 +121,7 @@ def structured_output_controller_find_all( "name": name, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -151,12 +162,15 @@ def structured_output_controller_create( regex: typing.Optional[str] = OMIT, model: typing.Optional[CreateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, workflow_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[StructuredOutput]: """ + Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression. + Parameters ---------- name : str @@ -211,6 +225,9 @@ def structured_output_controller_create( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + description : typing.Optional[str] This is the description of what the structured output extracts. @@ -246,6 +263,11 @@ def structured_output_controller_create( "compliancePlan": convert_and_respect_annotation_metadata( object_=compliance_plan, annotation=ComplianceOverride, direction="write" ), + "conditions": convert_and_respect_annotation_metadata( + object_=conditions, + annotation=typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]], + direction="write", + ), "name": name, "schema": convert_and_respect_annotation_metadata( object_=schema, annotation=JsonSchema, direction="write" @@ -280,9 +302,12 @@ def structured_output_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[StructuredOutput]: """ + Returns the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -320,9 +345,12 @@ def structured_output_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[StructuredOutput]: """ + Deletes the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -365,6 +393,7 @@ def structured_output_controller_update( regex: typing.Optional[str] = OMIT, model: typing.Optional[UpdateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] = OMIT, name: typing.Optional[str] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, @@ -373,11 +402,15 @@ def structured_output_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[StructuredOutput]: """ + Updates the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. schema_override : str + Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. type : typing.Optional[UpdateStructuredOutputDtoType] This is the type of structured output. @@ -415,6 +448,9 @@ def structured_output_controller_update( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + name : typing.Optional[str] This is the name of the structured output. @@ -467,6 +503,11 @@ def structured_output_controller_update( "compliancePlan": convert_and_respect_annotation_metadata( object_=compliance_plan, annotation=ComplianceOverride, direction="write" ), + "conditions": convert_and_respect_annotation_metadata( + object_=conditions, + annotation=typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]], + direction="write", + ), "name": name, "description": description, "assistantIds": assistant_ids, @@ -508,8 +549,10 @@ def structured_output_controller_run( structured_output_id: typing.Optional[str] = OMIT, structured_output: typing.Optional[CreateStructuredOutputDto] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[StructuredOutput]: + ) -> HttpResponse[StructuredOutputControllerRunResponse]: """ + Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts. + Parameters ---------- call_ids : typing.Sequence[str] @@ -533,7 +576,7 @@ def structured_output_controller_run( Returns ------- - HttpResponse[StructuredOutput] + HttpResponse[StructuredOutputControllerRunResponse] """ _response = self._client_wrapper.httpx_client.request( @@ -556,9 +599,9 @@ def structured_output_controller_run( try: if 200 <= _response.status_code < 300: _data = typing.cast( - StructuredOutput, + StructuredOutputControllerRunResponse, construct_type( - type_=StructuredOutput, # type: ignore + type_=StructuredOutputControllerRunResponse, # type: ignore object_=_response.json(), ), ) @@ -584,6 +627,7 @@ async def structured_output_controller_find_all( name: typing.Optional[str] = None, page: typing.Optional[float] = None, sort_order: typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] = None, + sort_by: typing.Optional[StructuredOutputControllerFindAllRequestSortBy] = None, limit: typing.Optional[float] = None, created_at_gt: typing.Optional[dt.datetime] = None, created_at_lt: typing.Optional[dt.datetime] = None, @@ -596,6 +640,8 @@ async def structured_output_controller_find_all( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[StructuredOutputPaginatedResponse]: """ + Returns structured-output definitions for the authenticated organization. Filter results by ID, name, or creation and update timestamps. + Parameters ---------- id : typing.Optional[str] @@ -610,6 +656,9 @@ async def structured_output_controller_find_all( sort_order : typing.Optional[StructuredOutputControllerFindAllRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'. + sort_by : typing.Optional[StructuredOutputControllerFindAllRequestSortBy] + This is the column to sort by. Defaults to 'createdAt'. + limit : typing.Optional[float] This is the maximum number of items to return. Defaults to 100. @@ -653,6 +702,7 @@ async def structured_output_controller_find_all( "name": name, "page": page, "sortOrder": sort_order, + "sortBy": sort_by, "limit": limit, "createdAtGt": serialize_datetime(created_at_gt) if created_at_gt is not None else None, "createdAtLt": serialize_datetime(created_at_lt) if created_at_lt is not None else None, @@ -693,12 +743,15 @@ async def structured_output_controller_create( regex: typing.Optional[str] = OMIT, model: typing.Optional[CreateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, workflow_ids: typing.Optional[typing.Sequence[str]] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[StructuredOutput]: """ + Creates a reusable definition for extracting validated data from conversations using an AI model or regular expression. + Parameters ---------- name : str @@ -753,6 +806,9 @@ async def structured_output_controller_create( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + description : typing.Optional[str] This is the description of what the structured output extracts. @@ -788,6 +844,11 @@ async def structured_output_controller_create( "compliancePlan": convert_and_respect_annotation_metadata( object_=compliance_plan, annotation=ComplianceOverride, direction="write" ), + "conditions": convert_and_respect_annotation_metadata( + object_=conditions, + annotation=typing.Optional[typing.Sequence[CreateStructuredOutputDtoConditionsItem]], + direction="write", + ), "name": name, "schema": convert_and_respect_annotation_metadata( object_=schema, annotation=JsonSchema, direction="write" @@ -822,9 +883,12 @@ async def structured_output_controller_find_one( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[StructuredOutput]: """ + Returns the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -862,9 +926,12 @@ async def structured_output_controller_remove( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[StructuredOutput]: """ + Deletes the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -907,6 +974,7 @@ async def structured_output_controller_update( regex: typing.Optional[str] = OMIT, model: typing.Optional[UpdateStructuredOutputDtoModel] = OMIT, compliance_plan: typing.Optional[ComplianceOverride] = OMIT, + conditions: typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] = OMIT, name: typing.Optional[str] = OMIT, description: typing.Optional[str] = OMIT, assistant_ids: typing.Optional[typing.Sequence[str]] = OMIT, @@ -915,11 +983,15 @@ async def structured_output_controller_update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[StructuredOutput]: """ + Updates the structured-output definition identified by its ID. + Parameters ---------- id : str + The unique identifier of the structured output. schema_override : str + Set to the string `true` to allow changing the schema's top-level type. Other values do not enable schema type changes. type : typing.Optional[UpdateStructuredOutputDtoType] This is the type of structured output. @@ -957,6 +1029,9 @@ async def structured_output_controller_update( compliance_plan : typing.Optional[ComplianceOverride] Compliance configuration for this output. Only enable overrides if no sensitive data will be stored. + conditions : typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]] + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + name : typing.Optional[str] This is the name of the structured output. @@ -1009,6 +1084,11 @@ async def structured_output_controller_update( "compliancePlan": convert_and_respect_annotation_metadata( object_=compliance_plan, annotation=ComplianceOverride, direction="write" ), + "conditions": convert_and_respect_annotation_metadata( + object_=conditions, + annotation=typing.Optional[typing.Sequence[UpdateStructuredOutputDtoConditionsItem]], + direction="write", + ), "name": name, "description": description, "assistantIds": assistant_ids, @@ -1050,8 +1130,10 @@ async def structured_output_controller_run( structured_output_id: typing.Optional[str] = OMIT, structured_output: typing.Optional[CreateStructuredOutputDto] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[StructuredOutput]: + ) -> AsyncHttpResponse[StructuredOutputControllerRunResponse]: """ + Runs a saved or transient structured-output definition against one or more calls, optionally returning a preview without updating call artifacts. + Parameters ---------- call_ids : typing.Sequence[str] @@ -1075,7 +1157,7 @@ async def structured_output_controller_run( Returns ------- - AsyncHttpResponse[StructuredOutput] + AsyncHttpResponse[StructuredOutputControllerRunResponse] """ _response = await self._client_wrapper.httpx_client.request( @@ -1098,9 +1180,9 @@ async def structured_output_controller_run( try: if 200 <= _response.status_code < 300: _data = typing.cast( - StructuredOutput, + StructuredOutputControllerRunResponse, construct_type( - type_=StructuredOutput, # type: ignore + type_=StructuredOutputControllerRunResponse, # type: ignore object_=_response.json(), ), ) diff --git a/src/vapi/structured_outputs/types/__init__.py b/src/vapi/structured_outputs/types/__init__.py index 24fb49b7..6071ec04 100644 --- a/src/vapi/structured_outputs/types/__init__.py +++ b/src/vapi/structured_outputs/types/__init__.py @@ -6,9 +6,18 @@ from importlib import import_module if typing.TYPE_CHECKING: + from .structured_output_controller_find_all_request_sort_by import StructuredOutputControllerFindAllRequestSortBy from .structured_output_controller_find_all_request_sort_order import ( StructuredOutputControllerFindAllRequestSortOrder, ) + from .structured_output_controller_run_response import StructuredOutputControllerRunResponse + from .structured_output_controller_run_response_zero import StructuredOutputControllerRunResponseZero + from .update_structured_output_dto_conditions_item import ( + UpdateStructuredOutputDtoConditionsItem, + UpdateStructuredOutputDtoConditionsItem_EndedReason, + UpdateStructuredOutputDtoConditionsItem_MinCallDuration, + UpdateStructuredOutputDtoConditionsItem_MinMessages, + ) from .update_structured_output_dto_model import ( UpdateStructuredOutputDtoModel, UpdateStructuredOutputDtoModel_Anthropic, @@ -19,7 +28,14 @@ ) from .update_structured_output_dto_type import UpdateStructuredOutputDtoType _dynamic_imports: typing.Dict[str, str] = { + "StructuredOutputControllerFindAllRequestSortBy": ".structured_output_controller_find_all_request_sort_by", "StructuredOutputControllerFindAllRequestSortOrder": ".structured_output_controller_find_all_request_sort_order", + "StructuredOutputControllerRunResponse": ".structured_output_controller_run_response", + "StructuredOutputControllerRunResponseZero": ".structured_output_controller_run_response_zero", + "UpdateStructuredOutputDtoConditionsItem": ".update_structured_output_dto_conditions_item", + "UpdateStructuredOutputDtoConditionsItem_EndedReason": ".update_structured_output_dto_conditions_item", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration": ".update_structured_output_dto_conditions_item", + "UpdateStructuredOutputDtoConditionsItem_MinMessages": ".update_structured_output_dto_conditions_item", "UpdateStructuredOutputDtoModel": ".update_structured_output_dto_model", "UpdateStructuredOutputDtoModel_Anthropic": ".update_structured_output_dto_model", "UpdateStructuredOutputDtoModel_AnthropicBedrock": ".update_structured_output_dto_model", @@ -52,7 +68,14 @@ def __dir__(): __all__ = [ + "StructuredOutputControllerFindAllRequestSortBy", "StructuredOutputControllerFindAllRequestSortOrder", + "StructuredOutputControllerRunResponse", + "StructuredOutputControllerRunResponseZero", + "UpdateStructuredOutputDtoConditionsItem", + "UpdateStructuredOutputDtoConditionsItem_EndedReason", + "UpdateStructuredOutputDtoConditionsItem_MinCallDuration", + "UpdateStructuredOutputDtoConditionsItem_MinMessages", "UpdateStructuredOutputDtoModel", "UpdateStructuredOutputDtoModel_Anthropic", "UpdateStructuredOutputDtoModel_AnthropicBedrock", diff --git a/src/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.py b/src/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.py new file mode 100644 index 00000000..39753d80 --- /dev/null +++ b/src/vapi/structured_outputs/types/structured_output_controller_find_all_request_sort_by.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +StructuredOutputControllerFindAllRequestSortBy = typing.Union[ + typing.Literal["createdAt", "duration", "cost"], typing.Any +] diff --git a/src/vapi/structured_outputs/types/structured_output_controller_run_response.py b/src/vapi/structured_outputs/types/structured_output_controller_run_response.py new file mode 100644 index 00000000..ea59ddde --- /dev/null +++ b/src/vapi/structured_outputs/types/structured_output_controller_run_response.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ...types.structured_output_rerun_response import StructuredOutputRerunResponse +from .structured_output_controller_run_response_zero import StructuredOutputControllerRunResponseZero + +StructuredOutputControllerRunResponse = typing.Union[ + StructuredOutputControllerRunResponseZero, StructuredOutputRerunResponse +] diff --git a/src/vapi/structured_outputs/types/structured_output_controller_run_response_zero.py b/src/vapi/structured_outputs/types/structured_output_controller_run_response_zero.py new file mode 100644 index 00000000..8b37711f --- /dev/null +++ b/src/vapi/structured_outputs/types/structured_output_controller_run_response_zero.py @@ -0,0 +1,26 @@ +# 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 ...types.skipped_structured_output import SkippedStructuredOutput + + +class StructuredOutputControllerRunResponseZero(UncheckedBaseModel): + skipped: typing.Optional[typing.Dict[str, SkippedStructuredOutput]] = pydantic.Field(default=None) + """ + These are the structured outputs whose conditions gated them, keyed by + structured output id. Absent when nothing was skipped. An entry here means + no extraction ran and no cost was incurred for that output. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.py b/src/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.py new file mode 100644 index 00000000..c3133e1d --- /dev/null +++ b/src/vapi/structured_outputs/types/update_structured_output_dto_conditions_item.py @@ -0,0 +1,64 @@ +# 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 +from ...types.ended_reason_condition_operator import EndedReasonConditionOperator + + +class UpdateStructuredOutputDtoConditionsItem_MinMessages(UncheckedBaseModel): + type: typing.Literal["minMessages"] = "minMessages" + count: 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 + + +class UpdateStructuredOutputDtoConditionsItem_MinCallDuration(UncheckedBaseModel): + type: typing.Literal["minCallDuration"] = "minCallDuration" + seconds: 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 + + +class UpdateStructuredOutputDtoConditionsItem_EndedReason(UncheckedBaseModel): + type: typing.Literal["endedReason"] = "endedReason" + operator: EndedReasonConditionOperator + values: typing.List[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 + + +UpdateStructuredOutputDtoConditionsItem = typing_extensions.Annotated[ + typing.Union[ + UpdateStructuredOutputDtoConditionsItem_MinMessages, + UpdateStructuredOutputDtoConditionsItem_MinCallDuration, + UpdateStructuredOutputDtoConditionsItem_EndedReason, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/structured_outputs/types/update_structured_output_dto_model.py b/src/vapi/structured_outputs/types/update_structured_output_dto_model.py index f8850dfe..887bf675 100644 --- a/src/vapi/structured_outputs/types/update_structured_output_dto_model.py +++ b/src/vapi/structured_outputs/types/update_structured_output_dto_model.py @@ -10,6 +10,7 @@ from ...core.serialization import FieldMetadata from ...core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from ...types.anthropic_thinking_config import AnthropicThinkingConfig +from ...types.open_ai_message import OpenAiMessage from ...types.workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from ...types.workflow_anthropic_model_model import WorkflowAnthropicModelModel from ...types.workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -35,6 +36,7 @@ class UpdateStructuredOutputDtoModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -69,6 +71,7 @@ class UpdateStructuredOutputDtoModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -104,6 +107,7 @@ class UpdateStructuredOutputDtoModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -139,6 +143,7 @@ class UpdateStructuredOutputDtoModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -173,6 +178,7 @@ class UpdateStructuredOutputDtoModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/tools/client.py b/src/vapi/tools/client.py index 208314a1..6942d5eb 100644 --- a/src/vapi/tools/client.py +++ b/src/vapi/tools/client.py @@ -48,6 +48,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[ListToolsResponseItem]: """ + Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -112,6 +114,8 @@ def create( self, *, request: CreateToolsRequest, request_options: typing.Optional[RequestOptions] = None ) -> CreateToolsResponse: """ + Creates a reusable tool that assistants can invoke during conversations. + Parameters ---------- request : CreateToolsRequest @@ -144,9 +148,12 @@ def create( def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetToolsResponse: """ + Returns the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -172,9 +179,12 @@ def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = Non def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeleteToolsResponse: """ + Deletes the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -202,9 +212,12 @@ def update( self, id: str, *, request: UpdateToolsRequestBody, request_options: typing.Optional[RequestOptions] = None ) -> UpdateToolsResponse: """ + Updates the specified fields of the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request : UpdateToolsRequestBody @@ -263,6 +276,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[ListToolsResponseItem]: """ + Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -335,6 +350,8 @@ async def create( self, *, request: CreateToolsRequest, request_options: typing.Optional[RequestOptions] = None ) -> CreateToolsResponse: """ + Creates a reusable tool that assistants can invoke during conversations. + Parameters ---------- request : CreateToolsRequest @@ -375,9 +392,12 @@ async def main() -> None: async def get(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetToolsResponse: """ + Returns the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -411,9 +431,12 @@ async def main() -> None: async def delete(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeleteToolsResponse: """ + Deletes the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -449,9 +472,12 @@ async def update( self, id: str, *, request: UpdateToolsRequestBody, request_options: typing.Optional[RequestOptions] = None ) -> UpdateToolsResponse: """ + Updates the specified fields of the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request : UpdateToolsRequestBody diff --git a/src/vapi/tools/raw_client.py b/src/vapi/tools/raw_client.py index 7c3cc896..e783783d 100644 --- a/src/vapi/tools/raw_client.py +++ b/src/vapi/tools/raw_client.py @@ -13,6 +13,7 @@ from ..core.request_options import RequestOptions from ..core.serialization import convert_and_respect_annotation_metadata from ..core.unchecked_base_model import construct_type +from ..errors.conflict_error import ConflictError from .types.create_tools_request import CreateToolsRequest from .types.create_tools_response import CreateToolsResponse from .types.delete_tools_response import DeleteToolsResponse @@ -45,6 +46,8 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.List[ListToolsResponseItem]]: """ + Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -121,6 +124,8 @@ def create( self, *, request: CreateToolsRequest, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[CreateToolsResponse]: """ + Creates a reusable tool that assistants can invoke during conversations. + Parameters ---------- request : CreateToolsRequest @@ -165,9 +170,12 @@ def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[GetToolsResponse]: """ + Returns the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -205,9 +213,12 @@ def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[DeleteToolsResponse]: """ + Deletes the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -232,6 +243,17 @@ def delete( ), ) return HttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -245,9 +267,12 @@ def update( self, id: str, *, request: UpdateToolsRequestBody, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[UpdateToolsResponse]: """ + Updates the specified fields of the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request : UpdateToolsRequestBody @@ -310,6 +335,8 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.List[ListToolsResponseItem]]: """ + Returns reusable tools for the authenticated organization. Filter results by creation or update timestamps and limit the number returned. + Parameters ---------- limit : typing.Optional[float] @@ -386,6 +413,8 @@ async def create( self, *, request: CreateToolsRequest, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[CreateToolsResponse]: """ + Creates a reusable tool that assistants can invoke during conversations. + Parameters ---------- request : CreateToolsRequest @@ -430,9 +459,12 @@ async def get( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[GetToolsResponse]: """ + Returns the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -470,9 +502,12 @@ async def delete( self, id: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[DeleteToolsResponse]: """ + Deletes the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -497,6 +532,17 @@ async def delete( ), ) return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 409: + raise ConflictError( + headers=dict(_response.headers), + body=typing.cast( + typing.Any, + construct_type( + type_=typing.Any, # type: ignore + object_=_response.json(), + ), + ), + ) _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text) @@ -510,9 +556,12 @@ async def update( self, id: str, *, request: UpdateToolsRequestBody, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[UpdateToolsResponse]: """ + Updates the specified fields of the tool identified by its ID. + Parameters ---------- id : str + The unique identifier of the tool. request : UpdateToolsRequestBody diff --git a/src/vapi/tools/types/create_tools_request.py b/src/vapi/tools/types/create_tools_request.py index 59f6b633..7d85d27f 100644 --- a/src/vapi/tools/types/create_tools_request.py +++ b/src/vapi/tools/types/create_tools_request.py @@ -69,6 +69,7 @@ class CreateToolsRequest_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -80,7 +81,6 @@ class CreateToolsRequest_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -572,8 +572,12 @@ class Config: from ...types.call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from ...types.call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from ...types.call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from ...types.call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from ...types.cerebras_model import CerebrasModel # noqa: E402, I001 from ...types.cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from ...types.conversation_node import ConversationNode # noqa: E402, I001 +from ...types.conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from ...types.create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from ...types.create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from ...types.create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -608,6 +612,13 @@ class Config: from ...types.together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from ...types.tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from ...types.tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from ...types.tool_node import ToolNode # noqa: E402, I001 +from ...types.tool_node_tool import ToolNodeTool # noqa: E402, I001 +from ...types.vapi_model import VapiModel # noqa: E402, I001 +from ...types.vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from ...types.workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from ...types.workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from ...types.workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from ...types.xai_model import XaiModel # noqa: E402, I001 from ...types.xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -636,8 +647,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -672,6 +687,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/tools/types/create_tools_response.py b/src/vapi/tools/types/create_tools_response.py index 5b45014f..ca05c524 100644 --- a/src/vapi/tools/types/create_tools_response.py +++ b/src/vapi/tools/types/create_tools_response.py @@ -64,7 +64,11 @@ class CreateToolsResponse_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None + name: typing.Optional[str] = None method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -87,7 +91,6 @@ class CreateToolsResponse_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -113,6 +116,9 @@ class Config: class CreateToolsResponse_Code(UncheckedBaseModel): type: typing.Literal["code"] = "code" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -160,6 +166,9 @@ class Config: class CreateToolsResponse_Dtmf(UncheckedBaseModel): type: typing.Literal["dtmf"] = "dtmf" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -188,6 +197,9 @@ class Config: class CreateToolsResponse_EndCall(UncheckedBaseModel): type: typing.Literal["endCall"] = "endCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -213,6 +225,9 @@ class Config: class CreateToolsResponse_Function(UncheckedBaseModel): type: typing.Literal["function"] = "function" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -249,6 +264,9 @@ class Config: class CreateToolsResponse_TransferCall(UncheckedBaseModel): type: typing.Literal["transferCall"] = "transferCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -275,6 +293,9 @@ class Config: class CreateToolsResponse_Handoff(UncheckedBaseModel): type: typing.Literal["handoff"] = "handoff" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -305,6 +326,9 @@ class Config: class CreateToolsResponse_Bash(UncheckedBaseModel): type: typing.Literal["bash"] = "bash" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -335,6 +359,9 @@ class Config: class CreateToolsResponse_Computer(UncheckedBaseModel): type: typing.Literal["computer"] = "computer" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -374,6 +401,9 @@ class Config: class CreateToolsResponse_TextEditor(UncheckedBaseModel): type: typing.Literal["textEditor"] = "textEditor" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -404,6 +434,9 @@ class Config: class CreateToolsResponse_Query(UncheckedBaseModel): type: typing.Literal["query"] = "query" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -434,6 +467,9 @@ class Config: class CreateToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["google.calendar.event.create"] = "google.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -459,6 +495,9 @@ class Config: class CreateToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): type: typing.Literal["google.sheets.row.append"] = "google.sheets.row.append" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -484,6 +523,9 @@ class Config: class CreateToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["google.calendar.availability.check"] = "google.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -509,6 +551,9 @@ class Config: class CreateToolsResponse_SlackMessageSend(UncheckedBaseModel): type: typing.Literal["slack.message.send"] = "slack.message.send" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +579,9 @@ class Config: class CreateToolsResponse_Sms(UncheckedBaseModel): type: typing.Literal["sms"] = "sms" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -559,6 +607,9 @@ class Config: class CreateToolsResponse_Mcp(UncheckedBaseModel): type: typing.Literal["mcp"] = "mcp" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -591,6 +642,9 @@ class Config: class CreateToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.availability.check"] = "gohighlevel.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -616,6 +670,9 @@ class Config: class CreateToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.event.create"] = "gohighlevel.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -641,6 +698,9 @@ class Config: class CreateToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.create"] = "gohighlevel.contact.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -666,6 +726,9 @@ class Config: class CreateToolsResponse_GohighlevelContactGet(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.get"] = "gohighlevel.contact.get" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -691,6 +754,9 @@ class Config: class CreateToolsResponse_SipRequest(UncheckedBaseModel): type: typing.Literal["sipRequest"] = "sipRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -719,6 +785,9 @@ class Config: class CreateToolsResponse_Voicemail(UncheckedBaseModel): type: typing.Literal["voicemail"] = "voicemail" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") diff --git a/src/vapi/tools/types/delete_tools_response.py b/src/vapi/tools/types/delete_tools_response.py index 36bb9664..42a61d06 100644 --- a/src/vapi/tools/types/delete_tools_response.py +++ b/src/vapi/tools/types/delete_tools_response.py @@ -64,7 +64,11 @@ class DeleteToolsResponse_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None + name: typing.Optional[str] = None method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -87,7 +91,6 @@ class DeleteToolsResponse_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -113,6 +116,9 @@ class Config: class DeleteToolsResponse_Code(UncheckedBaseModel): type: typing.Literal["code"] = "code" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -160,6 +166,9 @@ class Config: class DeleteToolsResponse_Dtmf(UncheckedBaseModel): type: typing.Literal["dtmf"] = "dtmf" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -188,6 +197,9 @@ class Config: class DeleteToolsResponse_EndCall(UncheckedBaseModel): type: typing.Literal["endCall"] = "endCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -213,6 +225,9 @@ class Config: class DeleteToolsResponse_Function(UncheckedBaseModel): type: typing.Literal["function"] = "function" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -249,6 +264,9 @@ class Config: class DeleteToolsResponse_TransferCall(UncheckedBaseModel): type: typing.Literal["transferCall"] = "transferCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -275,6 +293,9 @@ class Config: class DeleteToolsResponse_Handoff(UncheckedBaseModel): type: typing.Literal["handoff"] = "handoff" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -305,6 +326,9 @@ class Config: class DeleteToolsResponse_Bash(UncheckedBaseModel): type: typing.Literal["bash"] = "bash" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -335,6 +359,9 @@ class Config: class DeleteToolsResponse_Computer(UncheckedBaseModel): type: typing.Literal["computer"] = "computer" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -374,6 +401,9 @@ class Config: class DeleteToolsResponse_TextEditor(UncheckedBaseModel): type: typing.Literal["textEditor"] = "textEditor" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -404,6 +434,9 @@ class Config: class DeleteToolsResponse_Query(UncheckedBaseModel): type: typing.Literal["query"] = "query" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -434,6 +467,9 @@ class Config: class DeleteToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["google.calendar.event.create"] = "google.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -459,6 +495,9 @@ class Config: class DeleteToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): type: typing.Literal["google.sheets.row.append"] = "google.sheets.row.append" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -484,6 +523,9 @@ class Config: class DeleteToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["google.calendar.availability.check"] = "google.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -509,6 +551,9 @@ class Config: class DeleteToolsResponse_SlackMessageSend(UncheckedBaseModel): type: typing.Literal["slack.message.send"] = "slack.message.send" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +579,9 @@ class Config: class DeleteToolsResponse_Sms(UncheckedBaseModel): type: typing.Literal["sms"] = "sms" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -559,6 +607,9 @@ class Config: class DeleteToolsResponse_Mcp(UncheckedBaseModel): type: typing.Literal["mcp"] = "mcp" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -591,6 +642,9 @@ class Config: class DeleteToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.availability.check"] = "gohighlevel.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -616,6 +670,9 @@ class Config: class DeleteToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.event.create"] = "gohighlevel.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -641,6 +698,9 @@ class Config: class DeleteToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.create"] = "gohighlevel.contact.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -666,6 +726,9 @@ class Config: class DeleteToolsResponse_GohighlevelContactGet(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.get"] = "gohighlevel.contact.get" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -691,6 +754,9 @@ class Config: class DeleteToolsResponse_SipRequest(UncheckedBaseModel): type: typing.Literal["sipRequest"] = "sipRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -719,6 +785,9 @@ class Config: class DeleteToolsResponse_Voicemail(UncheckedBaseModel): type: typing.Literal["voicemail"] = "voicemail" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") diff --git a/src/vapi/tools/types/get_tools_response.py b/src/vapi/tools/types/get_tools_response.py index 58db2ed8..bd0ed450 100644 --- a/src/vapi/tools/types/get_tools_response.py +++ b/src/vapi/tools/types/get_tools_response.py @@ -64,7 +64,11 @@ class GetToolsResponse_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None + name: typing.Optional[str] = None method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -87,7 +91,6 @@ class GetToolsResponse_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -113,6 +116,9 @@ class Config: class GetToolsResponse_Code(UncheckedBaseModel): type: typing.Literal["code"] = "code" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -160,6 +166,9 @@ class Config: class GetToolsResponse_Dtmf(UncheckedBaseModel): type: typing.Literal["dtmf"] = "dtmf" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -188,6 +197,9 @@ class Config: class GetToolsResponse_EndCall(UncheckedBaseModel): type: typing.Literal["endCall"] = "endCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -213,6 +225,9 @@ class Config: class GetToolsResponse_Function(UncheckedBaseModel): type: typing.Literal["function"] = "function" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -249,6 +264,9 @@ class Config: class GetToolsResponse_TransferCall(UncheckedBaseModel): type: typing.Literal["transferCall"] = "transferCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -275,6 +293,9 @@ class Config: class GetToolsResponse_Handoff(UncheckedBaseModel): type: typing.Literal["handoff"] = "handoff" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -305,6 +326,9 @@ class Config: class GetToolsResponse_Bash(UncheckedBaseModel): type: typing.Literal["bash"] = "bash" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -335,6 +359,9 @@ class Config: class GetToolsResponse_Computer(UncheckedBaseModel): type: typing.Literal["computer"] = "computer" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -374,6 +401,9 @@ class Config: class GetToolsResponse_TextEditor(UncheckedBaseModel): type: typing.Literal["textEditor"] = "textEditor" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -404,6 +434,9 @@ class Config: class GetToolsResponse_Query(UncheckedBaseModel): type: typing.Literal["query"] = "query" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -434,6 +467,9 @@ class Config: class GetToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["google.calendar.event.create"] = "google.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -459,6 +495,9 @@ class Config: class GetToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): type: typing.Literal["google.sheets.row.append"] = "google.sheets.row.append" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -484,6 +523,9 @@ class Config: class GetToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["google.calendar.availability.check"] = "google.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -509,6 +551,9 @@ class Config: class GetToolsResponse_SlackMessageSend(UncheckedBaseModel): type: typing.Literal["slack.message.send"] = "slack.message.send" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +579,9 @@ class Config: class GetToolsResponse_Sms(UncheckedBaseModel): type: typing.Literal["sms"] = "sms" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -559,6 +607,9 @@ class Config: class GetToolsResponse_Mcp(UncheckedBaseModel): type: typing.Literal["mcp"] = "mcp" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -591,6 +642,9 @@ class Config: class GetToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.availability.check"] = "gohighlevel.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -616,6 +670,9 @@ class Config: class GetToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.event.create"] = "gohighlevel.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -641,6 +698,9 @@ class Config: class GetToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.create"] = "gohighlevel.contact.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -666,6 +726,9 @@ class Config: class GetToolsResponse_GohighlevelContactGet(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.get"] = "gohighlevel.contact.get" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -691,6 +754,9 @@ class Config: class GetToolsResponse_SipRequest(UncheckedBaseModel): type: typing.Literal["sipRequest"] = "sipRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -719,6 +785,9 @@ class Config: class GetToolsResponse_Voicemail(UncheckedBaseModel): type: typing.Literal["voicemail"] = "voicemail" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") diff --git a/src/vapi/tools/types/list_tools_response_item.py b/src/vapi/tools/types/list_tools_response_item.py index 19ed179c..c661637a 100644 --- a/src/vapi/tools/types/list_tools_response_item.py +++ b/src/vapi/tools/types/list_tools_response_item.py @@ -64,7 +64,11 @@ class ListToolsResponseItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None + name: typing.Optional[str] = None method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -87,7 +91,6 @@ class ListToolsResponseItem_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -113,6 +116,9 @@ class Config: class ListToolsResponseItem_Code(UncheckedBaseModel): type: typing.Literal["code"] = "code" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -160,6 +166,9 @@ class Config: class ListToolsResponseItem_Dtmf(UncheckedBaseModel): type: typing.Literal["dtmf"] = "dtmf" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -188,6 +197,9 @@ class Config: class ListToolsResponseItem_EndCall(UncheckedBaseModel): type: typing.Literal["endCall"] = "endCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -213,6 +225,9 @@ class Config: class ListToolsResponseItem_Function(UncheckedBaseModel): type: typing.Literal["function"] = "function" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -249,6 +264,9 @@ class Config: class ListToolsResponseItem_TransferCall(UncheckedBaseModel): type: typing.Literal["transferCall"] = "transferCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -275,6 +293,9 @@ class Config: class ListToolsResponseItem_Handoff(UncheckedBaseModel): type: typing.Literal["handoff"] = "handoff" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -305,6 +326,9 @@ class Config: class ListToolsResponseItem_Bash(UncheckedBaseModel): type: typing.Literal["bash"] = "bash" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -335,6 +359,9 @@ class Config: class ListToolsResponseItem_Computer(UncheckedBaseModel): type: typing.Literal["computer"] = "computer" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -374,6 +401,9 @@ class Config: class ListToolsResponseItem_TextEditor(UncheckedBaseModel): type: typing.Literal["textEditor"] = "textEditor" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -404,6 +434,9 @@ class Config: class ListToolsResponseItem_Query(UncheckedBaseModel): type: typing.Literal["query"] = "query" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -434,6 +467,9 @@ class Config: class ListToolsResponseItem_GoogleCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["google.calendar.event.create"] = "google.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -459,6 +495,9 @@ class Config: class ListToolsResponseItem_GoogleSheetsRowAppend(UncheckedBaseModel): type: typing.Literal["google.sheets.row.append"] = "google.sheets.row.append" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -484,6 +523,9 @@ class Config: class ListToolsResponseItem_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["google.calendar.availability.check"] = "google.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -509,6 +551,9 @@ class Config: class ListToolsResponseItem_SlackMessageSend(UncheckedBaseModel): type: typing.Literal["slack.message.send"] = "slack.message.send" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +579,9 @@ class Config: class ListToolsResponseItem_Sms(UncheckedBaseModel): type: typing.Literal["sms"] = "sms" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -559,6 +607,9 @@ class Config: class ListToolsResponseItem_Mcp(UncheckedBaseModel): type: typing.Literal["mcp"] = "mcp" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -591,6 +642,9 @@ class Config: class ListToolsResponseItem_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.availability.check"] = "gohighlevel.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -616,6 +670,9 @@ class Config: class ListToolsResponseItem_GohighlevelCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.event.create"] = "gohighlevel.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -641,6 +698,9 @@ class Config: class ListToolsResponseItem_GohighlevelContactCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.create"] = "gohighlevel.contact.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -666,6 +726,9 @@ class Config: class ListToolsResponseItem_GohighlevelContactGet(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.get"] = "gohighlevel.contact.get" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -691,6 +754,9 @@ class Config: class ListToolsResponseItem_SipRequest(UncheckedBaseModel): type: typing.Literal["sipRequest"] = "sipRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -719,6 +785,9 @@ class Config: class ListToolsResponseItem_Voicemail(UncheckedBaseModel): type: typing.Literal["voicemail"] = "voicemail" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") diff --git a/src/vapi/tools/types/update_tools_request_body.py b/src/vapi/tools/types/update_tools_request_body.py index 1ac93327..3376462e 100644 --- a/src/vapi/tools/types/update_tools_request_body.py +++ b/src/vapi/tools/types/update_tools_request_body.py @@ -70,6 +70,7 @@ class UpdateToolsRequestBody_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[UpdateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: typing.Optional[UpdateApiRequestToolDtoMethod] = None timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -84,7 +85,6 @@ class UpdateToolsRequestBody_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: typing.Optional[str] = None body: typing.Optional["JsonSchema"] = None diff --git a/src/vapi/tools/types/update_tools_response.py b/src/vapi/tools/types/update_tools_response.py index 5fb34d95..dfdd5417 100644 --- a/src/vapi/tools/types/update_tools_response.py +++ b/src/vapi/tools/types/update_tools_response.py @@ -64,7 +64,11 @@ class UpdateToolsResponse_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = None + name: typing.Optional[str] = None method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -87,7 +91,6 @@ class UpdateToolsResponse_ApiRequest(UncheckedBaseModel): rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), pydantic.Field(alias="rejectionPlan") ] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -113,6 +116,9 @@ class Config: class UpdateToolsResponse_Code(UncheckedBaseModel): type: typing.Literal["code"] = "code" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -160,6 +166,9 @@ class Config: class UpdateToolsResponse_Dtmf(UncheckedBaseModel): type: typing.Literal["dtmf"] = "dtmf" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = None sip_info_dtmf_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") @@ -188,6 +197,9 @@ class Config: class UpdateToolsResponse_EndCall(UncheckedBaseModel): type: typing.Literal["endCall"] = "endCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -213,6 +225,9 @@ class Config: class UpdateToolsResponse_Function(UncheckedBaseModel): type: typing.Literal["function"] = "function" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = None async_: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") @@ -249,6 +264,9 @@ class Config: class UpdateToolsResponse_TransferCall(UncheckedBaseModel): type: typing.Literal["transferCall"] = "transferCall" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = None destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = None id: str @@ -275,6 +293,9 @@ class Config: class UpdateToolsResponse_Handoff(UncheckedBaseModel): type: typing.Literal["handoff"] = "handoff" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = None default_result: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") @@ -305,6 +326,9 @@ class Config: class UpdateToolsResponse_Bash(UncheckedBaseModel): type: typing.Literal["bash"] = "bash" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ BashToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -335,6 +359,9 @@ class Config: class UpdateToolsResponse_Computer(UncheckedBaseModel): type: typing.Literal["computer"] = "computer" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ ComputerToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -374,6 +401,9 @@ class Config: class UpdateToolsResponse_TextEditor(UncheckedBaseModel): type: typing.Literal["textEditor"] = "textEditor" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = None sub_type: typing_extensions.Annotated[ TextEditorToolSubType, FieldMetadata(alias="subType"), pydantic.Field(alias="subType") @@ -404,6 +434,9 @@ class Config: class UpdateToolsResponse_Query(UncheckedBaseModel): type: typing.Literal["query"] = "query" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = None knowledge_bases: typing_extensions.Annotated[ typing.Optional[typing.List[KnowledgeBase]], @@ -434,6 +467,9 @@ class Config: class UpdateToolsResponse_GoogleCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["google.calendar.event.create"] = "google.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -459,6 +495,9 @@ class Config: class UpdateToolsResponse_GoogleSheetsRowAppend(UncheckedBaseModel): type: typing.Literal["google.sheets.row.append"] = "google.sheets.row.append" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -484,6 +523,9 @@ class Config: class UpdateToolsResponse_GoogleCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["google.calendar.availability.check"] = "google.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -509,6 +551,9 @@ class Config: class UpdateToolsResponse_SlackMessageSend(UncheckedBaseModel): type: typing.Literal["slack.message.send"] = "slack.message.send" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -534,6 +579,9 @@ class Config: class UpdateToolsResponse_Sms(UncheckedBaseModel): type: typing.Literal["sms"] = "sms" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -559,6 +607,9 @@ class Config: class UpdateToolsResponse_Mcp(UncheckedBaseModel): type: typing.Literal["mcp"] = "mcp" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = None server: typing.Optional[Server] = None tool_messages: typing_extensions.Annotated[ @@ -591,6 +642,9 @@ class Config: class UpdateToolsResponse_GohighlevelCalendarAvailabilityCheck(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.availability.check"] = "gohighlevel.calendar.availability.check" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -616,6 +670,9 @@ class Config: class UpdateToolsResponse_GohighlevelCalendarEventCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.calendar.event.create"] = "gohighlevel.calendar.event.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -641,6 +698,9 @@ class Config: class UpdateToolsResponse_GohighlevelContactCreate(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.create"] = "gohighlevel.contact.create" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -666,6 +726,9 @@ class Config: class UpdateToolsResponse_GohighlevelContactGet(UncheckedBaseModel): type: typing.Literal["gohighlevel.contact.get"] = "gohighlevel.contact.get" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = None id: str org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] @@ -691,6 +754,9 @@ class Config: class UpdateToolsResponse_SipRequest(UncheckedBaseModel): type: typing.Literal["sipRequest"] = "sipRequest" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = None verb: SipRequestToolVerb headers: typing.Optional["JsonSchema"] = None @@ -719,6 +785,9 @@ class Config: class UpdateToolsResponse_Voicemail(UncheckedBaseModel): type: typing.Literal["voicemail"] = "voicemail" + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = None beep_detection_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") diff --git a/src/vapi/types/__init__.py b/src/vapi/types/__init__.py index d2268c25..bc3b341c 100644 --- a/src/vapi/types/__init__.py +++ b/src/vapi/types/__init__.py @@ -175,6 +175,7 @@ AssistantCredentialsItem_Langfuse, AssistantCredentialsItem_Lmnt, AssistantCredentialsItem_Make, + AssistantCredentialsItem_Microsoft, AssistantCredentialsItem_Minimax, AssistantCredentialsItem_Mistral, AssistantCredentialsItem_Neuphonic, @@ -185,6 +186,7 @@ AssistantCredentialsItem_RimeAi, AssistantCredentialsItem_Runpod, AssistantCredentialsItem_S3, + AssistantCredentialsItem_S3Compatible, AssistantCredentialsItem_SlackOauth2Authorization, AssistantCredentialsItem_SlackWebhook, AssistantCredentialsItem_SmallestAi, @@ -193,7 +195,6 @@ AssistantCredentialsItem_Supabase, AssistantCredentialsItem_Tavus, AssistantCredentialsItem_TogetherAi, - AssistantCredentialsItem_Trieve, AssistantCredentialsItem_Twilio, AssistantCredentialsItem_Vonage, AssistantCredentialsItem_Webhook, @@ -201,6 +202,138 @@ AssistantCredentialsItem_Xai, ) from .assistant_custom_endpointing_rule import AssistantCustomEndpointingRule + from .assistant_draft import AssistantDraft + from .assistant_draft_background_sound import AssistantDraftBackgroundSound + from .assistant_draft_background_sound_zero import AssistantDraftBackgroundSoundZero + from .assistant_draft_client_messages_item import AssistantDraftClientMessagesItem + from .assistant_draft_conflict_response_dto import AssistantDraftConflictResponseDto + from .assistant_draft_credentials_item import ( + AssistantDraftCredentialsItem, + AssistantDraftCredentialsItem_11Labs, + AssistantDraftCredentialsItem_Anthropic, + AssistantDraftCredentialsItem_AnthropicBedrock, + AssistantDraftCredentialsItem_Anyscale, + AssistantDraftCredentialsItem_AssemblyAi, + AssistantDraftCredentialsItem_Azure, + AssistantDraftCredentialsItem_AzureOpenai, + AssistantDraftCredentialsItem_ByoSipTrunk, + AssistantDraftCredentialsItem_Cartesia, + AssistantDraftCredentialsItem_Cerebras, + AssistantDraftCredentialsItem_Cloudflare, + AssistantDraftCredentialsItem_CustomCredential, + AssistantDraftCredentialsItem_CustomLlm, + AssistantDraftCredentialsItem_DeepSeek, + AssistantDraftCredentialsItem_Deepgram, + AssistantDraftCredentialsItem_Deepinfra, + AssistantDraftCredentialsItem_Email, + AssistantDraftCredentialsItem_Gcp, + AssistantDraftCredentialsItem_GhlOauth2Authorization, + AssistantDraftCredentialsItem_Gladia, + AssistantDraftCredentialsItem_Gohighlevel, + AssistantDraftCredentialsItem_Google, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Client, + AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantDraftCredentialsItem_Groq, + AssistantDraftCredentialsItem_Hume, + AssistantDraftCredentialsItem_InflectionAi, + AssistantDraftCredentialsItem_Inworld, + AssistantDraftCredentialsItem_Langfuse, + AssistantDraftCredentialsItem_Lmnt, + AssistantDraftCredentialsItem_Make, + AssistantDraftCredentialsItem_Microsoft, + AssistantDraftCredentialsItem_Minimax, + AssistantDraftCredentialsItem_Mistral, + AssistantDraftCredentialsItem_Neuphonic, + AssistantDraftCredentialsItem_Openai, + AssistantDraftCredentialsItem_Openrouter, + AssistantDraftCredentialsItem_PerplexityAi, + AssistantDraftCredentialsItem_Playht, + AssistantDraftCredentialsItem_RimeAi, + AssistantDraftCredentialsItem_Runpod, + AssistantDraftCredentialsItem_S3, + AssistantDraftCredentialsItem_S3Compatible, + AssistantDraftCredentialsItem_SlackOauth2Authorization, + AssistantDraftCredentialsItem_SlackWebhook, + AssistantDraftCredentialsItem_SmallestAi, + AssistantDraftCredentialsItem_Soniox, + AssistantDraftCredentialsItem_Speechmatics, + AssistantDraftCredentialsItem_Supabase, + AssistantDraftCredentialsItem_Tavus, + AssistantDraftCredentialsItem_TogetherAi, + AssistantDraftCredentialsItem_Twilio, + AssistantDraftCredentialsItem_Vonage, + AssistantDraftCredentialsItem_Webhook, + AssistantDraftCredentialsItem_Wellsaid, + AssistantDraftCredentialsItem_Xai, + ) + from .assistant_draft_first_message_mode import AssistantDraftFirstMessageMode + from .assistant_draft_hooks_item import AssistantDraftHooksItem + from .assistant_draft_model import ( + AssistantDraftModel, + AssistantDraftModel_Anthropic, + AssistantDraftModel_AnthropicBedrock, + AssistantDraftModel_Anyscale, + AssistantDraftModel_Cerebras, + AssistantDraftModel_CustomLlm, + AssistantDraftModel_DeepSeek, + AssistantDraftModel_Deepinfra, + AssistantDraftModel_Google, + AssistantDraftModel_Groq, + AssistantDraftModel_InflectionAi, + AssistantDraftModel_Minimax, + AssistantDraftModel_Openai, + AssistantDraftModel_Openrouter, + AssistantDraftModel_PerplexityAi, + AssistantDraftModel_TogetherAi, + AssistantDraftModel_Vapi, + AssistantDraftModel_Xai, + ) + from .assistant_draft_paginated_metadata import AssistantDraftPaginatedMetadata + from .assistant_draft_paginated_response import AssistantDraftPaginatedResponse + from .assistant_draft_server_messages_item import AssistantDraftServerMessagesItem + from .assistant_draft_transcriber import ( + AssistantDraftTranscriber, + AssistantDraftTranscriber_11Labs, + AssistantDraftTranscriber_AssemblyAi, + AssistantDraftTranscriber_Azure, + AssistantDraftTranscriber_Cartesia, + AssistantDraftTranscriber_CustomTranscriber, + AssistantDraftTranscriber_Deepgram, + AssistantDraftTranscriber_Gladia, + AssistantDraftTranscriber_Google, + AssistantDraftTranscriber_Openai, + AssistantDraftTranscriber_Soniox, + AssistantDraftTranscriber_Speechmatics, + AssistantDraftTranscriber_Talkscriber, + AssistantDraftTranscriber_Vapi, + AssistantDraftTranscriber_Xai, + ) + from .assistant_draft_voice import ( + AssistantDraftVoice, + AssistantDraftVoice_11Labs, + AssistantDraftVoice_Azure, + AssistantDraftVoice_Cartesia, + AssistantDraftVoice_CustomVoice, + AssistantDraftVoice_Deepgram, + AssistantDraftVoice_Hume, + AssistantDraftVoice_Inworld, + AssistantDraftVoice_Lmnt, + AssistantDraftVoice_Microsoft, + AssistantDraftVoice_Minimax, + AssistantDraftVoice_Neuphonic, + AssistantDraftVoice_Openai, + AssistantDraftVoice_Playht, + AssistantDraftVoice_RimeAi, + AssistantDraftVoice_Sesame, + AssistantDraftVoice_SmallestAi, + AssistantDraftVoice_Tavus, + AssistantDraftVoice_Vapi, + AssistantDraftVoice_Wellsaid, + AssistantDraftVoice_Xai, + ) + from .assistant_draft_voicemail_detection import AssistantDraftVoicemailDetection + from .assistant_draft_voicemail_detection_zero import AssistantDraftVoicemailDetectionZero from .assistant_first_message_mode import AssistantFirstMessageMode from .assistant_hook_assistant_speech_interrupted import AssistantHookAssistantSpeechInterrupted from .assistant_hook_call_ending import AssistantHookCallEnding @@ -237,6 +370,7 @@ AssistantModel_Openrouter, AssistantModel_PerplexityAi, AssistantModel_TogetherAi, + AssistantModel_Vapi, AssistantModel_Xai, ) from .assistant_overrides import AssistantOverrides @@ -277,6 +411,7 @@ AssistantOverridesCredentialsItem_Langfuse, AssistantOverridesCredentialsItem_Lmnt, AssistantOverridesCredentialsItem_Make, + AssistantOverridesCredentialsItem_Microsoft, AssistantOverridesCredentialsItem_Minimax, AssistantOverridesCredentialsItem_Mistral, AssistantOverridesCredentialsItem_Neuphonic, @@ -287,6 +422,7 @@ AssistantOverridesCredentialsItem_RimeAi, AssistantOverridesCredentialsItem_Runpod, AssistantOverridesCredentialsItem_S3, + AssistantOverridesCredentialsItem_S3Compatible, AssistantOverridesCredentialsItem_SlackOauth2Authorization, AssistantOverridesCredentialsItem_SlackWebhook, AssistantOverridesCredentialsItem_SmallestAi, @@ -295,7 +431,6 @@ AssistantOverridesCredentialsItem_Supabase, AssistantOverridesCredentialsItem_Tavus, AssistantOverridesCredentialsItem_TogetherAi, - AssistantOverridesCredentialsItem_Trieve, AssistantOverridesCredentialsItem_Twilio, AssistantOverridesCredentialsItem_Vonage, AssistantOverridesCredentialsItem_Webhook, @@ -321,6 +456,7 @@ AssistantOverridesModel_Openrouter, AssistantOverridesModel_PerplexityAi, AssistantOverridesModel_TogetherAi, + AssistantOverridesModel_Vapi, AssistantOverridesModel_Xai, ) from .assistant_overrides_server_messages_item import AssistantOverridesServerMessagesItem @@ -364,6 +500,8 @@ AssistantOverridesTranscriber_Soniox, AssistantOverridesTranscriber_Speechmatics, AssistantOverridesTranscriber_Talkscriber, + AssistantOverridesTranscriber_Vapi, + AssistantOverridesTranscriber_Xai, ) from .assistant_overrides_voice import ( AssistantOverridesVoice, @@ -375,6 +513,7 @@ AssistantOverridesVoice_Hume, AssistantOverridesVoice_Inworld, AssistantOverridesVoice_Lmnt, + AssistantOverridesVoice_Microsoft, AssistantOverridesVoice_Minimax, AssistantOverridesVoice_Neuphonic, AssistantOverridesVoice_Openai, @@ -385,10 +524,13 @@ AssistantOverridesVoice_Tavus, AssistantOverridesVoice_Vapi, AssistantOverridesVoice_Wellsaid, + AssistantOverridesVoice_Xai, ) from .assistant_overrides_voicemail_detection import AssistantOverridesVoicemailDetection from .assistant_overrides_voicemail_detection_zero import AssistantOverridesVoicemailDetectionZero from .assistant_paginated_response import AssistantPaginatedResponse + from .assistant_pinned_conflict_response_dto import AssistantPinnedConflictResponseDto + from .assistant_pinned_conflict_response_dto_error import AssistantPinnedConflictResponseDtoError from .assistant_server_messages_item import AssistantServerMessagesItem from .assistant_speech_word_alignment_timing import AssistantSpeechWordAlignmentTiming from .assistant_speech_word_progress_timing import AssistantSpeechWordProgressTiming @@ -407,9 +549,141 @@ AssistantTranscriber_Soniox, AssistantTranscriber_Speechmatics, AssistantTranscriber_Talkscriber, + AssistantTranscriber_Vapi, + AssistantTranscriber_Xai, ) from .assistant_user_editable import AssistantUserEditable + from .assistant_version import AssistantVersion + from .assistant_version_background_sound import AssistantVersionBackgroundSound + from .assistant_version_background_sound_zero import AssistantVersionBackgroundSoundZero + from .assistant_version_client_messages_item import AssistantVersionClientMessagesItem + from .assistant_version_credentials_item import ( + AssistantVersionCredentialsItem, + AssistantVersionCredentialsItem_11Labs, + AssistantVersionCredentialsItem_Anthropic, + AssistantVersionCredentialsItem_AnthropicBedrock, + AssistantVersionCredentialsItem_Anyscale, + AssistantVersionCredentialsItem_AssemblyAi, + AssistantVersionCredentialsItem_Azure, + AssistantVersionCredentialsItem_AzureOpenai, + AssistantVersionCredentialsItem_ByoSipTrunk, + AssistantVersionCredentialsItem_Cartesia, + AssistantVersionCredentialsItem_Cerebras, + AssistantVersionCredentialsItem_Cloudflare, + AssistantVersionCredentialsItem_CustomCredential, + AssistantVersionCredentialsItem_CustomLlm, + AssistantVersionCredentialsItem_DeepSeek, + AssistantVersionCredentialsItem_Deepgram, + AssistantVersionCredentialsItem_Deepinfra, + AssistantVersionCredentialsItem_Email, + AssistantVersionCredentialsItem_Gcp, + AssistantVersionCredentialsItem_GhlOauth2Authorization, + AssistantVersionCredentialsItem_Gladia, + AssistantVersionCredentialsItem_Gohighlevel, + AssistantVersionCredentialsItem_Google, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Client, + AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantVersionCredentialsItem_Groq, + AssistantVersionCredentialsItem_Hume, + AssistantVersionCredentialsItem_InflectionAi, + AssistantVersionCredentialsItem_Inworld, + AssistantVersionCredentialsItem_Langfuse, + AssistantVersionCredentialsItem_Lmnt, + AssistantVersionCredentialsItem_Make, + AssistantVersionCredentialsItem_Microsoft, + AssistantVersionCredentialsItem_Minimax, + AssistantVersionCredentialsItem_Mistral, + AssistantVersionCredentialsItem_Neuphonic, + AssistantVersionCredentialsItem_Openai, + AssistantVersionCredentialsItem_Openrouter, + AssistantVersionCredentialsItem_PerplexityAi, + AssistantVersionCredentialsItem_Playht, + AssistantVersionCredentialsItem_RimeAi, + AssistantVersionCredentialsItem_Runpod, + AssistantVersionCredentialsItem_S3, + AssistantVersionCredentialsItem_S3Compatible, + AssistantVersionCredentialsItem_SlackOauth2Authorization, + AssistantVersionCredentialsItem_SlackWebhook, + AssistantVersionCredentialsItem_SmallestAi, + AssistantVersionCredentialsItem_Soniox, + AssistantVersionCredentialsItem_Speechmatics, + AssistantVersionCredentialsItem_Supabase, + AssistantVersionCredentialsItem_Tavus, + AssistantVersionCredentialsItem_TogetherAi, + AssistantVersionCredentialsItem_Twilio, + AssistantVersionCredentialsItem_Vonage, + AssistantVersionCredentialsItem_Webhook, + AssistantVersionCredentialsItem_Wellsaid, + AssistantVersionCredentialsItem_Xai, + ) + from .assistant_version_first_message_mode import AssistantVersionFirstMessageMode + from .assistant_version_hooks_item import AssistantVersionHooksItem + from .assistant_version_model import ( + AssistantVersionModel, + AssistantVersionModel_Anthropic, + AssistantVersionModel_AnthropicBedrock, + AssistantVersionModel_Anyscale, + AssistantVersionModel_Cerebras, + AssistantVersionModel_CustomLlm, + AssistantVersionModel_DeepSeek, + AssistantVersionModel_Deepinfra, + AssistantVersionModel_Google, + AssistantVersionModel_Groq, + AssistantVersionModel_InflectionAi, + AssistantVersionModel_Minimax, + AssistantVersionModel_Openai, + AssistantVersionModel_Openrouter, + AssistantVersionModel_PerplexityAi, + AssistantVersionModel_TogetherAi, + AssistantVersionModel_Vapi, + AssistantVersionModel_Xai, + ) + from .assistant_version_paginated_metadata import AssistantVersionPaginatedMetadata from .assistant_version_paginated_response import AssistantVersionPaginatedResponse + from .assistant_version_server_messages_item import AssistantVersionServerMessagesItem + from .assistant_version_transcriber import ( + AssistantVersionTranscriber, + AssistantVersionTranscriber_11Labs, + AssistantVersionTranscriber_AssemblyAi, + AssistantVersionTranscriber_Azure, + AssistantVersionTranscriber_Cartesia, + AssistantVersionTranscriber_CustomTranscriber, + AssistantVersionTranscriber_Deepgram, + AssistantVersionTranscriber_Gladia, + AssistantVersionTranscriber_Google, + AssistantVersionTranscriber_Openai, + AssistantVersionTranscriber_Soniox, + AssistantVersionTranscriber_Speechmatics, + AssistantVersionTranscriber_Talkscriber, + AssistantVersionTranscriber_Vapi, + AssistantVersionTranscriber_Xai, + ) + from .assistant_version_voice import ( + AssistantVersionVoice, + AssistantVersionVoice_11Labs, + AssistantVersionVoice_Azure, + AssistantVersionVoice_Cartesia, + AssistantVersionVoice_CustomVoice, + AssistantVersionVoice_Deepgram, + AssistantVersionVoice_Hume, + AssistantVersionVoice_Inworld, + AssistantVersionVoice_Lmnt, + AssistantVersionVoice_Microsoft, + AssistantVersionVoice_Minimax, + AssistantVersionVoice_Neuphonic, + AssistantVersionVoice_Openai, + AssistantVersionVoice_Playht, + AssistantVersionVoice_RimeAi, + AssistantVersionVoice_Sesame, + AssistantVersionVoice_SmallestAi, + AssistantVersionVoice_Tavus, + AssistantVersionVoice_Vapi, + AssistantVersionVoice_Wellsaid, + AssistantVersionVoice_Xai, + ) + from .assistant_version_voicemail_detection import AssistantVersionVoicemailDetection + from .assistant_version_voicemail_detection_zero import AssistantVersionVoicemailDetectionZero from .assistant_voice import ( AssistantVoice, AssistantVoice_11Labs, @@ -420,6 +694,7 @@ AssistantVoice_Hume, AssistantVoice_Inworld, AssistantVoice_Lmnt, + AssistantVoice_Microsoft, AssistantVoice_Minimax, AssistantVoice_Neuphonic, AssistantVoice_Openai, @@ -430,9 +705,12 @@ AssistantVoice_Tavus, AssistantVoice_Vapi, AssistantVoice_Wellsaid, + AssistantVoice_Xai, ) from .assistant_voicemail_detection import AssistantVoicemailDetection from .assistant_voicemail_detection_zero import AssistantVoicemailDetectionZero + from .audio_format import AudioFormat + from .audio_format_container import AudioFormatContainer from .auto_reload_plan import AutoReloadPlan from .aws_sts_assume_role_user import AwsStsAssumeRoleUser from .aws_sts_authentication_artifact import AwsStsAuthenticationArtifact @@ -486,6 +764,21 @@ from .bash_tool_with_tool_call_name import BashToolWithToolCallName from .bash_tool_with_tool_call_sub_type import BashToolWithToolCallSubType from .bearer_authentication_plan import BearerAuthenticationPlan + from .board import Board + from .board_insight_item import BoardInsightItem + from .board_insight_item_type import BoardInsightItemType + from .board_item_position import BoardItemPosition + from .board_item_size import BoardItemSize + from .board_items_item import BoardItemsItem + from .board_layout import BoardLayout + from .board_metric_widget_item import BoardMetricWidgetItem + from .board_metric_widget_item_type import BoardMetricWidgetItemType + from .board_paginated_response import BoardPaginatedResponse + from .boolean_comparator_scorecard_metric_condition import BooleanComparatorScorecardMetricCondition + from .boolean_comparator_scorecard_metric_condition_comparator import ( + BooleanComparatorScorecardMetricConditionComparator, + ) + from .boolean_comparator_scorecard_metric_condition_type import BooleanComparatorScorecardMetricConditionType from .bot_message import BotMessage from .both_custom_endpointing_rule import BothCustomEndpointingRule from .bucket_plan import BucketPlan @@ -571,10 +864,22 @@ from .call_phone_call_provider import CallPhoneCallProvider from .call_phone_call_transport import CallPhoneCallTransport from .call_status import CallStatus + from .call_transport import ( + CallTransport, + CallTransport_Daily, + CallTransport_Telnyx, + CallTransport_Twilio, + CallTransport_VapiSip, + CallTransport_VapiWebsocket, + CallTransport_Vonage, + ) from .call_type import CallType from .campaign import Campaign + from .campaign_contact import CampaignContact from .campaign_ended_reason import CampaignEndedReason from .campaign_paginated_response import CampaignPaginatedResponse + from .campaign_predial_plan import CampaignPredialPlan + from .campaign_server_messages_item import CampaignServerMessagesItem from .campaign_status import CampaignStatus from .cartesia_credential import CartesiaCredential from .cartesia_credential_provider import CartesiaCredentialProvider @@ -973,6 +1278,7 @@ from .context_engineering_plan_all import ContextEngineeringPlanAll from .context_engineering_plan_last_n_messages import ContextEngineeringPlanLastNMessages from .context_engineering_plan_none import ContextEngineeringPlanNone + from .context_engineering_plan_previous_assistant_messages import ContextEngineeringPlanPreviousAssistantMessages from .context_engineering_plan_user_and_assistant_messages import ContextEngineeringPlanUserAndAssistantMessages from .conversation_node import ConversationNode from .conversation_node_model import ( @@ -1023,6 +1329,8 @@ ConversationNodeTranscriber_Soniox, ConversationNodeTranscriber_Speechmatics, ConversationNodeTranscriber_Talkscriber, + ConversationNodeTranscriber_Vapi, + ConversationNodeTranscriber_Xai, ) from .conversation_node_voice import ( ConversationNodeVoice, @@ -1034,6 +1342,7 @@ ConversationNodeVoice_Hume, ConversationNodeVoice_Inworld, ConversationNodeVoice_Lmnt, + ConversationNodeVoice_Microsoft, ConversationNodeVoice_Minimax, ConversationNodeVoice_Neuphonic, ConversationNodeVoice_Openai, @@ -1044,6 +1353,7 @@ ConversationNodeVoice_Tavus, ConversationNodeVoice_Vapi, ConversationNodeVoice_Wellsaid, + ConversationNodeVoice_Xai, ) from .cost_breakdown import CostBreakdown from .create_anthropic_bedrock_credential_dto import CreateAnthropicBedrockCredentialDto @@ -1065,6 +1375,135 @@ ) from .create_api_request_tool_dto_method import CreateApiRequestToolDtoMethod from .create_assembly_ai_credential_dto import CreateAssemblyAiCredentialDto + from .create_assistant_draft_dto import CreateAssistantDraftDto + from .create_assistant_draft_dto_background_sound import CreateAssistantDraftDtoBackgroundSound + from .create_assistant_draft_dto_background_sound_zero import CreateAssistantDraftDtoBackgroundSoundZero + from .create_assistant_draft_dto_client_messages_item import CreateAssistantDraftDtoClientMessagesItem + from .create_assistant_draft_dto_credentials_item import ( + CreateAssistantDraftDtoCredentialsItem, + CreateAssistantDraftDtoCredentialsItem_11Labs, + CreateAssistantDraftDtoCredentialsItem_Anthropic, + CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + CreateAssistantDraftDtoCredentialsItem_Anyscale, + CreateAssistantDraftDtoCredentialsItem_AssemblyAi, + CreateAssistantDraftDtoCredentialsItem_Azure, + CreateAssistantDraftDtoCredentialsItem_AzureOpenai, + CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + CreateAssistantDraftDtoCredentialsItem_Cartesia, + CreateAssistantDraftDtoCredentialsItem_Cerebras, + CreateAssistantDraftDtoCredentialsItem_Cloudflare, + CreateAssistantDraftDtoCredentialsItem_CustomCredential, + CreateAssistantDraftDtoCredentialsItem_CustomLlm, + CreateAssistantDraftDtoCredentialsItem_DeepSeek, + CreateAssistantDraftDtoCredentialsItem_Deepgram, + CreateAssistantDraftDtoCredentialsItem_Deepinfra, + CreateAssistantDraftDtoCredentialsItem_Email, + CreateAssistantDraftDtoCredentialsItem_Gcp, + CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_Gladia, + CreateAssistantDraftDtoCredentialsItem_Gohighlevel, + CreateAssistantDraftDtoCredentialsItem_Google, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_Groq, + CreateAssistantDraftDtoCredentialsItem_Hume, + CreateAssistantDraftDtoCredentialsItem_InflectionAi, + CreateAssistantDraftDtoCredentialsItem_Inworld, + CreateAssistantDraftDtoCredentialsItem_Langfuse, + CreateAssistantDraftDtoCredentialsItem_Lmnt, + CreateAssistantDraftDtoCredentialsItem_Make, + CreateAssistantDraftDtoCredentialsItem_Microsoft, + CreateAssistantDraftDtoCredentialsItem_Minimax, + CreateAssistantDraftDtoCredentialsItem_Mistral, + CreateAssistantDraftDtoCredentialsItem_Neuphonic, + CreateAssistantDraftDtoCredentialsItem_Openai, + CreateAssistantDraftDtoCredentialsItem_Openrouter, + CreateAssistantDraftDtoCredentialsItem_PerplexityAi, + CreateAssistantDraftDtoCredentialsItem_Playht, + CreateAssistantDraftDtoCredentialsItem_RimeAi, + CreateAssistantDraftDtoCredentialsItem_Runpod, + CreateAssistantDraftDtoCredentialsItem_S3, + CreateAssistantDraftDtoCredentialsItem_S3Compatible, + CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_SlackWebhook, + CreateAssistantDraftDtoCredentialsItem_SmallestAi, + CreateAssistantDraftDtoCredentialsItem_Soniox, + CreateAssistantDraftDtoCredentialsItem_Speechmatics, + CreateAssistantDraftDtoCredentialsItem_Supabase, + CreateAssistantDraftDtoCredentialsItem_Tavus, + CreateAssistantDraftDtoCredentialsItem_TogetherAi, + CreateAssistantDraftDtoCredentialsItem_Twilio, + CreateAssistantDraftDtoCredentialsItem_Vonage, + CreateAssistantDraftDtoCredentialsItem_Webhook, + CreateAssistantDraftDtoCredentialsItem_Wellsaid, + CreateAssistantDraftDtoCredentialsItem_Xai, + ) + from .create_assistant_draft_dto_first_message_mode import CreateAssistantDraftDtoFirstMessageMode + from .create_assistant_draft_dto_hooks_item import CreateAssistantDraftDtoHooksItem + from .create_assistant_draft_dto_model import ( + CreateAssistantDraftDtoModel, + CreateAssistantDraftDtoModel_Anthropic, + CreateAssistantDraftDtoModel_AnthropicBedrock, + CreateAssistantDraftDtoModel_Anyscale, + CreateAssistantDraftDtoModel_Cerebras, + CreateAssistantDraftDtoModel_CustomLlm, + CreateAssistantDraftDtoModel_DeepSeek, + CreateAssistantDraftDtoModel_Deepinfra, + CreateAssistantDraftDtoModel_Google, + CreateAssistantDraftDtoModel_Groq, + CreateAssistantDraftDtoModel_InflectionAi, + CreateAssistantDraftDtoModel_Minimax, + CreateAssistantDraftDtoModel_Openai, + CreateAssistantDraftDtoModel_Openrouter, + CreateAssistantDraftDtoModel_PerplexityAi, + CreateAssistantDraftDtoModel_TogetherAi, + CreateAssistantDraftDtoModel_Vapi, + CreateAssistantDraftDtoModel_Xai, + ) + from .create_assistant_draft_dto_server_messages_item import CreateAssistantDraftDtoServerMessagesItem + from .create_assistant_draft_dto_transcriber import ( + CreateAssistantDraftDtoTranscriber, + CreateAssistantDraftDtoTranscriber_11Labs, + CreateAssistantDraftDtoTranscriber_AssemblyAi, + CreateAssistantDraftDtoTranscriber_Azure, + CreateAssistantDraftDtoTranscriber_Cartesia, + CreateAssistantDraftDtoTranscriber_CustomTranscriber, + CreateAssistantDraftDtoTranscriber_Deepgram, + CreateAssistantDraftDtoTranscriber_Gladia, + CreateAssistantDraftDtoTranscriber_Google, + CreateAssistantDraftDtoTranscriber_Openai, + CreateAssistantDraftDtoTranscriber_Soniox, + CreateAssistantDraftDtoTranscriber_Speechmatics, + CreateAssistantDraftDtoTranscriber_Talkscriber, + CreateAssistantDraftDtoTranscriber_Vapi, + CreateAssistantDraftDtoTranscriber_Xai, + ) + from .create_assistant_draft_dto_voice import ( + CreateAssistantDraftDtoVoice, + CreateAssistantDraftDtoVoice_11Labs, + CreateAssistantDraftDtoVoice_Azure, + CreateAssistantDraftDtoVoice_Cartesia, + CreateAssistantDraftDtoVoice_CustomVoice, + CreateAssistantDraftDtoVoice_Deepgram, + CreateAssistantDraftDtoVoice_Hume, + CreateAssistantDraftDtoVoice_Inworld, + CreateAssistantDraftDtoVoice_Lmnt, + CreateAssistantDraftDtoVoice_Microsoft, + CreateAssistantDraftDtoVoice_Minimax, + CreateAssistantDraftDtoVoice_Neuphonic, + CreateAssistantDraftDtoVoice_Openai, + CreateAssistantDraftDtoVoice_Playht, + CreateAssistantDraftDtoVoice_RimeAi, + CreateAssistantDraftDtoVoice_Sesame, + CreateAssistantDraftDtoVoice_SmallestAi, + CreateAssistantDraftDtoVoice_Tavus, + CreateAssistantDraftDtoVoice_Vapi, + CreateAssistantDraftDtoVoice_Wellsaid, + CreateAssistantDraftDtoVoice_Xai, + ) + from .create_assistant_draft_dto_voicemail_detection import CreateAssistantDraftDtoVoicemailDetection + from .create_assistant_draft_dto_voicemail_detection_zero import CreateAssistantDraftDtoVoicemailDetectionZero from .create_assistant_dto import CreateAssistantDto from .create_assistant_dto_background_sound import CreateAssistantDtoBackgroundSound from .create_assistant_dto_background_sound_zero import CreateAssistantDtoBackgroundSoundZero @@ -1103,6 +1542,7 @@ CreateAssistantDtoCredentialsItem_Langfuse, CreateAssistantDtoCredentialsItem_Lmnt, CreateAssistantDtoCredentialsItem_Make, + CreateAssistantDtoCredentialsItem_Microsoft, CreateAssistantDtoCredentialsItem_Minimax, CreateAssistantDtoCredentialsItem_Mistral, CreateAssistantDtoCredentialsItem_Neuphonic, @@ -1113,6 +1553,7 @@ CreateAssistantDtoCredentialsItem_RimeAi, CreateAssistantDtoCredentialsItem_Runpod, CreateAssistantDtoCredentialsItem_S3, + CreateAssistantDtoCredentialsItem_S3Compatible, CreateAssistantDtoCredentialsItem_SlackOauth2Authorization, CreateAssistantDtoCredentialsItem_SlackWebhook, CreateAssistantDtoCredentialsItem_SmallestAi, @@ -1121,7 +1562,6 @@ CreateAssistantDtoCredentialsItem_Supabase, CreateAssistantDtoCredentialsItem_Tavus, CreateAssistantDtoCredentialsItem_TogetherAi, - CreateAssistantDtoCredentialsItem_Trieve, CreateAssistantDtoCredentialsItem_Twilio, CreateAssistantDtoCredentialsItem_Vonage, CreateAssistantDtoCredentialsItem_Webhook, @@ -1147,6 +1587,7 @@ CreateAssistantDtoModel_Openrouter, CreateAssistantDtoModel_PerplexityAi, CreateAssistantDtoModel_TogetherAi, + CreateAssistantDtoModel_Vapi, CreateAssistantDtoModel_Xai, ) from .create_assistant_dto_server_messages_item import CreateAssistantDtoServerMessagesItem @@ -1164,6 +1605,8 @@ CreateAssistantDtoTranscriber_Soniox, CreateAssistantDtoTranscriber_Speechmatics, CreateAssistantDtoTranscriber_Talkscriber, + CreateAssistantDtoTranscriber_Vapi, + CreateAssistantDtoTranscriber_Xai, ) from .create_assistant_dto_voice import ( CreateAssistantDtoVoice, @@ -1175,6 +1618,7 @@ CreateAssistantDtoVoice_Hume, CreateAssistantDtoVoice_Inworld, CreateAssistantDtoVoice_Lmnt, + CreateAssistantDtoVoice_Microsoft, CreateAssistantDtoVoice_Minimax, CreateAssistantDtoVoice_Neuphonic, CreateAssistantDtoVoice_Openai, @@ -1185,6 +1629,7 @@ CreateAssistantDtoVoice_Tavus, CreateAssistantDtoVoice_Vapi, CreateAssistantDtoVoice_Wellsaid, + CreateAssistantDtoVoice_Xai, ) from .create_assistant_dto_voicemail_detection import CreateAssistantDtoVoicemailDetection from .create_assistant_dto_voicemail_detection_zero import CreateAssistantDtoVoicemailDetectionZero @@ -1219,6 +1664,8 @@ CreateByoPhoneNumberDtoHooksItem_CallRinging, ) from .create_byo_sip_trunk_credential_dto import CreateByoSipTrunkCredentialDto + from .create_campaign_dto import CreateCampaignDto + from .create_campaign_dto_server_messages_item import CreateCampaignDtoServerMessagesItem from .create_cartesia_credential_dto import CreateCartesiaCredentialDto from .create_cerebras_credential_dto import CreateCerebrasCredentialDto from .create_chat_stream_response import CreateChatStreamResponse @@ -1268,6 +1715,7 @@ CreateDtmfToolDtoMessagesItem_RequestStart, ) from .create_eleven_labs_credential_dto import CreateElevenLabsCredentialDto + from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_email_credential_dto import CreateEmailCredentialDto from .create_end_call_tool_dto import CreateEndCallToolDto from .create_end_call_tool_dto_messages_item import ( @@ -1406,6 +1854,7 @@ CreateMcpToolDtoMessagesItem_RequestResponseDelayed, CreateMcpToolDtoMessagesItem_RequestStart, ) + from .create_microsoft_credential_dto import CreateMicrosoftCredentialDto from .create_minimax_credential_dto import CreateMinimaxCredentialDto from .create_mistral_credential_dto import CreateMistralCredentialDto from .create_neuphonic_credential_dto import CreateNeuphonicCredentialDto @@ -1414,6 +1863,15 @@ from .create_org_dto import CreateOrgDto from .create_org_dto_channel import CreateOrgDtoChannel from .create_outbound_call_dto import CreateOutboundCallDto + from .create_outbound_call_dto_transport import ( + CreateOutboundCallDtoTransport, + CreateOutboundCallDtoTransport_Daily, + CreateOutboundCallDtoTransport_Telnyx, + CreateOutboundCallDtoTransport_Twilio, + CreateOutboundCallDtoTransport_VapiSip, + CreateOutboundCallDtoTransport_VapiWebsocket, + CreateOutboundCallDtoTransport_Vonage, + ) from .create_output_tool_dto import CreateOutputToolDto from .create_output_tool_dto_messages_item import ( CreateOutputToolDtoMessagesItem, @@ -1439,6 +1897,7 @@ ) from .create_rime_ai_credential_dto import CreateRimeAiCredentialDto from .create_runpod_credential_dto import CreateRunpodCredentialDto + from .create_s_3_compatible_credential_dto import CreateS3CompatibleCredentialDto from .create_s_3_credential_dto import CreateS3CredentialDto from .create_scenario_dto import CreateScenarioDto from .create_scenario_dto_hooks_item import ( @@ -1460,6 +1919,18 @@ CreateSimulationRunDtoTarget_Assistant, CreateSimulationRunDtoTarget_Squad, ) + from .create_simulation_run_response import CreateSimulationRunResponse + from .create_simulation_run_response_simulations_item import ( + CreateSimulationRunResponseSimulationsItem, + CreateSimulationRunResponseSimulationsItem_Simulation, + CreateSimulationRunResponseSimulationsItem_SimulationSuite, + ) + from .create_simulation_run_response_status import CreateSimulationRunResponseStatus + from .create_simulation_run_response_target import ( + CreateSimulationRunResponseTarget, + CreateSimulationRunResponseTarget_Assistant, + CreateSimulationRunResponseTarget_Squad, + ) from .create_simulation_suite_dto import CreateSimulationSuiteDto from .create_sip_request_tool_dto import CreateSipRequestToolDto from .create_sip_request_tool_dto_body import CreateSipRequestToolDtoBody @@ -1494,6 +1965,12 @@ from .create_speechmatics_credential_dto import CreateSpeechmaticsCredentialDto from .create_squad_dto import CreateSquadDto from .create_structured_output_dto import CreateStructuredOutputDto + from .create_structured_output_dto_conditions_item import ( + CreateStructuredOutputDtoConditionsItem, + CreateStructuredOutputDtoConditionsItem_EndedReason, + CreateStructuredOutputDtoConditionsItem_MinCallDuration, + CreateStructuredOutputDtoConditionsItem_MinMessages, + ) from .create_structured_output_dto_model import ( CreateStructuredOutputDtoModel, CreateStructuredOutputDtoModel_Anthropic, @@ -1537,6 +2014,17 @@ from .create_together_ai_credential_dto import CreateTogetherAiCredentialDto from .create_token_dto import CreateTokenDto from .create_token_dto_tag import CreateTokenDtoTag + from .create_tool_draft_dto import CreateToolDraftDto + from .create_tool_draft_dto_messages_item import ( + CreateToolDraftDtoMessagesItem, + CreateToolDraftDtoMessagesItem_RequestComplete, + CreateToolDraftDtoMessagesItem_RequestFailed, + CreateToolDraftDtoMessagesItem_RequestResponseDelayed, + CreateToolDraftDtoMessagesItem_RequestStart, + ) + from .create_tool_draft_dto_method import CreateToolDraftDtoMethod + from .create_tool_draft_dto_type import CreateToolDraftDtoType + from .create_tool_draft_dto_verb import CreateToolDraftDtoVerb from .create_tool_template_dto import CreateToolTemplateDto from .create_tool_template_dto_details import ( CreateToolTemplateDtoDetails, @@ -1595,7 +2083,6 @@ ) from .create_trieve_credential_dto import CreateTrieveCredentialDto from .create_trieve_knowledge_base_dto import CreateTrieveKnowledgeBaseDto - from .create_trieve_knowledge_base_dto_provider import CreateTrieveKnowledgeBaseDtoProvider from .create_twilio_credential_dto import CreateTwilioCredentialDto from .create_twilio_phone_number_dto import CreateTwilioPhoneNumberDto from .create_twilio_phone_number_dto_fallback_destination import ( @@ -1689,6 +2176,7 @@ CreateWorkflowDtoCredentialsItem_Langfuse, CreateWorkflowDtoCredentialsItem_Lmnt, CreateWorkflowDtoCredentialsItem_Make, + CreateWorkflowDtoCredentialsItem_Microsoft, CreateWorkflowDtoCredentialsItem_Minimax, CreateWorkflowDtoCredentialsItem_Mistral, CreateWorkflowDtoCredentialsItem_Neuphonic, @@ -1699,6 +2187,7 @@ CreateWorkflowDtoCredentialsItem_RimeAi, CreateWorkflowDtoCredentialsItem_Runpod, CreateWorkflowDtoCredentialsItem_S3, + CreateWorkflowDtoCredentialsItem_S3Compatible, CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization, CreateWorkflowDtoCredentialsItem_SlackWebhook, CreateWorkflowDtoCredentialsItem_SmallestAi, @@ -1707,7 +2196,6 @@ CreateWorkflowDtoCredentialsItem_Supabase, CreateWorkflowDtoCredentialsItem_Tavus, CreateWorkflowDtoCredentialsItem_TogetherAi, - CreateWorkflowDtoCredentialsItem_Trieve, CreateWorkflowDtoCredentialsItem_Twilio, CreateWorkflowDtoCredentialsItem_Vonage, CreateWorkflowDtoCredentialsItem_Webhook, @@ -1742,6 +2230,8 @@ CreateWorkflowDtoTranscriber_Soniox, CreateWorkflowDtoTranscriber_Speechmatics, CreateWorkflowDtoTranscriber_Talkscriber, + CreateWorkflowDtoTranscriber_Vapi, + CreateWorkflowDtoTranscriber_Xai, ) from .create_workflow_dto_voice import ( CreateWorkflowDtoVoice, @@ -1753,6 +2243,7 @@ CreateWorkflowDtoVoice_Hume, CreateWorkflowDtoVoice_Inworld, CreateWorkflowDtoVoice_Lmnt, + CreateWorkflowDtoVoice_Microsoft, CreateWorkflowDtoVoice_Minimax, CreateWorkflowDtoVoice_Neuphonic, CreateWorkflowDtoVoice_Openai, @@ -1763,6 +2254,7 @@ CreateWorkflowDtoVoice_Tavus, CreateWorkflowDtoVoice_Vapi, CreateWorkflowDtoVoice_Wellsaid, + CreateWorkflowDtoVoice_Xai, ) from .create_workflow_dto_voicemail_detection import CreateWorkflowDtoVoicemailDetection from .create_workflow_dto_voicemail_detection_zero import CreateWorkflowDtoVoicemailDetectionZero @@ -1829,6 +2321,7 @@ from .custom_voice import CustomVoice from .customer_custom_endpointing_rule import CustomerCustomEndpointingRule from .customer_speech_timeout_options import CustomerSpeechTimeoutOptions + from .customer_speech_timeout_options_trigger_reset_mode import CustomerSpeechTimeoutOptionsTriggerResetMode from .deep_infra_credential import DeepInfraCredential from .deep_infra_credential_provider import DeepInfraCredentialProvider from .deep_infra_model import DeepInfraModel @@ -1893,6 +2386,7 @@ from .deepgram_transcriber import DeepgramTranscriber from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel + from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .deepgram_voice import DeepgramVoice from .deepgram_voice_id import DeepgramVoiceId from .deepgram_voice_model import DeepgramVoiceModel @@ -1909,6 +2403,7 @@ ) from .edge import Edge from .eleven_labs_credential import ElevenLabsCredential + from .eleven_labs_credential_api_url import ElevenLabsCredentialApiUrl from .eleven_labs_pronunciation_dictionary import ElevenLabsPronunciationDictionary from .eleven_labs_pronunciation_dictionary_locator import ElevenLabsPronunciationDictionaryLocator from .eleven_labs_pronunciation_dictionary_permission_on_resource import ( @@ -1931,6 +2426,8 @@ EndCallToolMessagesItem_RequestResponseDelayed, EndCallToolMessagesItem_RequestStart, ) + from .ended_reason_condition import EndedReasonCondition + from .ended_reason_condition_operator import EndedReasonConditionOperator from .endpointed_speech_low_confidence_options import EndpointedSpeechLowConfidenceOptions from .eval import Eval from .eval_anthropic_model import EvalAnthropicModel @@ -1981,10 +2478,12 @@ from .export_chat_dto import ExportChatDto from .export_chat_dto_columns import ExportChatDtoColumns from .export_chat_dto_format import ExportChatDtoFormat + from .export_chat_dto_sort_by import ExportChatDtoSortBy from .export_chat_dto_sort_order import ExportChatDtoSortOrder from .export_session_dto import ExportSessionDto from .export_session_dto_columns import ExportSessionDtoColumns from .export_session_dto_format import ExportSessionDtoFormat + from .export_session_dto_sort_by import ExportSessionDtoSortBy from .export_session_dto_sort_order import ExportSessionDtoSortOrder from .failed_edge_condition import FailedEdgeCondition from .fallback_assembly_ai_transcriber import FallbackAssemblyAiTranscriber @@ -2009,6 +2508,7 @@ from .fallback_deepgram_transcriber import FallbackDeepgramTranscriber from .fallback_deepgram_transcriber_language import FallbackDeepgramTranscriberLanguage from .fallback_deepgram_transcriber_model import FallbackDeepgramTranscriberModel + from .fallback_deepgram_transcriber_redaction_item import FallbackDeepgramTranscriberRedactionItem from .fallback_deepgram_voice import FallbackDeepgramVoice from .fallback_deepgram_voice_id import FallbackDeepgramVoiceId from .fallback_deepgram_voice_model import FallbackDeepgramVoiceModel @@ -2022,7 +2522,7 @@ from .fallback_gladia_transcriber import FallbackGladiaTranscriber from .fallback_gladia_transcriber_language import FallbackGladiaTranscriberLanguage from .fallback_gladia_transcriber_language_behaviour import FallbackGladiaTranscriberLanguageBehaviour - from .fallback_gladia_transcriber_languages import FallbackGladiaTranscriberLanguages + from .fallback_gladia_transcriber_languages_item import FallbackGladiaTranscriberLanguagesItem from .fallback_gladia_transcriber_model import FallbackGladiaTranscriberModel from .fallback_gladia_transcriber_region import FallbackGladiaTranscriberRegion from .fallback_google_transcriber import FallbackGoogleTranscriber @@ -2038,6 +2538,10 @@ from .fallback_lmnt_voice_id import FallbackLmntVoiceId from .fallback_lmnt_voice_id_enum import FallbackLmntVoiceIdEnum from .fallback_lmnt_voice_language import FallbackLmntVoiceLanguage + from .fallback_microsoft_voice import FallbackMicrosoftVoice + from .fallback_microsoft_voice_role import FallbackMicrosoftVoiceRole + from .fallback_microsoft_voice_style import FallbackMicrosoftVoiceStyle + from .fallback_microsoft_voice_voice_id import FallbackMicrosoftVoiceVoiceId from .fallback_minimax_voice import FallbackMinimaxVoice from .fallback_minimax_voice_language_boost import FallbackMinimaxVoiceLanguageBoost from .fallback_minimax_voice_model import FallbackMinimaxVoiceModel @@ -2065,6 +2569,7 @@ FallbackPlanVoicesItem_Hume, FallbackPlanVoicesItem_Inworld, FallbackPlanVoicesItem_Lmnt, + FallbackPlanVoicesItem_Microsoft, FallbackPlanVoicesItem_Neuphonic, FallbackPlanVoicesItem_Openai, FallbackPlanVoicesItem_Playht, @@ -2074,6 +2579,7 @@ FallbackPlanVoicesItem_Tavus, FallbackPlanVoicesItem_Vapi, FallbackPlanVoicesItem_Wellsaid, + FallbackPlanVoicesItem_Xai, ) from .fallback_play_ht_voice import FallbackPlayHtVoice from .fallback_play_ht_voice_emotion import FallbackPlayHtVoiceEmotion @@ -2094,6 +2600,7 @@ from .fallback_smallest_ai_voice_model import FallbackSmallestAiVoiceModel from .fallback_soniox_transcriber import FallbackSonioxTranscriber from .fallback_soniox_transcriber_language import FallbackSonioxTranscriberLanguage + from .fallback_soniox_transcriber_languages_item import FallbackSonioxTranscriberLanguagesItem from .fallback_soniox_transcriber_model import FallbackSonioxTranscriberModel from .fallback_speechmatics_transcriber import FallbackSpeechmaticsTranscriber from .fallback_speechmatics_transcriber_language import FallbackSpeechmaticsTranscriberLanguage @@ -2122,11 +2629,20 @@ FallbackTranscriberPlanTranscribersItem_Soniox, FallbackTranscriberPlanTranscribersItem_Speechmatics, FallbackTranscriberPlanTranscribersItem_Talkscriber, + FallbackTranscriberPlanTranscribersItem_Xai, ) from .fallback_vapi_voice import FallbackVapiVoice + from .fallback_vapi_voice_language import FallbackVapiVoiceLanguage + from .fallback_vapi_voice_version import FallbackVapiVoiceVersion from .fallback_vapi_voice_voice_id import FallbackVapiVoiceVoiceId from .fallback_well_said_voice import FallbackWellSaidVoice from .fallback_well_said_voice_model import FallbackWellSaidVoiceModel + from .fallback_xai_transcriber import FallbackXaiTranscriber + from .fallback_xai_transcriber_language import FallbackXaiTranscriberLanguage + from .fallback_xai_transcriber_model import FallbackXaiTranscriberModel + from .fallback_xai_voice import FallbackXaiVoice + from .fallback_xai_voice_language import FallbackXaiVoiceLanguage + from .fallback_xai_voice_voice_id import FallbackXaiVoiceVoiceId from .file import File from .file_object import FileObject from .file_status import FileStatus @@ -2198,13 +2714,18 @@ from .generated_scenario import GeneratedScenario from .generated_scenario_category import GeneratedScenarioCategory from .get_chat_paginated_dto import GetChatPaginatedDto + from .get_chat_paginated_dto_sort_by import GetChatPaginatedDtoSortBy from .get_chat_paginated_dto_sort_order import GetChatPaginatedDtoSortOrder from .get_eval_paginated_dto import GetEvalPaginatedDto + from .get_eval_paginated_dto_sort_by import GetEvalPaginatedDtoSortBy from .get_eval_paginated_dto_sort_order import GetEvalPaginatedDtoSortOrder from .get_eval_run_paginated_dto import GetEvalRunPaginatedDto + from .get_eval_run_paginated_dto_sort_by import GetEvalRunPaginatedDtoSortBy from .get_eval_run_paginated_dto_sort_order import GetEvalRunPaginatedDtoSortOrder from .get_session_paginated_dto import GetSessionPaginatedDto + from .get_session_paginated_dto_sort_by import GetSessionPaginatedDtoSortBy from .get_session_paginated_dto_sort_order import GetSessionPaginatedDtoSortOrder + from .get_tool_drafts_dto import GetToolDraftsDto from .ghl_tool import GhlTool from .ghl_tool_messages_item import ( GhlToolMessagesItem, @@ -2231,7 +2752,7 @@ from .gladia_transcriber import GladiaTranscriber from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour - from .gladia_transcriber_languages import GladiaTranscriberLanguages + from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .gladia_vocabulary_item_dto import GladiaVocabularyItemDto @@ -2454,6 +2975,7 @@ HandoffDestinationAssistantContextEngineeringPlan_All, HandoffDestinationAssistantContextEngineeringPlan_LastNMessages, HandoffDestinationAssistantContextEngineeringPlan_None, + HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages, HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages, ) from .handoff_destination_assistant_type import HandoffDestinationAssistantType @@ -2464,6 +2986,7 @@ HandoffDestinationSquadContextEngineeringPlan_All, HandoffDestinationSquadContextEngineeringPlan_LastNMessages, HandoffDestinationSquadContextEngineeringPlan_None, + HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages, HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages, ) from .handoff_tool import HandoffTool @@ -2553,6 +3076,7 @@ from .insight_type import InsightType from .invite_user_dto import InviteUserDto from .invite_user_dto_role import InviteUserDtoRole + from .invite_user_dto_role_zero import InviteUserDtoRoleZero from .invoice_plan import InvoicePlan from .inworld_credential import InworldCredential from .inworld_credential_provider import InworldCredentialProvider @@ -2618,6 +3142,8 @@ from .langfuse_observability_plan import LangfuseObservabilityPlan from .langfuse_observability_plan_provider import LangfuseObservabilityPlanProvider from .latency_metrics import LatencyMetrics + from .legacy_assistant_version import LegacyAssistantVersion + from .legacy_assistant_version_paginated_response import LegacyAssistantVersionPaginatedResponse from .line_insight import LineInsight from .line_insight_from_call_table import LineInsightFromCallTable from .line_insight_from_call_table_group_by import LineInsightFromCallTableGroupBy @@ -2678,6 +3204,14 @@ from .message_add_hook_action import MessageAddHookAction from .message_target import MessageTarget from .message_target_role import MessageTargetRole + from .microsoft_credential import MicrosoftCredential + from .microsoft_credential_provider import MicrosoftCredentialProvider + from .microsoft_voice import MicrosoftVoice + from .microsoft_voice_role import MicrosoftVoiceRole + from .microsoft_voice_style import MicrosoftVoiceStyle + from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId + from .min_call_duration_condition import MinCallDurationCondition + from .min_messages_condition import MinMessagesCondition from .minimax_llm_model import MinimaxLlmModel from .minimax_llm_model_model import MinimaxLlmModelModel from .minimax_llm_model_tools_item import ( @@ -2725,6 +3259,11 @@ from .neuphonic_voice_model import NeuphonicVoiceModel from .node_artifact import NodeArtifact from .node_artifact_messages_item import NodeArtifactMessagesItem + from .number_comparator_scorecard_metric_condition import NumberComparatorScorecardMetricCondition + from .number_comparator_scorecard_metric_condition_comparator import ( + NumberComparatorScorecardMetricConditionComparator, + ) + from .number_comparator_scorecard_metric_condition_type import NumberComparatorScorecardMetricConditionType from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .o_auth_2_authentication_plan_type import OAuth2AuthenticationPlanType from .oauth_2_authentication_session import Oauth2AuthenticationSession @@ -2739,6 +3278,7 @@ from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from .open_ai_model_model import OpenAiModelModel from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention + from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode from .open_ai_model_tools_item import ( OpenAiModelToolsItem, @@ -2820,6 +3360,9 @@ ) from .output_tool_type import OutputToolType from .pagination_meta import PaginationMeta + from .pagination_meta_sort_order import PaginationMetaSortOrder + from .pending_invitation_dto import PendingInvitationDto + from .pending_invitations_response_dto import PendingInvitationsResponseDto from .performance_metrics import PerformanceMetrics from .perplexity_ai_credential import PerplexityAiCredential from .perplexity_ai_credential_provider import PerplexityAiCredentialProvider @@ -2920,6 +3463,7 @@ from .recording import Recording from .recording_consent import RecordingConsent from .recording_consent_plan_stay_on_line import RecordingConsentPlanStayOnLine + from .recording_consent_plan_stay_on_line_first_message_mode import RecordingConsentPlanStayOnLineFirstMessageMode from .recording_consent_plan_stay_on_line_voice import ( RecordingConsentPlanStayOnLineVoice, RecordingConsentPlanStayOnLineVoice_11Labs, @@ -2930,6 +3474,7 @@ RecordingConsentPlanStayOnLineVoice_Hume, RecordingConsentPlanStayOnLineVoice_Inworld, RecordingConsentPlanStayOnLineVoice_Lmnt, + RecordingConsentPlanStayOnLineVoice_Microsoft, RecordingConsentPlanStayOnLineVoice_Minimax, RecordingConsentPlanStayOnLineVoice_Neuphonic, RecordingConsentPlanStayOnLineVoice_Openai, @@ -2940,8 +3485,10 @@ RecordingConsentPlanStayOnLineVoice_Tavus, RecordingConsentPlanStayOnLineVoice_Vapi, RecordingConsentPlanStayOnLineVoice_Wellsaid, + RecordingConsentPlanStayOnLineVoice_Xai, ) from .recording_consent_plan_verbal import RecordingConsentPlanVerbal + from .recording_consent_plan_verbal_first_message_mode import RecordingConsentPlanVerbalFirstMessageMode from .recording_consent_plan_verbal_voice import ( RecordingConsentPlanVerbalVoice, RecordingConsentPlanVerbalVoice_11Labs, @@ -2952,6 +3499,7 @@ RecordingConsentPlanVerbalVoice_Hume, RecordingConsentPlanVerbalVoice_Inworld, RecordingConsentPlanVerbalVoice_Lmnt, + RecordingConsentPlanVerbalVoice_Microsoft, RecordingConsentPlanVerbalVoice_Minimax, RecordingConsentPlanVerbalVoice_Neuphonic, RecordingConsentPlanVerbalVoice_Openai, @@ -2962,7 +3510,9 @@ RecordingConsentPlanVerbalVoice_Tavus, RecordingConsentPlanVerbalVoice_Vapi, RecordingConsentPlanVerbalVoice_Wellsaid, + RecordingConsentPlanVerbalVoice_Xai, ) + from .recording_consent_type import RecordingConsentType from .regex_condition import RegexCondition from .regex_option import RegexOption from .regex_option_type import RegexOptionType @@ -3003,6 +3553,7 @@ from .response_text_delta_event_type import ResponseTextDeltaEventType from .response_text_done_event import ResponseTextDoneEvent from .response_text_done_event_type import ResponseTextDoneEventType + from .revoke_invitation_response_dto import RevokeInvitationResponseDto from .rime_ai_credential import RimeAiCredential from .rime_ai_credential_provider import RimeAiCredentialProvider from .rime_ai_voice import RimeAiVoice @@ -3012,10 +3563,14 @@ from .rime_ai_voice_model import RimeAiVoiceModel from .runpod_credential import RunpodCredential from .runpod_credential_provider import RunpodCredentialProvider + from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan + from .s_3_compatible_storage_credential import S3CompatibleStorageCredential + from .s_3_compatible_storage_credential_provider import S3CompatibleStorageCredentialProvider from .s_3_credential import S3Credential from .s_3_credential_provider import S3CredentialProvider from .say_assistant_hook_action import SayAssistantHookAction from .say_hook_action import SayHookAction + from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt from .say_hook_action_prompt_one_item import SayHookActionPromptOneItem from .say_phone_number_hook_action import SayPhoneNumberHookAction @@ -3030,6 +3585,7 @@ from .schedule_plan import SchedulePlan from .scorecard import Scorecard from .scorecard_metric import ScorecardMetric + from .scorecard_metric_conditions_item import ScorecardMetricConditionsItem from .scorecard_paginated_response import ScorecardPaginatedResponse from .security_filter_base import SecurityFilterBase from .security_filter_plan import SecurityFilterPlan @@ -3093,6 +3649,16 @@ ServerMessageCallEndpointingRequestPhoneNumber_Vonage, ) from .server_message_call_endpointing_request_type import ServerMessageCallEndpointingRequestType + from .server_message_campaign_predial import ServerMessageCampaignPredial + from .server_message_campaign_predial_phone_number import ( + ServerMessageCampaignPredialPhoneNumber, + ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber, + ServerMessageCampaignPredialPhoneNumber_Telnyx, + ServerMessageCampaignPredialPhoneNumber_Twilio, + ServerMessageCampaignPredialPhoneNumber_Vapi, + ServerMessageCampaignPredialPhoneNumber_Vonage, + ) + from .server_message_campaign_predial_type import ServerMessageCampaignPredialType from .server_message_chat_created import ServerMessageChatCreated from .server_message_chat_created_phone_number import ( ServerMessageChatCreatedPhoneNumber, @@ -3227,6 +3793,7 @@ ServerMessageResponseAssistantRequestDestination_Sip, ) from .server_message_response_call_endpointing_request import ServerMessageResponseCallEndpointingRequest + from .server_message_response_campaign_predial import ServerMessageResponseCampaignPredial from .server_message_response_handoff_destination_request import ServerMessageResponseHandoffDestinationRequest from .server_message_response_knowledge_base_request import ServerMessageResponseKnowledgeBaseRequest from .server_message_response_message_response import ServerMessageResponseMessageResponse @@ -3446,6 +4013,8 @@ from .simulation_run_transport_configuration import SimulationRunTransportConfiguration from .simulation_run_transport_configuration_provider import SimulationRunTransportConfigurationProvider from .simulation_suite import SimulationSuite + from .simulation_suite_target_assignment import SimulationSuiteTargetAssignment + from .simulation_suite_target_assignment_target_type import SimulationSuiteTargetAssignmentTargetType from .sip_authentication import SipAuthentication from .sip_request_tool import SipRequestTool from .sip_request_tool_body import SipRequestToolBody @@ -3461,6 +4030,13 @@ from .sip_trunk_gateway_outbound_protocol import SipTrunkGatewayOutboundProtocol from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .sip_trunk_outbound_sip_register_plan import SipTrunkOutboundSipRegisterPlan + from .skipped_structured_output import SkippedStructuredOutput + from .skipped_structured_output_unmet_condition import ( + SkippedStructuredOutputUnmetCondition, + SkippedStructuredOutputUnmetCondition_EndedReason, + SkippedStructuredOutputUnmetCondition_MinCallDuration, + SkippedStructuredOutputUnmetCondition_MinMessages, + ) from .slack_o_auth_2_authorization_credential import SlackOAuth2AuthorizationCredential from .slack_o_auth_2_authorization_credential_provider import SlackOAuth2AuthorizationCredentialProvider from .slack_send_message_tool import SlackSendMessageTool @@ -3488,10 +4064,12 @@ SmsToolMessagesItem_RequestResponseDelayed, SmsToolMessagesItem_RequestStart, ) + from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_credential import SonioxCredential from .soniox_credential_provider import SonioxCredentialProvider from .soniox_transcriber import SonioxTranscriber from .soniox_transcriber_language import SonioxTranscriberLanguage + from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_credential import SpeechmaticsCredential from .speechmatics_credential_provider import SpeechmaticsCredentialProvider @@ -3524,6 +4102,12 @@ from .structured_data_multi_plan import StructuredDataMultiPlan from .structured_data_plan import StructuredDataPlan from .structured_output import StructuredOutput + from .structured_output_conditions_item import ( + StructuredOutputConditionsItem, + StructuredOutputConditionsItem_EndedReason, + StructuredOutputConditionsItem_MinCallDuration, + StructuredOutputConditionsItem_MinMessages, + ) from .structured_output_evaluation_result import StructuredOutputEvaluationResult from .structured_output_evaluation_result_comparator import StructuredOutputEvaluationResultComparator from .structured_output_evaluation_result_expected_value import StructuredOutputEvaluationResultExpectedValue @@ -3538,6 +4122,10 @@ StructuredOutputModel_Openai, ) from .structured_output_paginated_response import StructuredOutputPaginatedResponse + from .structured_output_rerun_response import StructuredOutputRerunResponse + from .structured_output_run_preview_response import StructuredOutputRunPreviewResponse + from .structured_output_run_result import StructuredOutputRunResult + from .structured_output_run_result_result import StructuredOutputRunResultResult from .structured_output_type import StructuredOutputType from .subscription import Subscription from .subscription_limits import SubscriptionLimits @@ -3576,6 +4164,8 @@ TelnyxPhoneNumberHooksItem_CallRinging, ) from .telnyx_phone_number_status import TelnyxPhoneNumberStatus + from .telnyx_transport import TelnyxTransport + from .telnyx_transport_conversation_type import TelnyxTransportConversationType from .template import Template from .template_details import ( TemplateDetails, @@ -3738,12 +4328,33 @@ from .tool_call_hook_action_type import ToolCallHookActionType from .tool_call_message import ToolCallMessage from .tool_call_result import ToolCallResult - from .tool_call_result_message import ToolCallResultMessage + from .tool_call_result_message import ( + ToolCallResultMessage, + ToolCallResultMessage_RequestComplete, + ToolCallResultMessage_RequestFailed, + ) + from .tool_call_result_message_warning import ToolCallResultMessageWarning + from .tool_call_result_message_warning_type import ToolCallResultMessageWarningType + from .tool_draft import ToolDraft + from .tool_draft_conflict_response_dto import ToolDraftConflictResponseDto + from .tool_draft_messages_item import ( + ToolDraftMessagesItem, + ToolDraftMessagesItem_RequestComplete, + ToolDraftMessagesItem_RequestFailed, + ToolDraftMessagesItem_RequestResponseDelayed, + ToolDraftMessagesItem_RequestStart, + ) + from .tool_draft_method import ToolDraftMethod + from .tool_draft_paginated_metadata import ToolDraftPaginatedMetadata + from .tool_draft_paginated_response import ToolDraftPaginatedResponse + from .tool_draft_type import ToolDraftType + from .tool_draft_verb import ToolDraftVerb from .tool_message import ToolMessage from .tool_message_complete import ToolMessageComplete from .tool_message_complete_role import ToolMessageCompleteRole from .tool_message_delayed import ToolMessageDelayed from .tool_message_failed import ToolMessageFailed + from .tool_message_failed_role import ToolMessageFailedRole from .tool_message_role import ToolMessageRole from .tool_message_start import ToolMessageStart from .tool_node import ToolNode @@ -3775,6 +4386,9 @@ ) from .tool_parameter import ToolParameter from .tool_parameter_value import ToolParameterValue + from .tool_pinned_conflict_response_dto import ToolPinnedConflictResponseDto + from .tool_pinned_conflict_response_dto_error import ToolPinnedConflictResponseDtoError + from .tool_ref import ToolRef from .tool_rejection_plan import ToolRejectionPlan from .tool_rejection_plan_conditions_item import ( ToolRejectionPlanConditionsItem, @@ -3784,9 +4398,21 @@ ) from .tool_template_metadata import ToolTemplateMetadata from .tool_template_setup import ToolTemplateSetup + from .tool_version import ToolVersion + from .tool_version_paginated_metadata import ToolVersionPaginatedMetadata + from .tool_version_paginated_response import ToolVersionPaginatedResponse from .transcriber_cost import TranscriberCost from .transcript_plan import TranscriptPlan from .transcription_endpointing_plan import TranscriptionEndpointingPlan + from .transfer_artifact import TransferArtifact + from .transfer_artifact_destination import ( + TransferArtifactDestination, + TransferArtifactDestination_Number, + TransferArtifactDestination_Sip, + ) + from .transfer_artifact_messages_item import TransferArtifactMessagesItem + from .transfer_artifact_mode import TransferArtifactMode + from .transfer_artifact_status import TransferArtifactStatus from .transfer_assistant import TransferAssistant from .transfer_assistant_background_sound import TransferAssistantBackgroundSound from .transfer_assistant_background_sound_zero import TransferAssistantBackgroundSoundZero @@ -3808,6 +4434,8 @@ TransferAssistantTranscriber_Soniox, TransferAssistantTranscriber_Speechmatics, TransferAssistantTranscriber_Talkscriber, + TransferAssistantTranscriber_Vapi, + TransferAssistantTranscriber_Xai, ) from .transfer_assistant_voice import ( TransferAssistantVoice, @@ -3819,6 +4447,7 @@ TransferAssistantVoice_Hume, TransferAssistantVoice_Inworld, TransferAssistantVoice_Lmnt, + TransferAssistantVoice_Microsoft, TransferAssistantVoice_Minimax, TransferAssistantVoice_Neuphonic, TransferAssistantVoice_Openai, @@ -3829,6 +4458,7 @@ TransferAssistantVoice_Tavus, TransferAssistantVoice_Vapi, TransferAssistantVoice_Wellsaid, + TransferAssistantVoice_Xai, ) from .transfer_call_tool import TransferCallTool from .transfer_call_tool_destinations_item import ( @@ -3899,17 +4529,8 @@ from .transport_configuration_twilio_recording_channels import TransportConfigurationTwilioRecordingChannels from .transport_cost import TransportCost from .transport_cost_provider import TransportCostProvider - from .trieve_credential import TrieveCredential - from .trieve_credential_provider import TrieveCredentialProvider from .trieve_knowledge_base import TrieveKnowledgeBase - from .trieve_knowledge_base_chunk_plan import TrieveKnowledgeBaseChunkPlan - from .trieve_knowledge_base_create import TrieveKnowledgeBaseCreate - from .trieve_knowledge_base_create_type import TrieveKnowledgeBaseCreateType from .trieve_knowledge_base_import import TrieveKnowledgeBaseImport - from .trieve_knowledge_base_import_type import TrieveKnowledgeBaseImportType - from .trieve_knowledge_base_provider import TrieveKnowledgeBaseProvider - from .trieve_knowledge_base_search_plan import TrieveKnowledgeBaseSearchPlan - from .trieve_knowledge_base_search_plan_search_type import TrieveKnowledgeBaseSearchPlanSearchType from .turn_latency import TurnLatency from .twilio_credential import TwilioCredential from .twilio_credential_provider import TwilioCredentialProvider @@ -3928,6 +4549,8 @@ from .twilio_sms_chat_transport import TwilioSmsChatTransport from .twilio_sms_chat_transport_conversation_type import TwilioSmsChatTransportConversationType from .twilio_sms_chat_transport_type import TwilioSmsChatTransportType + from .twilio_transport import TwilioTransport + from .twilio_transport_conversation_type import TwilioTransportConversationType from .twilio_transport_message import TwilioTransportMessage from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan from .twilio_voicemail_detection_plan_provider import TwilioVoicemailDetectionPlanProvider @@ -3940,9 +4563,12 @@ UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam, UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts, ) + from .update_anthropic_bedrock_credential_dto_provider import UpdateAnthropicBedrockCredentialDtoProvider from .update_anthropic_bedrock_credential_dto_region import UpdateAnthropicBedrockCredentialDtoRegion from .update_anthropic_credential_dto import UpdateAnthropicCredentialDto + from .update_anthropic_credential_dto_provider import UpdateAnthropicCredentialDtoProvider from .update_anyscale_credential_dto import UpdateAnyscaleCredentialDto + from .update_anyscale_credential_dto_provider import UpdateAnyscaleCredentialDtoProvider from .update_api_request_tool_dto import UpdateApiRequestToolDto from .update_api_request_tool_dto_messages_item import ( UpdateApiRequestToolDtoMessagesItem, @@ -3953,11 +4579,144 @@ ) from .update_api_request_tool_dto_method import UpdateApiRequestToolDtoMethod from .update_assembly_ai_credential_dto import UpdateAssemblyAiCredentialDto + from .update_assembly_ai_credential_dto_provider import UpdateAssemblyAiCredentialDtoProvider + from .update_assistant_draft_dto import UpdateAssistantDraftDto + from .update_assistant_draft_dto_background_sound import UpdateAssistantDraftDtoBackgroundSound + from .update_assistant_draft_dto_background_sound_zero import UpdateAssistantDraftDtoBackgroundSoundZero + from .update_assistant_draft_dto_client_messages_item import UpdateAssistantDraftDtoClientMessagesItem + from .update_assistant_draft_dto_credentials_item import ( + UpdateAssistantDraftDtoCredentialsItem, + UpdateAssistantDraftDtoCredentialsItem_11Labs, + UpdateAssistantDraftDtoCredentialsItem_Anthropic, + UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + UpdateAssistantDraftDtoCredentialsItem_Anyscale, + UpdateAssistantDraftDtoCredentialsItem_AssemblyAi, + UpdateAssistantDraftDtoCredentialsItem_Azure, + UpdateAssistantDraftDtoCredentialsItem_AzureOpenai, + UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + UpdateAssistantDraftDtoCredentialsItem_Cartesia, + UpdateAssistantDraftDtoCredentialsItem_Cerebras, + UpdateAssistantDraftDtoCredentialsItem_Cloudflare, + UpdateAssistantDraftDtoCredentialsItem_CustomCredential, + UpdateAssistantDraftDtoCredentialsItem_CustomLlm, + UpdateAssistantDraftDtoCredentialsItem_DeepSeek, + UpdateAssistantDraftDtoCredentialsItem_Deepgram, + UpdateAssistantDraftDtoCredentialsItem_Deepinfra, + UpdateAssistantDraftDtoCredentialsItem_Email, + UpdateAssistantDraftDtoCredentialsItem_Gcp, + UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_Gladia, + UpdateAssistantDraftDtoCredentialsItem_Gohighlevel, + UpdateAssistantDraftDtoCredentialsItem_Google, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_Groq, + UpdateAssistantDraftDtoCredentialsItem_Hume, + UpdateAssistantDraftDtoCredentialsItem_InflectionAi, + UpdateAssistantDraftDtoCredentialsItem_Inworld, + UpdateAssistantDraftDtoCredentialsItem_Langfuse, + UpdateAssistantDraftDtoCredentialsItem_Lmnt, + UpdateAssistantDraftDtoCredentialsItem_Make, + UpdateAssistantDraftDtoCredentialsItem_Microsoft, + UpdateAssistantDraftDtoCredentialsItem_Minimax, + UpdateAssistantDraftDtoCredentialsItem_Mistral, + UpdateAssistantDraftDtoCredentialsItem_Neuphonic, + UpdateAssistantDraftDtoCredentialsItem_Openai, + UpdateAssistantDraftDtoCredentialsItem_Openrouter, + UpdateAssistantDraftDtoCredentialsItem_PerplexityAi, + UpdateAssistantDraftDtoCredentialsItem_Playht, + UpdateAssistantDraftDtoCredentialsItem_RimeAi, + UpdateAssistantDraftDtoCredentialsItem_Runpod, + UpdateAssistantDraftDtoCredentialsItem_S3, + UpdateAssistantDraftDtoCredentialsItem_S3Compatible, + UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_SlackWebhook, + UpdateAssistantDraftDtoCredentialsItem_SmallestAi, + UpdateAssistantDraftDtoCredentialsItem_Soniox, + UpdateAssistantDraftDtoCredentialsItem_Speechmatics, + UpdateAssistantDraftDtoCredentialsItem_Supabase, + UpdateAssistantDraftDtoCredentialsItem_Tavus, + UpdateAssistantDraftDtoCredentialsItem_TogetherAi, + UpdateAssistantDraftDtoCredentialsItem_Twilio, + UpdateAssistantDraftDtoCredentialsItem_Vonage, + UpdateAssistantDraftDtoCredentialsItem_Webhook, + UpdateAssistantDraftDtoCredentialsItem_Wellsaid, + UpdateAssistantDraftDtoCredentialsItem_Xai, + ) + from .update_assistant_draft_dto_first_message_mode import UpdateAssistantDraftDtoFirstMessageMode + from .update_assistant_draft_dto_hooks_item import UpdateAssistantDraftDtoHooksItem + from .update_assistant_draft_dto_model import ( + UpdateAssistantDraftDtoModel, + UpdateAssistantDraftDtoModel_Anthropic, + UpdateAssistantDraftDtoModel_AnthropicBedrock, + UpdateAssistantDraftDtoModel_Anyscale, + UpdateAssistantDraftDtoModel_Cerebras, + UpdateAssistantDraftDtoModel_CustomLlm, + UpdateAssistantDraftDtoModel_DeepSeek, + UpdateAssistantDraftDtoModel_Deepinfra, + UpdateAssistantDraftDtoModel_Google, + UpdateAssistantDraftDtoModel_Groq, + UpdateAssistantDraftDtoModel_InflectionAi, + UpdateAssistantDraftDtoModel_Minimax, + UpdateAssistantDraftDtoModel_Openai, + UpdateAssistantDraftDtoModel_Openrouter, + UpdateAssistantDraftDtoModel_PerplexityAi, + UpdateAssistantDraftDtoModel_TogetherAi, + UpdateAssistantDraftDtoModel_Vapi, + UpdateAssistantDraftDtoModel_Xai, + ) + from .update_assistant_draft_dto_server_messages_item import UpdateAssistantDraftDtoServerMessagesItem + from .update_assistant_draft_dto_transcriber import ( + UpdateAssistantDraftDtoTranscriber, + UpdateAssistantDraftDtoTranscriber_11Labs, + UpdateAssistantDraftDtoTranscriber_AssemblyAi, + UpdateAssistantDraftDtoTranscriber_Azure, + UpdateAssistantDraftDtoTranscriber_Cartesia, + UpdateAssistantDraftDtoTranscriber_CustomTranscriber, + UpdateAssistantDraftDtoTranscriber_Deepgram, + UpdateAssistantDraftDtoTranscriber_Gladia, + UpdateAssistantDraftDtoTranscriber_Google, + UpdateAssistantDraftDtoTranscriber_Openai, + UpdateAssistantDraftDtoTranscriber_Soniox, + UpdateAssistantDraftDtoTranscriber_Speechmatics, + UpdateAssistantDraftDtoTranscriber_Talkscriber, + UpdateAssistantDraftDtoTranscriber_Vapi, + UpdateAssistantDraftDtoTranscriber_Xai, + ) + from .update_assistant_draft_dto_voice import ( + UpdateAssistantDraftDtoVoice, + UpdateAssistantDraftDtoVoice_11Labs, + UpdateAssistantDraftDtoVoice_Azure, + UpdateAssistantDraftDtoVoice_Cartesia, + UpdateAssistantDraftDtoVoice_CustomVoice, + UpdateAssistantDraftDtoVoice_Deepgram, + UpdateAssistantDraftDtoVoice_Hume, + UpdateAssistantDraftDtoVoice_Inworld, + UpdateAssistantDraftDtoVoice_Lmnt, + UpdateAssistantDraftDtoVoice_Microsoft, + UpdateAssistantDraftDtoVoice_Minimax, + UpdateAssistantDraftDtoVoice_Neuphonic, + UpdateAssistantDraftDtoVoice_Openai, + UpdateAssistantDraftDtoVoice_Playht, + UpdateAssistantDraftDtoVoice_RimeAi, + UpdateAssistantDraftDtoVoice_Sesame, + UpdateAssistantDraftDtoVoice_SmallestAi, + UpdateAssistantDraftDtoVoice_Tavus, + UpdateAssistantDraftDtoVoice_Vapi, + UpdateAssistantDraftDtoVoice_Wellsaid, + UpdateAssistantDraftDtoVoice_Xai, + ) + from .update_assistant_draft_dto_voicemail_detection import UpdateAssistantDraftDtoVoicemailDetection + from .update_assistant_draft_dto_voicemail_detection_zero import UpdateAssistantDraftDtoVoicemailDetectionZero + from .update_assistant_version_metadata_dto import UpdateAssistantVersionMetadataDto from .update_azure_credential_dto import UpdateAzureCredentialDto + from .update_azure_credential_dto_provider import UpdateAzureCredentialDtoProvider from .update_azure_credential_dto_region import UpdateAzureCredentialDtoRegion from .update_azure_credential_dto_service import UpdateAzureCredentialDtoService from .update_azure_open_ai_credential_dto import UpdateAzureOpenAiCredentialDto from .update_azure_open_ai_credential_dto_models_item import UpdateAzureOpenAiCredentialDtoModelsItem + from .update_azure_open_ai_credential_dto_provider import UpdateAzureOpenAiCredentialDtoProvider from .update_azure_open_ai_credential_dto_region import UpdateAzureOpenAiCredentialDtoRegion from .update_bar_insight_from_call_table_dto import UpdateBarInsightFromCallTableDto from .update_bar_insight_from_call_table_dto_group_by import UpdateBarInsightFromCallTableDtoGroupBy @@ -3984,9 +4743,15 @@ UpdateByoPhoneNumberDtoHooksItem_CallRinging, ) from .update_byo_sip_trunk_credential_dto import UpdateByoSipTrunkCredentialDto + from .update_byo_sip_trunk_credential_dto_provider import UpdateByoSipTrunkCredentialDtoProvider + from .update_campaign_dto import UpdateCampaignDto + from .update_campaign_dto_status import UpdateCampaignDtoStatus from .update_cartesia_credential_dto import UpdateCartesiaCredentialDto + from .update_cartesia_credential_dto_provider import UpdateCartesiaCredentialDtoProvider from .update_cerebras_credential_dto import UpdateCerebrasCredentialDto + from .update_cerebras_credential_dto_provider import UpdateCerebrasCredentialDtoProvider from .update_cloudflare_credential_dto import UpdateCloudflareCredentialDto + from .update_cloudflare_credential_dto_provider import UpdateCloudflareCredentialDtoProvider from .update_code_tool_dto import UpdateCodeToolDto from .update_code_tool_dto_messages_item import ( UpdateCodeToolDtoMessagesItem, @@ -3995,6 +4760,7 @@ UpdateCodeToolDtoMessagesItem_RequestResponseDelayed, UpdateCodeToolDtoMessagesItem_RequestStart, ) + from .update_code_tool_dto_type import UpdateCodeToolDtoType from .update_computer_tool_dto import UpdateComputerToolDto from .update_computer_tool_dto_messages_item import ( UpdateComputerToolDtoMessagesItem, @@ -4016,11 +4782,17 @@ UpdateCustomCredentialDtoEncryptionPlan, UpdateCustomCredentialDtoEncryptionPlan_PublicKey, ) + from .update_custom_credential_dto_provider import UpdateCustomCredentialDtoProvider from .update_custom_knowledge_base_dto import UpdateCustomKnowledgeBaseDto + from .update_custom_knowledge_base_dto_provider import UpdateCustomKnowledgeBaseDtoProvider from .update_custom_llm_credential_dto import UpdateCustomLlmCredentialDto + from .update_custom_llm_credential_dto_provider import UpdateCustomLlmCredentialDtoProvider from .update_deep_infra_credential_dto import UpdateDeepInfraCredentialDto + from .update_deep_infra_credential_dto_provider import UpdateDeepInfraCredentialDtoProvider from .update_deep_seek_credential_dto import UpdateDeepSeekCredentialDto + from .update_deep_seek_credential_dto_provider import UpdateDeepSeekCredentialDtoProvider from .update_deepgram_credential_dto import UpdateDeepgramCredentialDto + from .update_deepgram_credential_dto_provider import UpdateDeepgramCredentialDtoProvider from .update_dtmf_tool_dto import UpdateDtmfToolDto from .update_dtmf_tool_dto_messages_item import ( UpdateDtmfToolDtoMessagesItem, @@ -4030,7 +4802,9 @@ UpdateDtmfToolDtoMessagesItem_RequestStart, ) from .update_eleven_labs_credential_dto import UpdateElevenLabsCredentialDto + from .update_eleven_labs_credential_dto_api_url import UpdateElevenLabsCredentialDtoApiUrl from .update_email_credential_dto import UpdateEmailCredentialDto + from .update_email_credential_dto_provider import UpdateEmailCredentialDtoProvider from .update_end_call_tool_dto import UpdateEndCallToolDto from .update_end_call_tool_dto_messages_item import ( UpdateEndCallToolDtoMessagesItem, @@ -4048,6 +4822,7 @@ UpdateFunctionToolDtoMessagesItem_RequestStart, ) from .update_gcp_credential_dto import UpdateGcpCredentialDto + from .update_gcp_credential_dto_provider import UpdateGcpCredentialDtoProvider from .update_ghl_tool_dto import UpdateGhlToolDto from .update_ghl_tool_dto_messages_item import ( UpdateGhlToolDtoMessagesItem, @@ -4056,7 +4831,9 @@ UpdateGhlToolDtoMessagesItem_RequestResponseDelayed, UpdateGhlToolDtoMessagesItem_RequestStart, ) + from .update_ghl_tool_dto_type import UpdateGhlToolDtoType from .update_gladia_credential_dto import UpdateGladiaCredentialDto + from .update_gladia_credential_dto_provider import UpdateGladiaCredentialDtoProvider from .update_go_high_level_calendar_availability_tool_dto import UpdateGoHighLevelCalendarAvailabilityToolDto from .update_go_high_level_calendar_availability_tool_dto_messages_item import ( UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem, @@ -4090,7 +4867,9 @@ UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart, ) from .update_go_high_level_credential_dto import UpdateGoHighLevelCredentialDto + from .update_go_high_level_credential_dto_provider import UpdateGoHighLevelCredentialDtoProvider from .update_go_high_level_mcp_credential_dto import UpdateGoHighLevelMcpCredentialDto + from .update_go_high_level_mcp_credential_dto_provider import UpdateGoHighLevelMcpCredentialDtoProvider from .update_google_calendar_check_availability_tool_dto import UpdateGoogleCalendarCheckAvailabilityToolDto from .update_google_calendar_check_availability_tool_dto_messages_item import ( UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem, @@ -4110,11 +4889,21 @@ from .update_google_calendar_o_auth_2_authorization_credential_dto import ( UpdateGoogleCalendarOAuth2AuthorizationCredentialDto, ) + from .update_google_calendar_o_auth_2_authorization_credential_dto_provider import ( + UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider, + ) from .update_google_calendar_o_auth_2_client_credential_dto import UpdateGoogleCalendarOAuth2ClientCredentialDto + from .update_google_calendar_o_auth_2_client_credential_dto_provider import ( + UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider, + ) from .update_google_credential_dto import UpdateGoogleCredentialDto + from .update_google_credential_dto_provider import UpdateGoogleCredentialDtoProvider from .update_google_sheets_o_auth_2_authorization_credential_dto import ( UpdateGoogleSheetsOAuth2AuthorizationCredentialDto, ) + from .update_google_sheets_o_auth_2_authorization_credential_dto_provider import ( + UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider, + ) from .update_google_sheets_row_append_tool_dto import UpdateGoogleSheetsRowAppendToolDto from .update_google_sheets_row_append_tool_dto_messages_item import ( UpdateGoogleSheetsRowAppendToolDtoMessagesItem, @@ -4124,6 +4913,7 @@ UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart, ) from .update_groq_credential_dto import UpdateGroqCredentialDto + from .update_groq_credential_dto_provider import UpdateGroqCredentialDtoProvider from .update_handoff_tool_dto import UpdateHandoffToolDto from .update_handoff_tool_dto_destinations_item import ( UpdateHandoffToolDtoDestinationsItem, @@ -4139,14 +4929,20 @@ UpdateHandoffToolDtoMessagesItem_RequestStart, ) from .update_hume_credential_dto import UpdateHumeCredentialDto + from .update_hume_credential_dto_provider import UpdateHumeCredentialDtoProvider from .update_inflection_ai_credential_dto import UpdateInflectionAiCredentialDto + from .update_inflection_ai_credential_dto_provider import UpdateInflectionAiCredentialDtoProvider from .update_inworld_credential_dto import UpdateInworldCredentialDto + from .update_inworld_credential_dto_provider import UpdateInworldCredentialDtoProvider from .update_langfuse_credential_dto import UpdateLangfuseCredentialDto + from .update_langfuse_credential_dto_provider import UpdateLangfuseCredentialDtoProvider from .update_line_insight_from_call_table_dto import UpdateLineInsightFromCallTableDto from .update_line_insight_from_call_table_dto_group_by import UpdateLineInsightFromCallTableDtoGroupBy from .update_line_insight_from_call_table_dto_queries_item import UpdateLineInsightFromCallTableDtoQueriesItem from .update_lmnt_credential_dto import UpdateLmntCredentialDto + from .update_lmnt_credential_dto_provider import UpdateLmntCredentialDtoProvider from .update_make_credential_dto import UpdateMakeCredentialDto + from .update_make_credential_dto_provider import UpdateMakeCredentialDtoProvider from .update_make_tool_dto import UpdateMakeToolDto from .update_make_tool_dto_messages_item import ( UpdateMakeToolDtoMessagesItem, @@ -4155,6 +4951,7 @@ UpdateMakeToolDtoMessagesItem_RequestResponseDelayed, UpdateMakeToolDtoMessagesItem_RequestStart, ) + from .update_make_tool_dto_type import UpdateMakeToolDtoType from .update_mcp_tool_dto import UpdateMcpToolDto from .update_mcp_tool_dto_messages_item import ( UpdateMcpToolDtoMessagesItem, @@ -4163,10 +4960,16 @@ UpdateMcpToolDtoMessagesItem_RequestResponseDelayed, UpdateMcpToolDtoMessagesItem_RequestStart, ) + from .update_microsoft_credential_dto import UpdateMicrosoftCredentialDto + from .update_microsoft_credential_dto_provider import UpdateMicrosoftCredentialDtoProvider from .update_mistral_credential_dto import UpdateMistralCredentialDto + from .update_mistral_credential_dto_provider import UpdateMistralCredentialDtoProvider from .update_neuphonic_credential_dto import UpdateNeuphonicCredentialDto + from .update_neuphonic_credential_dto_provider import UpdateNeuphonicCredentialDtoProvider from .update_open_ai_credential_dto import UpdateOpenAiCredentialDto + from .update_open_ai_credential_dto_provider import UpdateOpenAiCredentialDtoProvider from .update_open_router_credential_dto import UpdateOpenRouterCredentialDto + from .update_open_router_credential_dto_provider import UpdateOpenRouterCredentialDtoProvider from .update_org_dto import UpdateOrgDto from .update_org_dto_channel import UpdateOrgDtoChannel from .update_output_tool_dto import UpdateOutputToolDto @@ -4177,12 +4980,15 @@ UpdateOutputToolDtoMessagesItem_RequestResponseDelayed, UpdateOutputToolDtoMessagesItem_RequestStart, ) + from .update_output_tool_dto_type import UpdateOutputToolDtoType from .update_perplexity_ai_credential_dto import UpdatePerplexityAiCredentialDto + from .update_perplexity_ai_credential_dto_provider import UpdatePerplexityAiCredentialDtoProvider from .update_personality_dto import UpdatePersonalityDto from .update_pie_insight_from_call_table_dto import UpdatePieInsightFromCallTableDto from .update_pie_insight_from_call_table_dto_group_by import UpdatePieInsightFromCallTableDtoGroupBy from .update_pie_insight_from_call_table_dto_queries_item import UpdatePieInsightFromCallTableDtoQueriesItem from .update_play_ht_credential_dto import UpdatePlayHtCredentialDto + from .update_play_ht_credential_dto_provider import UpdatePlayHtCredentialDtoProvider from .update_query_tool_dto import UpdateQueryToolDto from .update_query_tool_dto_messages_item import ( UpdateQueryToolDtoMessagesItem, @@ -4192,8 +4998,14 @@ UpdateQueryToolDtoMessagesItem_RequestStart, ) from .update_rime_ai_credential_dto import UpdateRimeAiCredentialDto + from .update_rime_ai_credential_dto_provider import UpdateRimeAiCredentialDtoProvider from .update_runpod_credential_dto import UpdateRunpodCredentialDto + from .update_runpod_credential_dto_provider import UpdateRunpodCredentialDtoProvider + from .update_s_3_compatible_bucket_plan_dto import UpdateS3CompatibleBucketPlanDto + from .update_s_3_compatible_credential_dto import UpdateS3CompatibleCredentialDto + from .update_s_3_compatible_credential_dto_provider import UpdateS3CompatibleCredentialDtoProvider from .update_s_3_credential_dto import UpdateS3CredentialDto + from .update_s_3_credential_dto_provider import UpdateS3CredentialDtoProvider from .update_scenario_dto import UpdateScenarioDto from .update_scenario_dto_hooks_item import ( UpdateScenarioDtoHooksItem, @@ -4213,6 +5025,9 @@ ) from .update_sip_request_tool_dto_verb import UpdateSipRequestToolDtoVerb from .update_slack_o_auth_2_authorization_credential_dto import UpdateSlackOAuth2AuthorizationCredentialDto + from .update_slack_o_auth_2_authorization_credential_dto_provider import ( + UpdateSlackOAuth2AuthorizationCredentialDtoProvider, + ) from .update_slack_send_message_tool_dto import UpdateSlackSendMessageToolDto from .update_slack_send_message_tool_dto_messages_item import ( UpdateSlackSendMessageToolDtoMessagesItem, @@ -4222,6 +5037,7 @@ UpdateSlackSendMessageToolDtoMessagesItem_RequestStart, ) from .update_slack_webhook_credential_dto import UpdateSlackWebhookCredentialDto + from .update_slack_webhook_credential_dto_provider import UpdateSlackWebhookCredentialDtoProvider from .update_sms_tool_dto import UpdateSmsToolDto from .update_sms_tool_dto_messages_item import ( UpdateSmsToolDtoMessagesItem, @@ -4231,6 +5047,7 @@ UpdateSmsToolDtoMessagesItem_RequestStart, ) from .update_soniox_credential_dto import UpdateSonioxCredentialDto + from .update_soniox_credential_dto_provider import UpdateSonioxCredentialDtoProvider from .update_telnyx_phone_number_dto import UpdateTelnyxPhoneNumberDto from .update_telnyx_phone_number_dto_fallback_destination import ( UpdateTelnyxPhoneNumberDtoFallbackDestination, @@ -4261,8 +5078,20 @@ from .update_text_insight_from_call_table_dto import UpdateTextInsightFromCallTableDto from .update_text_insight_from_call_table_dto_queries_item import UpdateTextInsightFromCallTableDtoQueriesItem from .update_together_ai_credential_dto import UpdateTogetherAiCredentialDto + from .update_together_ai_credential_dto_provider import UpdateTogetherAiCredentialDtoProvider from .update_token_dto import UpdateTokenDto from .update_token_dto_tag import UpdateTokenDtoTag + from .update_tool_draft_dto import UpdateToolDraftDto + from .update_tool_draft_dto_messages_item import ( + UpdateToolDraftDtoMessagesItem, + UpdateToolDraftDtoMessagesItem_RequestComplete, + UpdateToolDraftDtoMessagesItem_RequestFailed, + UpdateToolDraftDtoMessagesItem_RequestResponseDelayed, + UpdateToolDraftDtoMessagesItem_RequestStart, + ) + from .update_tool_draft_dto_method import UpdateToolDraftDtoMethod + from .update_tool_draft_dto_type import UpdateToolDraftDtoType + from .update_tool_draft_dto_verb import UpdateToolDraftDtoVerb from .update_tool_template_dto import UpdateToolTemplateDto from .update_tool_template_dto_details import ( UpdateToolTemplateDtoDetails, @@ -4305,6 +5134,7 @@ ) from .update_tool_template_dto_type import UpdateToolTemplateDtoType from .update_tool_template_dto_visibility import UpdateToolTemplateDtoVisibility + from .update_tool_version_metadata_dto import UpdateToolVersionMetadataDto from .update_transfer_call_tool_dto import UpdateTransferCallToolDto from .update_transfer_call_tool_dto_destinations_item import ( UpdateTransferCallToolDtoDestinationsItem, @@ -4319,9 +5149,9 @@ UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed, UpdateTransferCallToolDtoMessagesItem_RequestStart, ) - from .update_trieve_credential_dto import UpdateTrieveCredentialDto from .update_trieve_knowledge_base_dto import UpdateTrieveKnowledgeBaseDto from .update_twilio_credential_dto import UpdateTwilioCredentialDto + from .update_twilio_credential_dto_provider import UpdateTwilioCredentialDtoProvider from .update_twilio_phone_number_dto import UpdateTwilioPhoneNumberDto from .update_twilio_phone_number_dto_fallback_destination import ( UpdateTwilioPhoneNumberDtoFallbackDestination, @@ -4335,6 +5165,7 @@ ) from .update_user_role_dto import UpdateUserRoleDto from .update_user_role_dto_role import UpdateUserRoleDtoRole + from .update_user_role_dto_role_zero import UpdateUserRoleDtoRoleZero from .update_vapi_phone_number_dto import UpdateVapiPhoneNumberDto from .update_vapi_phone_number_dto_fallback_destination import ( UpdateVapiPhoneNumberDtoFallbackDestination, @@ -4355,6 +5186,7 @@ UpdateVoicemailToolDtoMessagesItem_RequestStart, ) from .update_vonage_credential_dto import UpdateVonageCredentialDto + from .update_vonage_credential_dto_provider import UpdateVonageCredentialDtoProvider from .update_vonage_phone_number_dto import UpdateVonagePhoneNumberDto from .update_vonage_phone_number_dto_fallback_destination import ( UpdateVonagePhoneNumberDtoFallbackDestination, @@ -4373,7 +5205,9 @@ UpdateWebhookCredentialDtoAuthenticationPlan_Hmac, UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2, ) + from .update_webhook_credential_dto_provider import UpdateWebhookCredentialDtoProvider from .update_well_said_credential_dto import UpdateWellSaidCredentialDto + from .update_well_said_credential_dto_provider import UpdateWellSaidCredentialDtoProvider from .update_workflow_dto import UpdateWorkflowDto from .update_workflow_dto_background_sound import UpdateWorkflowDtoBackgroundSound from .update_workflow_dto_background_sound_zero import UpdateWorkflowDtoBackgroundSoundZero @@ -4411,6 +5245,7 @@ UpdateWorkflowDtoCredentialsItem_Langfuse, UpdateWorkflowDtoCredentialsItem_Lmnt, UpdateWorkflowDtoCredentialsItem_Make, + UpdateWorkflowDtoCredentialsItem_Microsoft, UpdateWorkflowDtoCredentialsItem_Minimax, UpdateWorkflowDtoCredentialsItem_Mistral, UpdateWorkflowDtoCredentialsItem_Neuphonic, @@ -4421,6 +5256,7 @@ UpdateWorkflowDtoCredentialsItem_RimeAi, UpdateWorkflowDtoCredentialsItem_Runpod, UpdateWorkflowDtoCredentialsItem_S3, + UpdateWorkflowDtoCredentialsItem_S3Compatible, UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization, UpdateWorkflowDtoCredentialsItem_SlackWebhook, UpdateWorkflowDtoCredentialsItem_SmallestAi, @@ -4429,7 +5265,6 @@ UpdateWorkflowDtoCredentialsItem_Supabase, UpdateWorkflowDtoCredentialsItem_Tavus, UpdateWorkflowDtoCredentialsItem_TogetherAi, - UpdateWorkflowDtoCredentialsItem_Trieve, UpdateWorkflowDtoCredentialsItem_Twilio, UpdateWorkflowDtoCredentialsItem_Vonage, UpdateWorkflowDtoCredentialsItem_Webhook, @@ -4464,6 +5299,8 @@ UpdateWorkflowDtoTranscriber_Soniox, UpdateWorkflowDtoTranscriber_Speechmatics, UpdateWorkflowDtoTranscriber_Talkscriber, + UpdateWorkflowDtoTranscriber_Vapi, + UpdateWorkflowDtoTranscriber_Xai, ) from .update_workflow_dto_voice import ( UpdateWorkflowDtoVoice, @@ -4475,6 +5312,7 @@ UpdateWorkflowDtoVoice_Hume, UpdateWorkflowDtoVoice_Inworld, UpdateWorkflowDtoVoice_Lmnt, + UpdateWorkflowDtoVoice_Microsoft, UpdateWorkflowDtoVoice_Minimax, UpdateWorkflowDtoVoice_Neuphonic, UpdateWorkflowDtoVoice_Openai, @@ -4485,16 +5323,17 @@ UpdateWorkflowDtoVoice_Tavus, UpdateWorkflowDtoVoice_Vapi, UpdateWorkflowDtoVoice_Wellsaid, + UpdateWorkflowDtoVoice_Xai, ) from .update_workflow_dto_voicemail_detection import UpdateWorkflowDtoVoicemailDetection from .update_workflow_dto_voicemail_detection_zero import UpdateWorkflowDtoVoicemailDetectionZero from .update_x_ai_credential_dto import UpdateXAiCredentialDto + from .update_x_ai_credential_dto_provider import UpdateXAiCredentialDtoProvider from .user import User from .user_message import UserMessage from .vapi_cost import VapiCost from .vapi_cost_sub_type import VapiCostSubType from .vapi_model import VapiModel - from .vapi_model_provider import VapiModelProvider from .vapi_model_tools_item import ( VapiModelToolsItem, VapiModelToolsItem_ApiRequest, @@ -4521,6 +5360,7 @@ VapiModelToolsItem_TransferCall, VapiModelToolsItem_Voicemail, ) + from .vapi_model_version import VapiModelVersion from .vapi_phone_number import VapiPhoneNumber from .vapi_phone_number_fallback_destination import ( VapiPhoneNumberFallbackDestination, @@ -4534,22 +5374,40 @@ ) from .vapi_phone_number_status import VapiPhoneNumberStatus from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator + from .vapi_sip_transport import VapiSipTransport + from .vapi_sip_transport_conversation_type import VapiSipTransportConversationType from .vapi_sip_transport_message import VapiSipTransportMessage from .vapi_sip_transport_message_sip_verb import VapiSipTransportMessageSipVerb from .vapi_smart_endpointing_plan import VapiSmartEndpointingPlan from .vapi_smart_endpointing_plan_provider import VapiSmartEndpointingPlanProvider + from .vapi_transcriber import VapiTranscriber + from .vapi_transcriber_language import VapiTranscriberLanguage + from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem + from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking + from .vapi_transcriber_version import VapiTranscriberVersion from .vapi_voice import VapiVoice + from .vapi_voice_language import VapiVoiceLanguage + from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .vapi_voicemail_detection_plan import VapiVoicemailDetectionPlan from .vapi_voicemail_detection_plan_provider import VapiVoicemailDetectionPlanProvider from .vapi_voicemail_detection_plan_type import VapiVoicemailDetectionPlanType + from .vapi_web_call_transport import VapiWebCallTransport + from .vapi_web_call_transport_conversation_type import VapiWebCallTransportConversationType + from .vapi_websocket_transport import VapiWebsocketTransport + from .vapi_websocket_transport_conversation_type import VapiWebsocketTransportConversationType from .variable_extraction_alias import VariableExtractionAlias from .variable_extraction_plan import VariableExtractionPlan from .variable_value_group_by import VariableValueGroupBy + from .version_pin_conflict_response_dto import VersionPinConflictResponseDto + from .version_pin_conflict_response_dto_error import VersionPinConflictResponseDtoError + from .version_pin_reference import VersionPinReference + from .version_pin_reference_source_type import VersionPinReferenceSourceType from .voice_cost import VoiceCost from .voice_library import VoiceLibrary from .voice_library_gender import VoiceLibraryGender from .voice_library_voice_response import VoiceLibraryVoiceResponse + from .voice_library_voice_response_age import VoiceLibraryVoiceResponseAge from .voicemail_detection_backoff_plan import VoicemailDetectionBackoffPlan from .voicemail_detection_cost import VoicemailDetectionCost from .voicemail_detection_cost_provider import VoicemailDetectionCostProvider @@ -4575,6 +5433,8 @@ VonagePhoneNumberHooksItem_CallRinging, ) from .vonage_phone_number_status import VonagePhoneNumberStatus + from .vonage_transport import VonageTransport + from .vonage_transport_conversation_type import VonageTransportConversationType from .web_chat import WebChat from .web_chat_output_item import WebChatOutputItem from .webhook_credential import WebhookCredential @@ -4630,6 +5490,7 @@ WorkflowCredentialsItem_Langfuse, WorkflowCredentialsItem_Lmnt, WorkflowCredentialsItem_Make, + WorkflowCredentialsItem_Microsoft, WorkflowCredentialsItem_Minimax, WorkflowCredentialsItem_Mistral, WorkflowCredentialsItem_Neuphonic, @@ -4640,6 +5501,7 @@ WorkflowCredentialsItem_RimeAi, WorkflowCredentialsItem_Runpod, WorkflowCredentialsItem_S3, + WorkflowCredentialsItem_S3Compatible, WorkflowCredentialsItem_SlackOauth2Authorization, WorkflowCredentialsItem_SlackWebhook, WorkflowCredentialsItem_SmallestAi, @@ -4648,7 +5510,6 @@ WorkflowCredentialsItem_Supabase, WorkflowCredentialsItem_Tavus, WorkflowCredentialsItem_TogetherAi, - WorkflowCredentialsItem_Trieve, WorkflowCredentialsItem_Twilio, WorkflowCredentialsItem_Vonage, WorkflowCredentialsItem_Webhook, @@ -4686,6 +5547,8 @@ WorkflowTranscriber_Soniox, WorkflowTranscriber_Speechmatics, WorkflowTranscriber_Talkscriber, + WorkflowTranscriber_Vapi, + WorkflowTranscriber_Xai, ) from .workflow_user_editable import WorkflowUserEditable from .workflow_user_editable_background_sound import WorkflowUserEditableBackgroundSound @@ -4724,6 +5587,7 @@ WorkflowUserEditableCredentialsItem_Langfuse, WorkflowUserEditableCredentialsItem_Lmnt, WorkflowUserEditableCredentialsItem_Make, + WorkflowUserEditableCredentialsItem_Microsoft, WorkflowUserEditableCredentialsItem_Minimax, WorkflowUserEditableCredentialsItem_Mistral, WorkflowUserEditableCredentialsItem_Neuphonic, @@ -4734,6 +5598,7 @@ WorkflowUserEditableCredentialsItem_RimeAi, WorkflowUserEditableCredentialsItem_Runpod, WorkflowUserEditableCredentialsItem_S3, + WorkflowUserEditableCredentialsItem_S3Compatible, WorkflowUserEditableCredentialsItem_SlackOauth2Authorization, WorkflowUserEditableCredentialsItem_SlackWebhook, WorkflowUserEditableCredentialsItem_SmallestAi, @@ -4742,7 +5607,6 @@ WorkflowUserEditableCredentialsItem_Supabase, WorkflowUserEditableCredentialsItem_Tavus, WorkflowUserEditableCredentialsItem_TogetherAi, - WorkflowUserEditableCredentialsItem_Trieve, WorkflowUserEditableCredentialsItem_Twilio, WorkflowUserEditableCredentialsItem_Vonage, WorkflowUserEditableCredentialsItem_Webhook, @@ -4777,6 +5641,8 @@ WorkflowUserEditableTranscriber_Soniox, WorkflowUserEditableTranscriber_Speechmatics, WorkflowUserEditableTranscriber_Talkscriber, + WorkflowUserEditableTranscriber_Vapi, + WorkflowUserEditableTranscriber_Xai, ) from .workflow_user_editable_voice import ( WorkflowUserEditableVoice, @@ -4788,6 +5654,7 @@ WorkflowUserEditableVoice_Hume, WorkflowUserEditableVoice_Inworld, WorkflowUserEditableVoice_Lmnt, + WorkflowUserEditableVoice_Microsoft, WorkflowUserEditableVoice_Minimax, WorkflowUserEditableVoice_Neuphonic, WorkflowUserEditableVoice_Openai, @@ -4798,6 +5665,7 @@ WorkflowUserEditableVoice_Tavus, WorkflowUserEditableVoice_Vapi, WorkflowUserEditableVoice_Wellsaid, + WorkflowUserEditableVoice_Xai, ) from .workflow_user_editable_voicemail_detection import WorkflowUserEditableVoicemailDetection from .workflow_user_editable_voicemail_detection_zero import WorkflowUserEditableVoicemailDetectionZero @@ -4811,6 +5679,7 @@ WorkflowVoice_Hume, WorkflowVoice_Inworld, WorkflowVoice_Lmnt, + WorkflowVoice_Microsoft, WorkflowVoice_Minimax, WorkflowVoice_Neuphonic, WorkflowVoice_Openai, @@ -4821,6 +5690,7 @@ WorkflowVoice_Tavus, WorkflowVoice_Vapi, WorkflowVoice_Wellsaid, + WorkflowVoice_Xai, ) from .workflow_voicemail_detection import WorkflowVoicemailDetection from .workflow_voicemail_detection_zero import WorkflowVoicemailDetectionZero @@ -4854,6 +5724,12 @@ XaiModelToolsItem_TransferCall, XaiModelToolsItem_Voicemail, ) + from .xai_transcriber import XaiTranscriber + from .xai_transcriber_language import XaiTranscriberLanguage + from .xai_transcriber_model import XaiTranscriberModel + from .xai_voice import XaiVoice + from .xai_voice_language import XaiVoiceLanguage + from .xai_voice_voice_id import XaiVoiceVoiceId from .xss_security_filter import XssSecurityFilter from .xss_security_filter_type import XssSecurityFilterType _dynamic_imports: typing.Dict[str, str] = { @@ -5015,6 +5891,7 @@ "AssistantCredentialsItem_Langfuse": ".assistant_credentials_item", "AssistantCredentialsItem_Lmnt": ".assistant_credentials_item", "AssistantCredentialsItem_Make": ".assistant_credentials_item", + "AssistantCredentialsItem_Microsoft": ".assistant_credentials_item", "AssistantCredentialsItem_Minimax": ".assistant_credentials_item", "AssistantCredentialsItem_Mistral": ".assistant_credentials_item", "AssistantCredentialsItem_Neuphonic": ".assistant_credentials_item", @@ -5025,6 +5902,7 @@ "AssistantCredentialsItem_RimeAi": ".assistant_credentials_item", "AssistantCredentialsItem_Runpod": ".assistant_credentials_item", "AssistantCredentialsItem_S3": ".assistant_credentials_item", + "AssistantCredentialsItem_S3Compatible": ".assistant_credentials_item", "AssistantCredentialsItem_SlackOauth2Authorization": ".assistant_credentials_item", "AssistantCredentialsItem_SlackWebhook": ".assistant_credentials_item", "AssistantCredentialsItem_SmallestAi": ".assistant_credentials_item", @@ -5033,13 +5911,136 @@ "AssistantCredentialsItem_Supabase": ".assistant_credentials_item", "AssistantCredentialsItem_Tavus": ".assistant_credentials_item", "AssistantCredentialsItem_TogetherAi": ".assistant_credentials_item", - "AssistantCredentialsItem_Trieve": ".assistant_credentials_item", "AssistantCredentialsItem_Twilio": ".assistant_credentials_item", "AssistantCredentialsItem_Vonage": ".assistant_credentials_item", "AssistantCredentialsItem_Webhook": ".assistant_credentials_item", "AssistantCredentialsItem_Wellsaid": ".assistant_credentials_item", "AssistantCredentialsItem_Xai": ".assistant_credentials_item", "AssistantCustomEndpointingRule": ".assistant_custom_endpointing_rule", + "AssistantDraft": ".assistant_draft", + "AssistantDraftBackgroundSound": ".assistant_draft_background_sound", + "AssistantDraftBackgroundSoundZero": ".assistant_draft_background_sound_zero", + "AssistantDraftClientMessagesItem": ".assistant_draft_client_messages_item", + "AssistantDraftConflictResponseDto": ".assistant_draft_conflict_response_dto", + "AssistantDraftCredentialsItem": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_11Labs": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Anthropic": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_AnthropicBedrock": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Anyscale": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_AssemblyAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Azure": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_AzureOpenai": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_ByoSipTrunk": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Cartesia": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Cerebras": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Cloudflare": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_CustomCredential": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_CustomLlm": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_DeepSeek": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Deepgram": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Deepinfra": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Email": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Gcp": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_GhlOauth2Authorization": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Gladia": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Gohighlevel": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Google": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Client": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Groq": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Hume": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_InflectionAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Inworld": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Langfuse": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Lmnt": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Make": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Microsoft": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Minimax": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Mistral": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Neuphonic": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Openai": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Openrouter": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_PerplexityAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Playht": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_RimeAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Runpod": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_S3": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_S3Compatible": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_SlackOauth2Authorization": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_SlackWebhook": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_SmallestAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Soniox": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Speechmatics": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Supabase": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Tavus": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_TogetherAi": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Twilio": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Vonage": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Webhook": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Wellsaid": ".assistant_draft_credentials_item", + "AssistantDraftCredentialsItem_Xai": ".assistant_draft_credentials_item", + "AssistantDraftFirstMessageMode": ".assistant_draft_first_message_mode", + "AssistantDraftHooksItem": ".assistant_draft_hooks_item", + "AssistantDraftModel": ".assistant_draft_model", + "AssistantDraftModel_Anthropic": ".assistant_draft_model", + "AssistantDraftModel_AnthropicBedrock": ".assistant_draft_model", + "AssistantDraftModel_Anyscale": ".assistant_draft_model", + "AssistantDraftModel_Cerebras": ".assistant_draft_model", + "AssistantDraftModel_CustomLlm": ".assistant_draft_model", + "AssistantDraftModel_DeepSeek": ".assistant_draft_model", + "AssistantDraftModel_Deepinfra": ".assistant_draft_model", + "AssistantDraftModel_Google": ".assistant_draft_model", + "AssistantDraftModel_Groq": ".assistant_draft_model", + "AssistantDraftModel_InflectionAi": ".assistant_draft_model", + "AssistantDraftModel_Minimax": ".assistant_draft_model", + "AssistantDraftModel_Openai": ".assistant_draft_model", + "AssistantDraftModel_Openrouter": ".assistant_draft_model", + "AssistantDraftModel_PerplexityAi": ".assistant_draft_model", + "AssistantDraftModel_TogetherAi": ".assistant_draft_model", + "AssistantDraftModel_Vapi": ".assistant_draft_model", + "AssistantDraftModel_Xai": ".assistant_draft_model", + "AssistantDraftPaginatedMetadata": ".assistant_draft_paginated_metadata", + "AssistantDraftPaginatedResponse": ".assistant_draft_paginated_response", + "AssistantDraftServerMessagesItem": ".assistant_draft_server_messages_item", + "AssistantDraftTranscriber": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_11Labs": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_AssemblyAi": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Azure": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Cartesia": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_CustomTranscriber": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Deepgram": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Gladia": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Google": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Openai": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Soniox": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Speechmatics": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Talkscriber": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Vapi": ".assistant_draft_transcriber", + "AssistantDraftTranscriber_Xai": ".assistant_draft_transcriber", + "AssistantDraftVoice": ".assistant_draft_voice", + "AssistantDraftVoice_11Labs": ".assistant_draft_voice", + "AssistantDraftVoice_Azure": ".assistant_draft_voice", + "AssistantDraftVoice_Cartesia": ".assistant_draft_voice", + "AssistantDraftVoice_CustomVoice": ".assistant_draft_voice", + "AssistantDraftVoice_Deepgram": ".assistant_draft_voice", + "AssistantDraftVoice_Hume": ".assistant_draft_voice", + "AssistantDraftVoice_Inworld": ".assistant_draft_voice", + "AssistantDraftVoice_Lmnt": ".assistant_draft_voice", + "AssistantDraftVoice_Microsoft": ".assistant_draft_voice", + "AssistantDraftVoice_Minimax": ".assistant_draft_voice", + "AssistantDraftVoice_Neuphonic": ".assistant_draft_voice", + "AssistantDraftVoice_Openai": ".assistant_draft_voice", + "AssistantDraftVoice_Playht": ".assistant_draft_voice", + "AssistantDraftVoice_RimeAi": ".assistant_draft_voice", + "AssistantDraftVoice_Sesame": ".assistant_draft_voice", + "AssistantDraftVoice_SmallestAi": ".assistant_draft_voice", + "AssistantDraftVoice_Tavus": ".assistant_draft_voice", + "AssistantDraftVoice_Vapi": ".assistant_draft_voice", + "AssistantDraftVoice_Wellsaid": ".assistant_draft_voice", + "AssistantDraftVoice_Xai": ".assistant_draft_voice", + "AssistantDraftVoicemailDetection": ".assistant_draft_voicemail_detection", + "AssistantDraftVoicemailDetectionZero": ".assistant_draft_voicemail_detection_zero", "AssistantFirstMessageMode": ".assistant_first_message_mode", "AssistantHookAssistantSpeechInterrupted": ".assistant_hook_assistant_speech_interrupted", "AssistantHookCallEnding": ".assistant_hook_call_ending", @@ -5073,6 +6074,7 @@ "AssistantModel_Openrouter": ".assistant_model", "AssistantModel_PerplexityAi": ".assistant_model", "AssistantModel_TogetherAi": ".assistant_model", + "AssistantModel_Vapi": ".assistant_model", "AssistantModel_Xai": ".assistant_model", "AssistantOverrides": ".assistant_overrides", "AssistantOverridesBackgroundSound": ".assistant_overrides_background_sound", @@ -5111,6 +6113,7 @@ "AssistantOverridesCredentialsItem_Langfuse": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Lmnt": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Make": ".assistant_overrides_credentials_item", + "AssistantOverridesCredentialsItem_Microsoft": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Minimax": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Mistral": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Neuphonic": ".assistant_overrides_credentials_item", @@ -5121,6 +6124,7 @@ "AssistantOverridesCredentialsItem_RimeAi": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Runpod": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_S3": ".assistant_overrides_credentials_item", + "AssistantOverridesCredentialsItem_S3Compatible": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_SlackOauth2Authorization": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_SlackWebhook": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_SmallestAi": ".assistant_overrides_credentials_item", @@ -5129,7 +6133,6 @@ "AssistantOverridesCredentialsItem_Supabase": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Tavus": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_TogetherAi": ".assistant_overrides_credentials_item", - "AssistantOverridesCredentialsItem_Trieve": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Twilio": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Vonage": ".assistant_overrides_credentials_item", "AssistantOverridesCredentialsItem_Webhook": ".assistant_overrides_credentials_item", @@ -5153,6 +6156,7 @@ "AssistantOverridesModel_Openrouter": ".assistant_overrides_model", "AssistantOverridesModel_PerplexityAi": ".assistant_overrides_model", "AssistantOverridesModel_TogetherAi": ".assistant_overrides_model", + "AssistantOverridesModel_Vapi": ".assistant_overrides_model", "AssistantOverridesModel_Xai": ".assistant_overrides_model", "AssistantOverridesServerMessagesItem": ".assistant_overrides_server_messages_item", "AssistantOverridesToolsAppendItem": ".assistant_overrides_tools_append_item", @@ -5192,6 +6196,8 @@ "AssistantOverridesTranscriber_Soniox": ".assistant_overrides_transcriber", "AssistantOverridesTranscriber_Speechmatics": ".assistant_overrides_transcriber", "AssistantOverridesTranscriber_Talkscriber": ".assistant_overrides_transcriber", + "AssistantOverridesTranscriber_Vapi": ".assistant_overrides_transcriber", + "AssistantOverridesTranscriber_Xai": ".assistant_overrides_transcriber", "AssistantOverridesVoice": ".assistant_overrides_voice", "AssistantOverridesVoice_11Labs": ".assistant_overrides_voice", "AssistantOverridesVoice_Azure": ".assistant_overrides_voice", @@ -5201,6 +6207,7 @@ "AssistantOverridesVoice_Hume": ".assistant_overrides_voice", "AssistantOverridesVoice_Inworld": ".assistant_overrides_voice", "AssistantOverridesVoice_Lmnt": ".assistant_overrides_voice", + "AssistantOverridesVoice_Microsoft": ".assistant_overrides_voice", "AssistantOverridesVoice_Minimax": ".assistant_overrides_voice", "AssistantOverridesVoice_Neuphonic": ".assistant_overrides_voice", "AssistantOverridesVoice_Openai": ".assistant_overrides_voice", @@ -5211,9 +6218,12 @@ "AssistantOverridesVoice_Tavus": ".assistant_overrides_voice", "AssistantOverridesVoice_Vapi": ".assistant_overrides_voice", "AssistantOverridesVoice_Wellsaid": ".assistant_overrides_voice", + "AssistantOverridesVoice_Xai": ".assistant_overrides_voice", "AssistantOverridesVoicemailDetection": ".assistant_overrides_voicemail_detection", "AssistantOverridesVoicemailDetectionZero": ".assistant_overrides_voicemail_detection_zero", "AssistantPaginatedResponse": ".assistant_paginated_response", + "AssistantPinnedConflictResponseDto": ".assistant_pinned_conflict_response_dto", + "AssistantPinnedConflictResponseDtoError": ".assistant_pinned_conflict_response_dto_error", "AssistantServerMessagesItem": ".assistant_server_messages_item", "AssistantSpeechWordAlignmentTiming": ".assistant_speech_word_alignment_timing", "AssistantSpeechWordProgressTiming": ".assistant_speech_word_progress_timing", @@ -5231,8 +6241,132 @@ "AssistantTranscriber_Soniox": ".assistant_transcriber", "AssistantTranscriber_Speechmatics": ".assistant_transcriber", "AssistantTranscriber_Talkscriber": ".assistant_transcriber", + "AssistantTranscriber_Vapi": ".assistant_transcriber", + "AssistantTranscriber_Xai": ".assistant_transcriber", "AssistantUserEditable": ".assistant_user_editable", + "AssistantVersion": ".assistant_version", + "AssistantVersionBackgroundSound": ".assistant_version_background_sound", + "AssistantVersionBackgroundSoundZero": ".assistant_version_background_sound_zero", + "AssistantVersionClientMessagesItem": ".assistant_version_client_messages_item", + "AssistantVersionCredentialsItem": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_11Labs": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Anthropic": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_AnthropicBedrock": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Anyscale": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_AssemblyAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Azure": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_AzureOpenai": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_ByoSipTrunk": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Cartesia": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Cerebras": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Cloudflare": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_CustomCredential": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_CustomLlm": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_DeepSeek": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Deepgram": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Deepinfra": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Email": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Gcp": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_GhlOauth2Authorization": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Gladia": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Gohighlevel": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Google": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Client": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Groq": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Hume": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_InflectionAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Inworld": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Langfuse": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Lmnt": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Make": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Microsoft": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Minimax": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Mistral": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Neuphonic": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Openai": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Openrouter": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_PerplexityAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Playht": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_RimeAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Runpod": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_S3": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_S3Compatible": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_SlackOauth2Authorization": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_SlackWebhook": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_SmallestAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Soniox": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Speechmatics": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Supabase": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Tavus": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_TogetherAi": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Twilio": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Vonage": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Webhook": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Wellsaid": ".assistant_version_credentials_item", + "AssistantVersionCredentialsItem_Xai": ".assistant_version_credentials_item", + "AssistantVersionFirstMessageMode": ".assistant_version_first_message_mode", + "AssistantVersionHooksItem": ".assistant_version_hooks_item", + "AssistantVersionModel": ".assistant_version_model", + "AssistantVersionModel_Anthropic": ".assistant_version_model", + "AssistantVersionModel_AnthropicBedrock": ".assistant_version_model", + "AssistantVersionModel_Anyscale": ".assistant_version_model", + "AssistantVersionModel_Cerebras": ".assistant_version_model", + "AssistantVersionModel_CustomLlm": ".assistant_version_model", + "AssistantVersionModel_DeepSeek": ".assistant_version_model", + "AssistantVersionModel_Deepinfra": ".assistant_version_model", + "AssistantVersionModel_Google": ".assistant_version_model", + "AssistantVersionModel_Groq": ".assistant_version_model", + "AssistantVersionModel_InflectionAi": ".assistant_version_model", + "AssistantVersionModel_Minimax": ".assistant_version_model", + "AssistantVersionModel_Openai": ".assistant_version_model", + "AssistantVersionModel_Openrouter": ".assistant_version_model", + "AssistantVersionModel_PerplexityAi": ".assistant_version_model", + "AssistantVersionModel_TogetherAi": ".assistant_version_model", + "AssistantVersionModel_Vapi": ".assistant_version_model", + "AssistantVersionModel_Xai": ".assistant_version_model", + "AssistantVersionPaginatedMetadata": ".assistant_version_paginated_metadata", "AssistantVersionPaginatedResponse": ".assistant_version_paginated_response", + "AssistantVersionServerMessagesItem": ".assistant_version_server_messages_item", + "AssistantVersionTranscriber": ".assistant_version_transcriber", + "AssistantVersionTranscriber_11Labs": ".assistant_version_transcriber", + "AssistantVersionTranscriber_AssemblyAi": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Azure": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Cartesia": ".assistant_version_transcriber", + "AssistantVersionTranscriber_CustomTranscriber": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Deepgram": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Gladia": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Google": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Openai": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Soniox": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Speechmatics": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Talkscriber": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Vapi": ".assistant_version_transcriber", + "AssistantVersionTranscriber_Xai": ".assistant_version_transcriber", + "AssistantVersionVoice": ".assistant_version_voice", + "AssistantVersionVoice_11Labs": ".assistant_version_voice", + "AssistantVersionVoice_Azure": ".assistant_version_voice", + "AssistantVersionVoice_Cartesia": ".assistant_version_voice", + "AssistantVersionVoice_CustomVoice": ".assistant_version_voice", + "AssistantVersionVoice_Deepgram": ".assistant_version_voice", + "AssistantVersionVoice_Hume": ".assistant_version_voice", + "AssistantVersionVoice_Inworld": ".assistant_version_voice", + "AssistantVersionVoice_Lmnt": ".assistant_version_voice", + "AssistantVersionVoice_Microsoft": ".assistant_version_voice", + "AssistantVersionVoice_Minimax": ".assistant_version_voice", + "AssistantVersionVoice_Neuphonic": ".assistant_version_voice", + "AssistantVersionVoice_Openai": ".assistant_version_voice", + "AssistantVersionVoice_Playht": ".assistant_version_voice", + "AssistantVersionVoice_RimeAi": ".assistant_version_voice", + "AssistantVersionVoice_Sesame": ".assistant_version_voice", + "AssistantVersionVoice_SmallestAi": ".assistant_version_voice", + "AssistantVersionVoice_Tavus": ".assistant_version_voice", + "AssistantVersionVoice_Vapi": ".assistant_version_voice", + "AssistantVersionVoice_Wellsaid": ".assistant_version_voice", + "AssistantVersionVoice_Xai": ".assistant_version_voice", + "AssistantVersionVoicemailDetection": ".assistant_version_voicemail_detection", + "AssistantVersionVoicemailDetectionZero": ".assistant_version_voicemail_detection_zero", "AssistantVoice": ".assistant_voice", "AssistantVoice_11Labs": ".assistant_voice", "AssistantVoice_Azure": ".assistant_voice", @@ -5242,6 +6376,7 @@ "AssistantVoice_Hume": ".assistant_voice", "AssistantVoice_Inworld": ".assistant_voice", "AssistantVoice_Lmnt": ".assistant_voice", + "AssistantVoice_Microsoft": ".assistant_voice", "AssistantVoice_Minimax": ".assistant_voice", "AssistantVoice_Neuphonic": ".assistant_voice", "AssistantVoice_Openai": ".assistant_voice", @@ -5252,8 +6387,11 @@ "AssistantVoice_Tavus": ".assistant_voice", "AssistantVoice_Vapi": ".assistant_voice", "AssistantVoice_Wellsaid": ".assistant_voice", + "AssistantVoice_Xai": ".assistant_voice", "AssistantVoicemailDetection": ".assistant_voicemail_detection", "AssistantVoicemailDetectionZero": ".assistant_voicemail_detection_zero", + "AudioFormat": ".audio_format", + "AudioFormatContainer": ".audio_format_container", "AutoReloadPlan": ".auto_reload_plan", "AwsStsAssumeRoleUser": ".aws_sts_assume_role_user", "AwsStsAuthenticationArtifact": ".aws_sts_authentication_artifact", @@ -5303,6 +6441,19 @@ "BashToolWithToolCallName": ".bash_tool_with_tool_call_name", "BashToolWithToolCallSubType": ".bash_tool_with_tool_call_sub_type", "BearerAuthenticationPlan": ".bearer_authentication_plan", + "Board": ".board", + "BoardInsightItem": ".board_insight_item", + "BoardInsightItemType": ".board_insight_item_type", + "BoardItemPosition": ".board_item_position", + "BoardItemSize": ".board_item_size", + "BoardItemsItem": ".board_items_item", + "BoardLayout": ".board_layout", + "BoardMetricWidgetItem": ".board_metric_widget_item", + "BoardMetricWidgetItemType": ".board_metric_widget_item_type", + "BoardPaginatedResponse": ".board_paginated_response", + "BooleanComparatorScorecardMetricCondition": ".boolean_comparator_scorecard_metric_condition", + "BooleanComparatorScorecardMetricConditionComparator": ".boolean_comparator_scorecard_metric_condition_comparator", + "BooleanComparatorScorecardMetricConditionType": ".boolean_comparator_scorecard_metric_condition_type", "BotMessage": ".bot_message", "BothCustomEndpointingRule": ".both_custom_endpointing_rule", "BucketPlan": ".bucket_plan", @@ -5372,10 +6523,20 @@ "CallPhoneCallProvider": ".call_phone_call_provider", "CallPhoneCallTransport": ".call_phone_call_transport", "CallStatus": ".call_status", + "CallTransport": ".call_transport", + "CallTransport_Daily": ".call_transport", + "CallTransport_Telnyx": ".call_transport", + "CallTransport_Twilio": ".call_transport", + "CallTransport_VapiSip": ".call_transport", + "CallTransport_VapiWebsocket": ".call_transport", + "CallTransport_Vonage": ".call_transport", "CallType": ".call_type", "Campaign": ".campaign", + "CampaignContact": ".campaign_contact", "CampaignEndedReason": ".campaign_ended_reason", "CampaignPaginatedResponse": ".campaign_paginated_response", + "CampaignPredialPlan": ".campaign_predial_plan", + "CampaignServerMessagesItem": ".campaign_server_messages_item", "CampaignStatus": ".campaign_status", "CartesiaCredential": ".cartesia_credential", "CartesiaCredentialProvider": ".cartesia_credential_provider", @@ -5708,6 +6869,7 @@ "ContextEngineeringPlanAll": ".context_engineering_plan_all", "ContextEngineeringPlanLastNMessages": ".context_engineering_plan_last_n_messages", "ContextEngineeringPlanNone": ".context_engineering_plan_none", + "ContextEngineeringPlanPreviousAssistantMessages": ".context_engineering_plan_previous_assistant_messages", "ContextEngineeringPlanUserAndAssistantMessages": ".context_engineering_plan_user_and_assistant_messages", "ConversationNode": ".conversation_node", "ConversationNodeModel": ".conversation_node_model", @@ -5753,6 +6915,8 @@ "ConversationNodeTranscriber_Soniox": ".conversation_node_transcriber", "ConversationNodeTranscriber_Speechmatics": ".conversation_node_transcriber", "ConversationNodeTranscriber_Talkscriber": ".conversation_node_transcriber", + "ConversationNodeTranscriber_Vapi": ".conversation_node_transcriber", + "ConversationNodeTranscriber_Xai": ".conversation_node_transcriber", "ConversationNodeVoice": ".conversation_node_voice", "ConversationNodeVoice_11Labs": ".conversation_node_voice", "ConversationNodeVoice_Azure": ".conversation_node_voice", @@ -5762,6 +6926,7 @@ "ConversationNodeVoice_Hume": ".conversation_node_voice", "ConversationNodeVoice_Inworld": ".conversation_node_voice", "ConversationNodeVoice_Lmnt": ".conversation_node_voice", + "ConversationNodeVoice_Microsoft": ".conversation_node_voice", "ConversationNodeVoice_Minimax": ".conversation_node_voice", "ConversationNodeVoice_Neuphonic": ".conversation_node_voice", "ConversationNodeVoice_Openai": ".conversation_node_voice", @@ -5772,6 +6937,7 @@ "ConversationNodeVoice_Tavus": ".conversation_node_voice", "ConversationNodeVoice_Vapi": ".conversation_node_voice", "ConversationNodeVoice_Wellsaid": ".conversation_node_voice", + "ConversationNodeVoice_Xai": ".conversation_node_voice", "CostBreakdown": ".cost_breakdown", "CreateAnthropicBedrockCredentialDto": ".create_anthropic_bedrock_credential_dto", "CreateAnthropicBedrockCredentialDtoAuthenticationPlan": ".create_anthropic_bedrock_credential_dto_authentication_plan", @@ -5788,6 +6954,127 @@ "CreateApiRequestToolDtoMessagesItem_RequestStart": ".create_api_request_tool_dto_messages_item", "CreateApiRequestToolDtoMethod": ".create_api_request_tool_dto_method", "CreateAssemblyAiCredentialDto": ".create_assembly_ai_credential_dto", + "CreateAssistantDraftDto": ".create_assistant_draft_dto", + "CreateAssistantDraftDtoBackgroundSound": ".create_assistant_draft_dto_background_sound", + "CreateAssistantDraftDtoBackgroundSoundZero": ".create_assistant_draft_dto_background_sound_zero", + "CreateAssistantDraftDtoClientMessagesItem": ".create_assistant_draft_dto_client_messages_item", + "CreateAssistantDraftDtoCredentialsItem": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_11Labs": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Anthropic": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Anyscale": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_AssemblyAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Azure": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_AzureOpenai": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Cartesia": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Cerebras": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Cloudflare": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_CustomCredential": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_CustomLlm": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_DeepSeek": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Deepgram": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Deepinfra": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Email": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Gcp": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Gladia": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Gohighlevel": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Google": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Groq": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Hume": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_InflectionAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Inworld": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Langfuse": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Lmnt": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Make": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Microsoft": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Minimax": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Mistral": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Neuphonic": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Openai": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Openrouter": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_PerplexityAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Playht": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_RimeAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Runpod": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_S3": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_S3Compatible": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_SlackWebhook": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_SmallestAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Soniox": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Speechmatics": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Supabase": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Tavus": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_TogetherAi": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Twilio": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Vonage": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Webhook": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Wellsaid": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoCredentialsItem_Xai": ".create_assistant_draft_dto_credentials_item", + "CreateAssistantDraftDtoFirstMessageMode": ".create_assistant_draft_dto_first_message_mode", + "CreateAssistantDraftDtoHooksItem": ".create_assistant_draft_dto_hooks_item", + "CreateAssistantDraftDtoModel": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Anthropic": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_AnthropicBedrock": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Anyscale": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Cerebras": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_CustomLlm": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_DeepSeek": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Deepinfra": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Google": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Groq": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_InflectionAi": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Minimax": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Openai": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Openrouter": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_PerplexityAi": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_TogetherAi": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Vapi": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoModel_Xai": ".create_assistant_draft_dto_model", + "CreateAssistantDraftDtoServerMessagesItem": ".create_assistant_draft_dto_server_messages_item", + "CreateAssistantDraftDtoTranscriber": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_11Labs": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_AssemblyAi": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Azure": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Cartesia": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_CustomTranscriber": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Deepgram": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Gladia": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Google": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Openai": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Soniox": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Speechmatics": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Talkscriber": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Vapi": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoTranscriber_Xai": ".create_assistant_draft_dto_transcriber", + "CreateAssistantDraftDtoVoice": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_11Labs": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Azure": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Cartesia": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_CustomVoice": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Deepgram": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Hume": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Inworld": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Lmnt": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Microsoft": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Minimax": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Neuphonic": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Openai": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Playht": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_RimeAi": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Sesame": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_SmallestAi": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Tavus": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Vapi": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Wellsaid": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoice_Xai": ".create_assistant_draft_dto_voice", + "CreateAssistantDraftDtoVoicemailDetection": ".create_assistant_draft_dto_voicemail_detection", + "CreateAssistantDraftDtoVoicemailDetectionZero": ".create_assistant_draft_dto_voicemail_detection_zero", "CreateAssistantDto": ".create_assistant_dto", "CreateAssistantDtoBackgroundSound": ".create_assistant_dto_background_sound", "CreateAssistantDtoBackgroundSoundZero": ".create_assistant_dto_background_sound_zero", @@ -5825,6 +7112,7 @@ "CreateAssistantDtoCredentialsItem_Langfuse": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Lmnt": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Make": ".create_assistant_dto_credentials_item", + "CreateAssistantDtoCredentialsItem_Microsoft": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Minimax": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Mistral": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Neuphonic": ".create_assistant_dto_credentials_item", @@ -5835,6 +7123,7 @@ "CreateAssistantDtoCredentialsItem_RimeAi": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Runpod": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_S3": ".create_assistant_dto_credentials_item", + "CreateAssistantDtoCredentialsItem_S3Compatible": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_SlackOauth2Authorization": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_SlackWebhook": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_SmallestAi": ".create_assistant_dto_credentials_item", @@ -5843,7 +7132,6 @@ "CreateAssistantDtoCredentialsItem_Supabase": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Tavus": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_TogetherAi": ".create_assistant_dto_credentials_item", - "CreateAssistantDtoCredentialsItem_Trieve": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Twilio": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Vonage": ".create_assistant_dto_credentials_item", "CreateAssistantDtoCredentialsItem_Webhook": ".create_assistant_dto_credentials_item", @@ -5867,6 +7155,7 @@ "CreateAssistantDtoModel_Openrouter": ".create_assistant_dto_model", "CreateAssistantDtoModel_PerplexityAi": ".create_assistant_dto_model", "CreateAssistantDtoModel_TogetherAi": ".create_assistant_dto_model", + "CreateAssistantDtoModel_Vapi": ".create_assistant_dto_model", "CreateAssistantDtoModel_Xai": ".create_assistant_dto_model", "CreateAssistantDtoServerMessagesItem": ".create_assistant_dto_server_messages_item", "CreateAssistantDtoTranscriber": ".create_assistant_dto_transcriber", @@ -5882,6 +7171,8 @@ "CreateAssistantDtoTranscriber_Soniox": ".create_assistant_dto_transcriber", "CreateAssistantDtoTranscriber_Speechmatics": ".create_assistant_dto_transcriber", "CreateAssistantDtoTranscriber_Talkscriber": ".create_assistant_dto_transcriber", + "CreateAssistantDtoTranscriber_Vapi": ".create_assistant_dto_transcriber", + "CreateAssistantDtoTranscriber_Xai": ".create_assistant_dto_transcriber", "CreateAssistantDtoVoice": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_11Labs": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Azure": ".create_assistant_dto_voice", @@ -5891,6 +7182,7 @@ "CreateAssistantDtoVoice_Hume": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Inworld": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Lmnt": ".create_assistant_dto_voice", + "CreateAssistantDtoVoice_Microsoft": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Minimax": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Neuphonic": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Openai": ".create_assistant_dto_voice", @@ -5901,6 +7193,7 @@ "CreateAssistantDtoVoice_Tavus": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Vapi": ".create_assistant_dto_voice", "CreateAssistantDtoVoice_Wellsaid": ".create_assistant_dto_voice", + "CreateAssistantDtoVoice_Xai": ".create_assistant_dto_voice", "CreateAssistantDtoVoicemailDetection": ".create_assistant_dto_voicemail_detection", "CreateAssistantDtoVoicemailDetectionZero": ".create_assistant_dto_voicemail_detection_zero", "CreateAzureCredentialDto": ".create_azure_credential_dto", @@ -5928,6 +7221,8 @@ "CreateByoPhoneNumberDtoHooksItem_CallEnding": ".create_byo_phone_number_dto_hooks_item", "CreateByoPhoneNumberDtoHooksItem_CallRinging": ".create_byo_phone_number_dto_hooks_item", "CreateByoSipTrunkCredentialDto": ".create_byo_sip_trunk_credential_dto", + "CreateCampaignDto": ".create_campaign_dto", + "CreateCampaignDtoServerMessagesItem": ".create_campaign_dto_server_messages_item", "CreateCartesiaCredentialDto": ".create_cartesia_credential_dto", "CreateCerebrasCredentialDto": ".create_cerebras_credential_dto", "CreateChatStreamResponse": ".create_chat_stream_response", @@ -5967,6 +7262,7 @@ "CreateDtmfToolDtoMessagesItem_RequestResponseDelayed": ".create_dtmf_tool_dto_messages_item", "CreateDtmfToolDtoMessagesItem_RequestStart": ".create_dtmf_tool_dto_messages_item", "CreateElevenLabsCredentialDto": ".create_eleven_labs_credential_dto", + "CreateElevenLabsCredentialDtoApiUrl": ".create_eleven_labs_credential_dto_api_url", "CreateEmailCredentialDto": ".create_email_credential_dto", "CreateEndCallToolDto": ".create_end_call_tool_dto", "CreateEndCallToolDtoMessagesItem": ".create_end_call_tool_dto_messages_item", @@ -6073,6 +7369,7 @@ "CreateMcpToolDtoMessagesItem_RequestFailed": ".create_mcp_tool_dto_messages_item", "CreateMcpToolDtoMessagesItem_RequestResponseDelayed": ".create_mcp_tool_dto_messages_item", "CreateMcpToolDtoMessagesItem_RequestStart": ".create_mcp_tool_dto_messages_item", + "CreateMicrosoftCredentialDto": ".create_microsoft_credential_dto", "CreateMinimaxCredentialDto": ".create_minimax_credential_dto", "CreateMistralCredentialDto": ".create_mistral_credential_dto", "CreateNeuphonicCredentialDto": ".create_neuphonic_credential_dto", @@ -6081,6 +7378,13 @@ "CreateOrgDto": ".create_org_dto", "CreateOrgDtoChannel": ".create_org_dto_channel", "CreateOutboundCallDto": ".create_outbound_call_dto", + "CreateOutboundCallDtoTransport": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_Daily": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_Telnyx": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_Twilio": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_VapiSip": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_VapiWebsocket": ".create_outbound_call_dto_transport", + "CreateOutboundCallDtoTransport_Vonage": ".create_outbound_call_dto_transport", "CreateOutputToolDto": ".create_output_tool_dto", "CreateOutputToolDtoMessagesItem": ".create_output_tool_dto_messages_item", "CreateOutputToolDtoMessagesItem_RequestComplete": ".create_output_tool_dto_messages_item", @@ -6102,6 +7406,7 @@ "CreateQueryToolDtoMessagesItem_RequestStart": ".create_query_tool_dto_messages_item", "CreateRimeAiCredentialDto": ".create_rime_ai_credential_dto", "CreateRunpodCredentialDto": ".create_runpod_credential_dto", + "CreateS3CompatibleCredentialDto": ".create_s_3_compatible_credential_dto", "CreateS3CredentialDto": ".create_s_3_credential_dto", "CreateScenarioDto": ".create_scenario_dto", "CreateScenarioDtoHooksItem": ".create_scenario_dto_hooks_item", @@ -6117,6 +7422,14 @@ "CreateSimulationRunDtoTarget": ".create_simulation_run_dto_target", "CreateSimulationRunDtoTarget_Assistant": ".create_simulation_run_dto_target", "CreateSimulationRunDtoTarget_Squad": ".create_simulation_run_dto_target", + "CreateSimulationRunResponse": ".create_simulation_run_response", + "CreateSimulationRunResponseSimulationsItem": ".create_simulation_run_response_simulations_item", + "CreateSimulationRunResponseSimulationsItem_Simulation": ".create_simulation_run_response_simulations_item", + "CreateSimulationRunResponseSimulationsItem_SimulationSuite": ".create_simulation_run_response_simulations_item", + "CreateSimulationRunResponseStatus": ".create_simulation_run_response_status", + "CreateSimulationRunResponseTarget": ".create_simulation_run_response_target", + "CreateSimulationRunResponseTarget_Assistant": ".create_simulation_run_response_target", + "CreateSimulationRunResponseTarget_Squad": ".create_simulation_run_response_target", "CreateSimulationSuiteDto": ".create_simulation_suite_dto", "CreateSipRequestToolDto": ".create_sip_request_tool_dto", "CreateSipRequestToolDtoBody": ".create_sip_request_tool_dto_body", @@ -6145,6 +7458,10 @@ "CreateSpeechmaticsCredentialDto": ".create_speechmatics_credential_dto", "CreateSquadDto": ".create_squad_dto", "CreateStructuredOutputDto": ".create_structured_output_dto", + "CreateStructuredOutputDtoConditionsItem": ".create_structured_output_dto_conditions_item", + "CreateStructuredOutputDtoConditionsItem_EndedReason": ".create_structured_output_dto_conditions_item", + "CreateStructuredOutputDtoConditionsItem_MinCallDuration": ".create_structured_output_dto_conditions_item", + "CreateStructuredOutputDtoConditionsItem_MinMessages": ".create_structured_output_dto_conditions_item", "CreateStructuredOutputDtoModel": ".create_structured_output_dto_model", "CreateStructuredOutputDtoModel_Anthropic": ".create_structured_output_dto_model", "CreateStructuredOutputDtoModel_AnthropicBedrock": ".create_structured_output_dto_model", @@ -6180,6 +7497,15 @@ "CreateTogetherAiCredentialDto": ".create_together_ai_credential_dto", "CreateTokenDto": ".create_token_dto", "CreateTokenDtoTag": ".create_token_dto_tag", + "CreateToolDraftDto": ".create_tool_draft_dto", + "CreateToolDraftDtoMessagesItem": ".create_tool_draft_dto_messages_item", + "CreateToolDraftDtoMessagesItem_RequestComplete": ".create_tool_draft_dto_messages_item", + "CreateToolDraftDtoMessagesItem_RequestFailed": ".create_tool_draft_dto_messages_item", + "CreateToolDraftDtoMessagesItem_RequestResponseDelayed": ".create_tool_draft_dto_messages_item", + "CreateToolDraftDtoMessagesItem_RequestStart": ".create_tool_draft_dto_messages_item", + "CreateToolDraftDtoMethod": ".create_tool_draft_dto_method", + "CreateToolDraftDtoType": ".create_tool_draft_dto_type", + "CreateToolDraftDtoVerb": ".create_tool_draft_dto_verb", "CreateToolTemplateDto": ".create_tool_template_dto", "CreateToolTemplateDtoDetails": ".create_tool_template_dto_details", "CreateToolTemplateDtoDetails_ApiRequest": ".create_tool_template_dto_details", @@ -6230,7 +7556,6 @@ "CreateTransferCallToolDtoMessagesItem_RequestStart": ".create_transfer_call_tool_dto_messages_item", "CreateTrieveCredentialDto": ".create_trieve_credential_dto", "CreateTrieveKnowledgeBaseDto": ".create_trieve_knowledge_base_dto", - "CreateTrieveKnowledgeBaseDtoProvider": ".create_trieve_knowledge_base_dto_provider", "CreateTwilioCredentialDto": ".create_twilio_credential_dto", "CreateTwilioPhoneNumberDto": ".create_twilio_phone_number_dto", "CreateTwilioPhoneNumberDtoFallbackDestination": ".create_twilio_phone_number_dto_fallback_destination", @@ -6307,6 +7632,7 @@ "CreateWorkflowDtoCredentialsItem_Langfuse": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Lmnt": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Make": ".create_workflow_dto_credentials_item", + "CreateWorkflowDtoCredentialsItem_Microsoft": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Minimax": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Mistral": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Neuphonic": ".create_workflow_dto_credentials_item", @@ -6317,6 +7643,7 @@ "CreateWorkflowDtoCredentialsItem_RimeAi": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Runpod": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_S3": ".create_workflow_dto_credentials_item", + "CreateWorkflowDtoCredentialsItem_S3Compatible": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_SlackWebhook": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_SmallestAi": ".create_workflow_dto_credentials_item", @@ -6325,7 +7652,6 @@ "CreateWorkflowDtoCredentialsItem_Supabase": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Tavus": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_TogetherAi": ".create_workflow_dto_credentials_item", - "CreateWorkflowDtoCredentialsItem_Trieve": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Twilio": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Vonage": ".create_workflow_dto_credentials_item", "CreateWorkflowDtoCredentialsItem_Webhook": ".create_workflow_dto_credentials_item", @@ -6354,6 +7680,8 @@ "CreateWorkflowDtoTranscriber_Soniox": ".create_workflow_dto_transcriber", "CreateWorkflowDtoTranscriber_Speechmatics": ".create_workflow_dto_transcriber", "CreateWorkflowDtoTranscriber_Talkscriber": ".create_workflow_dto_transcriber", + "CreateWorkflowDtoTranscriber_Vapi": ".create_workflow_dto_transcriber", + "CreateWorkflowDtoTranscriber_Xai": ".create_workflow_dto_transcriber", "CreateWorkflowDtoVoice": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_11Labs": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Azure": ".create_workflow_dto_voice", @@ -6363,6 +7691,7 @@ "CreateWorkflowDtoVoice_Hume": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Inworld": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Lmnt": ".create_workflow_dto_voice", + "CreateWorkflowDtoVoice_Microsoft": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Minimax": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Neuphonic": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Openai": ".create_workflow_dto_voice", @@ -6373,6 +7702,7 @@ "CreateWorkflowDtoVoice_Tavus": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Vapi": ".create_workflow_dto_voice", "CreateWorkflowDtoVoice_Wellsaid": ".create_workflow_dto_voice", + "CreateWorkflowDtoVoice_Xai": ".create_workflow_dto_voice", "CreateWorkflowDtoVoicemailDetection": ".create_workflow_dto_voicemail_detection", "CreateWorkflowDtoVoicemailDetectionZero": ".create_workflow_dto_voicemail_detection_zero", "CreateXAiCredentialDto": ".create_x_ai_credential_dto", @@ -6430,6 +7760,7 @@ "CustomVoice": ".custom_voice", "CustomerCustomEndpointingRule": ".customer_custom_endpointing_rule", "CustomerSpeechTimeoutOptions": ".customer_speech_timeout_options", + "CustomerSpeechTimeoutOptionsTriggerResetMode": ".customer_speech_timeout_options_trigger_reset_mode", "DeepInfraCredential": ".deep_infra_credential", "DeepInfraCredentialProvider": ".deep_infra_credential_provider", "DeepInfraModel": ".deep_infra_model", @@ -6490,6 +7821,7 @@ "DeepgramTranscriber": ".deepgram_transcriber", "DeepgramTranscriberLanguage": ".deepgram_transcriber_language", "DeepgramTranscriberModel": ".deepgram_transcriber_model", + "DeepgramTranscriberRedactionItem": ".deepgram_transcriber_redaction_item", "DeepgramVoice": ".deepgram_voice", "DeepgramVoiceId": ".deepgram_voice_id", "DeepgramVoiceModel": ".deepgram_voice_model", @@ -6504,6 +7836,7 @@ "DtmfToolMessagesItem_RequestStart": ".dtmf_tool_messages_item", "Edge": ".edge", "ElevenLabsCredential": ".eleven_labs_credential", + "ElevenLabsCredentialApiUrl": ".eleven_labs_credential_api_url", "ElevenLabsPronunciationDictionary": ".eleven_labs_pronunciation_dictionary", "ElevenLabsPronunciationDictionaryLocator": ".eleven_labs_pronunciation_dictionary_locator", "ElevenLabsPronunciationDictionaryPermissionOnResource": ".eleven_labs_pronunciation_dictionary_permission_on_resource", @@ -6522,6 +7855,8 @@ "EndCallToolMessagesItem_RequestFailed": ".end_call_tool_messages_item", "EndCallToolMessagesItem_RequestResponseDelayed": ".end_call_tool_messages_item", "EndCallToolMessagesItem_RequestStart": ".end_call_tool_messages_item", + "EndedReasonCondition": ".ended_reason_condition", + "EndedReasonConditionOperator": ".ended_reason_condition_operator", "EndpointedSpeechLowConfidenceOptions": ".endpointed_speech_low_confidence_options", "Eval": ".eval", "EvalAnthropicModel": ".eval_anthropic_model", @@ -6572,10 +7907,12 @@ "ExportChatDto": ".export_chat_dto", "ExportChatDtoColumns": ".export_chat_dto_columns", "ExportChatDtoFormat": ".export_chat_dto_format", + "ExportChatDtoSortBy": ".export_chat_dto_sort_by", "ExportChatDtoSortOrder": ".export_chat_dto_sort_order", "ExportSessionDto": ".export_session_dto", "ExportSessionDtoColumns": ".export_session_dto_columns", "ExportSessionDtoFormat": ".export_session_dto_format", + "ExportSessionDtoSortBy": ".export_session_dto_sort_by", "ExportSessionDtoSortOrder": ".export_session_dto_sort_order", "FailedEdgeCondition": ".failed_edge_condition", "FallbackAssemblyAiTranscriber": ".fallback_assembly_ai_transcriber", @@ -6598,6 +7935,7 @@ "FallbackDeepgramTranscriber": ".fallback_deepgram_transcriber", "FallbackDeepgramTranscriberLanguage": ".fallback_deepgram_transcriber_language", "FallbackDeepgramTranscriberModel": ".fallback_deepgram_transcriber_model", + "FallbackDeepgramTranscriberRedactionItem": ".fallback_deepgram_transcriber_redaction_item", "FallbackDeepgramVoice": ".fallback_deepgram_voice", "FallbackDeepgramVoiceId": ".fallback_deepgram_voice_id", "FallbackDeepgramVoiceModel": ".fallback_deepgram_voice_model", @@ -6611,7 +7949,7 @@ "FallbackGladiaTranscriber": ".fallback_gladia_transcriber", "FallbackGladiaTranscriberLanguage": ".fallback_gladia_transcriber_language", "FallbackGladiaTranscriberLanguageBehaviour": ".fallback_gladia_transcriber_language_behaviour", - "FallbackGladiaTranscriberLanguages": ".fallback_gladia_transcriber_languages", + "FallbackGladiaTranscriberLanguagesItem": ".fallback_gladia_transcriber_languages_item", "FallbackGladiaTranscriberModel": ".fallback_gladia_transcriber_model", "FallbackGladiaTranscriberRegion": ".fallback_gladia_transcriber_region", "FallbackGoogleTranscriber": ".fallback_google_transcriber", @@ -6627,6 +7965,10 @@ "FallbackLmntVoiceId": ".fallback_lmnt_voice_id", "FallbackLmntVoiceIdEnum": ".fallback_lmnt_voice_id_enum", "FallbackLmntVoiceLanguage": ".fallback_lmnt_voice_language", + "FallbackMicrosoftVoice": ".fallback_microsoft_voice", + "FallbackMicrosoftVoiceRole": ".fallback_microsoft_voice_role", + "FallbackMicrosoftVoiceStyle": ".fallback_microsoft_voice_style", + "FallbackMicrosoftVoiceVoiceId": ".fallback_microsoft_voice_voice_id", "FallbackMinimaxVoice": ".fallback_minimax_voice", "FallbackMinimaxVoiceLanguageBoost": ".fallback_minimax_voice_language_boost", "FallbackMinimaxVoiceModel": ".fallback_minimax_voice_model", @@ -6653,6 +7995,7 @@ "FallbackPlanVoicesItem_Hume": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Inworld": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Lmnt": ".fallback_plan_voices_item", + "FallbackPlanVoicesItem_Microsoft": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Neuphonic": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Openai": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Playht": ".fallback_plan_voices_item", @@ -6662,6 +8005,7 @@ "FallbackPlanVoicesItem_Tavus": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Vapi": ".fallback_plan_voices_item", "FallbackPlanVoicesItem_Wellsaid": ".fallback_plan_voices_item", + "FallbackPlanVoicesItem_Xai": ".fallback_plan_voices_item", "FallbackPlayHtVoice": ".fallback_play_ht_voice", "FallbackPlayHtVoiceEmotion": ".fallback_play_ht_voice_emotion", "FallbackPlayHtVoiceId": ".fallback_play_ht_voice_id", @@ -6681,6 +8025,7 @@ "FallbackSmallestAiVoiceModel": ".fallback_smallest_ai_voice_model", "FallbackSonioxTranscriber": ".fallback_soniox_transcriber", "FallbackSonioxTranscriberLanguage": ".fallback_soniox_transcriber_language", + "FallbackSonioxTranscriberLanguagesItem": ".fallback_soniox_transcriber_languages_item", "FallbackSonioxTranscriberModel": ".fallback_soniox_transcriber_model", "FallbackSpeechmaticsTranscriber": ".fallback_speechmatics_transcriber", "FallbackSpeechmaticsTranscriberLanguage": ".fallback_speechmatics_transcriber_language", @@ -6708,10 +8053,19 @@ "FallbackTranscriberPlanTranscribersItem_Soniox": ".fallback_transcriber_plan_transcribers_item", "FallbackTranscriberPlanTranscribersItem_Speechmatics": ".fallback_transcriber_plan_transcribers_item", "FallbackTranscriberPlanTranscribersItem_Talkscriber": ".fallback_transcriber_plan_transcribers_item", + "FallbackTranscriberPlanTranscribersItem_Xai": ".fallback_transcriber_plan_transcribers_item", "FallbackVapiVoice": ".fallback_vapi_voice", + "FallbackVapiVoiceLanguage": ".fallback_vapi_voice_language", + "FallbackVapiVoiceVersion": ".fallback_vapi_voice_version", "FallbackVapiVoiceVoiceId": ".fallback_vapi_voice_voice_id", "FallbackWellSaidVoice": ".fallback_well_said_voice", "FallbackWellSaidVoiceModel": ".fallback_well_said_voice_model", + "FallbackXaiTranscriber": ".fallback_xai_transcriber", + "FallbackXaiTranscriberLanguage": ".fallback_xai_transcriber_language", + "FallbackXaiTranscriberModel": ".fallback_xai_transcriber_model", + "FallbackXaiVoice": ".fallback_xai_voice", + "FallbackXaiVoiceLanguage": ".fallback_xai_voice_language", + "FallbackXaiVoiceVoiceId": ".fallback_xai_voice_voice_id", "File": ".file", "FileObject": ".file_object", "FileStatus": ".file_status", @@ -6773,13 +8127,18 @@ "GeneratedScenario": ".generated_scenario", "GeneratedScenarioCategory": ".generated_scenario_category", "GetChatPaginatedDto": ".get_chat_paginated_dto", + "GetChatPaginatedDtoSortBy": ".get_chat_paginated_dto_sort_by", "GetChatPaginatedDtoSortOrder": ".get_chat_paginated_dto_sort_order", "GetEvalPaginatedDto": ".get_eval_paginated_dto", + "GetEvalPaginatedDtoSortBy": ".get_eval_paginated_dto_sort_by", "GetEvalPaginatedDtoSortOrder": ".get_eval_paginated_dto_sort_order", "GetEvalRunPaginatedDto": ".get_eval_run_paginated_dto", + "GetEvalRunPaginatedDtoSortBy": ".get_eval_run_paginated_dto_sort_by", "GetEvalRunPaginatedDtoSortOrder": ".get_eval_run_paginated_dto_sort_order", "GetSessionPaginatedDto": ".get_session_paginated_dto", + "GetSessionPaginatedDtoSortBy": ".get_session_paginated_dto_sort_by", "GetSessionPaginatedDtoSortOrder": ".get_session_paginated_dto_sort_order", + "GetToolDraftsDto": ".get_tool_drafts_dto", "GhlTool": ".ghl_tool", "GhlToolMessagesItem": ".ghl_tool_messages_item", "GhlToolMessagesItem_RequestComplete": ".ghl_tool_messages_item", @@ -6802,7 +8161,7 @@ "GladiaTranscriber": ".gladia_transcriber", "GladiaTranscriberLanguage": ".gladia_transcriber_language", "GladiaTranscriberLanguageBehaviour": ".gladia_transcriber_language_behaviour", - "GladiaTranscriberLanguages": ".gladia_transcriber_languages", + "GladiaTranscriberLanguagesItem": ".gladia_transcriber_languages_item", "GladiaTranscriberModel": ".gladia_transcriber_model", "GladiaTranscriberRegion": ".gladia_transcriber_region", "GladiaVocabularyItemDto": ".gladia_vocabulary_item_dto", @@ -6980,6 +8339,7 @@ "HandoffDestinationAssistantContextEngineeringPlan_All": ".handoff_destination_assistant_context_engineering_plan", "HandoffDestinationAssistantContextEngineeringPlan_LastNMessages": ".handoff_destination_assistant_context_engineering_plan", "HandoffDestinationAssistantContextEngineeringPlan_None": ".handoff_destination_assistant_context_engineering_plan", + "HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages": ".handoff_destination_assistant_context_engineering_plan", "HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages": ".handoff_destination_assistant_context_engineering_plan", "HandoffDestinationAssistantType": ".handoff_destination_assistant_type", "HandoffDestinationDynamic": ".handoff_destination_dynamic", @@ -6988,6 +8348,7 @@ "HandoffDestinationSquadContextEngineeringPlan_All": ".handoff_destination_squad_context_engineering_plan", "HandoffDestinationSquadContextEngineeringPlan_LastNMessages": ".handoff_destination_squad_context_engineering_plan", "HandoffDestinationSquadContextEngineeringPlan_None": ".handoff_destination_squad_context_engineering_plan", + "HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages": ".handoff_destination_squad_context_engineering_plan", "HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages": ".handoff_destination_squad_context_engineering_plan", "HandoffTool": ".handoff_tool", "HandoffToolDestinationsItem": ".handoff_tool_destinations_item", @@ -7062,6 +8423,7 @@ "InsightType": ".insight_type", "InviteUserDto": ".invite_user_dto", "InviteUserDtoRole": ".invite_user_dto_role", + "InviteUserDtoRoleZero": ".invite_user_dto_role_zero", "InvoicePlan": ".invoice_plan", "InworldCredential": ".inworld_credential", "InworldCredentialProvider": ".inworld_credential_provider", @@ -7109,6 +8471,8 @@ "LangfuseObservabilityPlan": ".langfuse_observability_plan", "LangfuseObservabilityPlanProvider": ".langfuse_observability_plan_provider", "LatencyMetrics": ".latency_metrics", + "LegacyAssistantVersion": ".legacy_assistant_version", + "LegacyAssistantVersionPaginatedResponse": ".legacy_assistant_version_paginated_response", "LineInsight": ".line_insight", "LineInsightFromCallTable": ".line_insight_from_call_table", "LineInsightFromCallTableGroupBy": ".line_insight_from_call_table_group_by", @@ -7161,6 +8525,14 @@ "MessageAddHookAction": ".message_add_hook_action", "MessageTarget": ".message_target", "MessageTargetRole": ".message_target_role", + "MicrosoftCredential": ".microsoft_credential", + "MicrosoftCredentialProvider": ".microsoft_credential_provider", + "MicrosoftVoice": ".microsoft_voice", + "MicrosoftVoiceRole": ".microsoft_voice_role", + "MicrosoftVoiceStyle": ".microsoft_voice_style", + "MicrosoftVoiceVoiceId": ".microsoft_voice_voice_id", + "MinCallDurationCondition": ".min_call_duration_condition", + "MinMessagesCondition": ".min_messages_condition", "MinimaxLlmModel": ".minimax_llm_model", "MinimaxLlmModelModel": ".minimax_llm_model_model", "MinimaxLlmModelToolsItem": ".minimax_llm_model_tools_item", @@ -7206,6 +8578,9 @@ "NeuphonicVoiceModel": ".neuphonic_voice_model", "NodeArtifact": ".node_artifact", "NodeArtifactMessagesItem": ".node_artifact_messages_item", + "NumberComparatorScorecardMetricCondition": ".number_comparator_scorecard_metric_condition", + "NumberComparatorScorecardMetricConditionComparator": ".number_comparator_scorecard_metric_condition_comparator", + "NumberComparatorScorecardMetricConditionType": ".number_comparator_scorecard_metric_condition_type", "OAuth2AuthenticationPlan": ".o_auth_2_authentication_plan", "OAuth2AuthenticationPlanType": ".o_auth_2_authentication_plan_type", "Oauth2AuthenticationSession": ".oauth_2_authentication_session", @@ -7220,6 +8595,7 @@ "OpenAiModelFallbackModelsItem": ".open_ai_model_fallback_models_item", "OpenAiModelModel": ".open_ai_model_model", "OpenAiModelPromptCacheRetention": ".open_ai_model_prompt_cache_retention", + "OpenAiModelReasoningEffort": ".open_ai_model_reasoning_effort", "OpenAiModelToolStrictCompatibilityMode": ".open_ai_model_tool_strict_compatibility_mode", "OpenAiModelToolsItem": ".open_ai_model_tools_item", "OpenAiModelToolsItem_ApiRequest": ".open_ai_model_tools_item", @@ -7295,6 +8671,9 @@ "OutputToolMessagesItem_RequestStart": ".output_tool_messages_item", "OutputToolType": ".output_tool_type", "PaginationMeta": ".pagination_meta", + "PaginationMetaSortOrder": ".pagination_meta_sort_order", + "PendingInvitationDto": ".pending_invitation_dto", + "PendingInvitationsResponseDto": ".pending_invitations_response_dto", "PerformanceMetrics": ".performance_metrics", "PerplexityAiCredential": ".perplexity_ai_credential", "PerplexityAiCredentialProvider": ".perplexity_ai_credential_provider", @@ -7383,6 +8762,7 @@ "Recording": ".recording", "RecordingConsent": ".recording_consent", "RecordingConsentPlanStayOnLine": ".recording_consent_plan_stay_on_line", + "RecordingConsentPlanStayOnLineFirstMessageMode": ".recording_consent_plan_stay_on_line_first_message_mode", "RecordingConsentPlanStayOnLineVoice": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_11Labs": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Azure": ".recording_consent_plan_stay_on_line_voice", @@ -7392,6 +8772,7 @@ "RecordingConsentPlanStayOnLineVoice_Hume": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Inworld": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Lmnt": ".recording_consent_plan_stay_on_line_voice", + "RecordingConsentPlanStayOnLineVoice_Microsoft": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Minimax": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Neuphonic": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Openai": ".recording_consent_plan_stay_on_line_voice", @@ -7402,7 +8783,9 @@ "RecordingConsentPlanStayOnLineVoice_Tavus": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Vapi": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanStayOnLineVoice_Wellsaid": ".recording_consent_plan_stay_on_line_voice", + "RecordingConsentPlanStayOnLineVoice_Xai": ".recording_consent_plan_stay_on_line_voice", "RecordingConsentPlanVerbal": ".recording_consent_plan_verbal", + "RecordingConsentPlanVerbalFirstMessageMode": ".recording_consent_plan_verbal_first_message_mode", "RecordingConsentPlanVerbalVoice": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_11Labs": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Azure": ".recording_consent_plan_verbal_voice", @@ -7412,6 +8795,7 @@ "RecordingConsentPlanVerbalVoice_Hume": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Inworld": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Lmnt": ".recording_consent_plan_verbal_voice", + "RecordingConsentPlanVerbalVoice_Microsoft": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Minimax": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Neuphonic": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Openai": ".recording_consent_plan_verbal_voice", @@ -7422,6 +8806,8 @@ "RecordingConsentPlanVerbalVoice_Tavus": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Vapi": ".recording_consent_plan_verbal_voice", "RecordingConsentPlanVerbalVoice_Wellsaid": ".recording_consent_plan_verbal_voice", + "RecordingConsentPlanVerbalVoice_Xai": ".recording_consent_plan_verbal_voice", + "RecordingConsentType": ".recording_consent_type", "RegexCondition": ".regex_condition", "RegexOption": ".regex_option", "RegexOptionType": ".regex_option_type", @@ -7462,6 +8848,7 @@ "ResponseTextDeltaEventType": ".response_text_delta_event_type", "ResponseTextDoneEvent": ".response_text_done_event", "ResponseTextDoneEventType": ".response_text_done_event_type", + "RevokeInvitationResponseDto": ".revoke_invitation_response_dto", "RimeAiCredential": ".rime_ai_credential", "RimeAiCredentialProvider": ".rime_ai_credential_provider", "RimeAiVoice": ".rime_ai_voice", @@ -7471,10 +8858,14 @@ "RimeAiVoiceModel": ".rime_ai_voice_model", "RunpodCredential": ".runpod_credential", "RunpodCredentialProvider": ".runpod_credential_provider", + "S3CompatibleBucketPlan": ".s_3_compatible_bucket_plan", + "S3CompatibleStorageCredential": ".s_3_compatible_storage_credential", + "S3CompatibleStorageCredentialProvider": ".s_3_compatible_storage_credential_provider", "S3Credential": ".s_3_credential", "S3CredentialProvider": ".s_3_credential_provider", "SayAssistantHookAction": ".say_assistant_hook_action", "SayHookAction": ".say_hook_action", + "SayHookActionExact": ".say_hook_action_exact", "SayHookActionPrompt": ".say_hook_action_prompt", "SayHookActionPromptOneItem": ".say_hook_action_prompt_one_item", "SayPhoneNumberHookAction": ".say_phone_number_hook_action", @@ -7487,6 +8878,7 @@ "SchedulePlan": ".schedule_plan", "Scorecard": ".scorecard", "ScorecardMetric": ".scorecard_metric", + "ScorecardMetricConditionsItem": ".scorecard_metric_conditions_item", "ScorecardPaginatedResponse": ".scorecard_paginated_response", "SecurityFilterBase": ".security_filter_base", "SecurityFilterPlan": ".security_filter_plan", @@ -7538,6 +8930,14 @@ "ServerMessageCallEndpointingRequestPhoneNumber_Vapi": ".server_message_call_endpointing_request_phone_number", "ServerMessageCallEndpointingRequestPhoneNumber_Vonage": ".server_message_call_endpointing_request_phone_number", "ServerMessageCallEndpointingRequestType": ".server_message_call_endpointing_request_type", + "ServerMessageCampaignPredial": ".server_message_campaign_predial", + "ServerMessageCampaignPredialPhoneNumber": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialPhoneNumber_Telnyx": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialPhoneNumber_Twilio": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialPhoneNumber_Vapi": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialPhoneNumber_Vonage": ".server_message_campaign_predial_phone_number", + "ServerMessageCampaignPredialType": ".server_message_campaign_predial_type", "ServerMessageChatCreated": ".server_message_chat_created", "ServerMessageChatCreatedPhoneNumber": ".server_message_chat_created_phone_number", "ServerMessageChatCreatedPhoneNumber_ByoPhoneNumber": ".server_message_chat_created_phone_number", @@ -7644,6 +9044,7 @@ "ServerMessageResponseAssistantRequestDestination_Number": ".server_message_response_assistant_request_destination", "ServerMessageResponseAssistantRequestDestination_Sip": ".server_message_response_assistant_request_destination", "ServerMessageResponseCallEndpointingRequest": ".server_message_response_call_endpointing_request", + "ServerMessageResponseCampaignPredial": ".server_message_response_campaign_predial", "ServerMessageResponseHandoffDestinationRequest": ".server_message_response_handoff_destination_request", "ServerMessageResponseKnowledgeBaseRequest": ".server_message_response_knowledge_base_request", "ServerMessageResponseMessageResponse": ".server_message_response_message_response", @@ -7825,6 +9226,8 @@ "SimulationRunTransportConfiguration": ".simulation_run_transport_configuration", "SimulationRunTransportConfigurationProvider": ".simulation_run_transport_configuration_provider", "SimulationSuite": ".simulation_suite", + "SimulationSuiteTargetAssignment": ".simulation_suite_target_assignment", + "SimulationSuiteTargetAssignmentTargetType": ".simulation_suite_target_assignment_target_type", "SipAuthentication": ".sip_authentication", "SipRequestTool": ".sip_request_tool", "SipRequestToolBody": ".sip_request_tool_body", @@ -7838,6 +9241,11 @@ "SipTrunkGatewayOutboundProtocol": ".sip_trunk_gateway_outbound_protocol", "SipTrunkOutboundAuthenticationPlan": ".sip_trunk_outbound_authentication_plan", "SipTrunkOutboundSipRegisterPlan": ".sip_trunk_outbound_sip_register_plan", + "SkippedStructuredOutput": ".skipped_structured_output", + "SkippedStructuredOutputUnmetCondition": ".skipped_structured_output_unmet_condition", + "SkippedStructuredOutputUnmetCondition_EndedReason": ".skipped_structured_output_unmet_condition", + "SkippedStructuredOutputUnmetCondition_MinCallDuration": ".skipped_structured_output_unmet_condition", + "SkippedStructuredOutputUnmetCondition_MinMessages": ".skipped_structured_output_unmet_condition", "SlackOAuth2AuthorizationCredential": ".slack_o_auth_2_authorization_credential", "SlackOAuth2AuthorizationCredentialProvider": ".slack_o_auth_2_authorization_credential_provider", "SlackSendMessageTool": ".slack_send_message_tool", @@ -7861,10 +9269,12 @@ "SmsToolMessagesItem_RequestFailed": ".sms_tool_messages_item", "SmsToolMessagesItem_RequestResponseDelayed": ".sms_tool_messages_item", "SmsToolMessagesItem_RequestStart": ".sms_tool_messages_item", + "SonioxContextGeneralItem": ".soniox_context_general_item", "SonioxCredential": ".soniox_credential", "SonioxCredentialProvider": ".soniox_credential_provider", "SonioxTranscriber": ".soniox_transcriber", "SonioxTranscriberLanguage": ".soniox_transcriber_language", + "SonioxTranscriberLanguagesItem": ".soniox_transcriber_languages_item", "SonioxTranscriberModel": ".soniox_transcriber_model", "SpeechmaticsCredential": ".speechmatics_credential", "SpeechmaticsCredentialProvider": ".speechmatics_credential_provider", @@ -7895,6 +9305,10 @@ "StructuredDataMultiPlan": ".structured_data_multi_plan", "StructuredDataPlan": ".structured_data_plan", "StructuredOutput": ".structured_output", + "StructuredOutputConditionsItem": ".structured_output_conditions_item", + "StructuredOutputConditionsItem_EndedReason": ".structured_output_conditions_item", + "StructuredOutputConditionsItem_MinCallDuration": ".structured_output_conditions_item", + "StructuredOutputConditionsItem_MinMessages": ".structured_output_conditions_item", "StructuredOutputEvaluationResult": ".structured_output_evaluation_result", "StructuredOutputEvaluationResultComparator": ".structured_output_evaluation_result_comparator", "StructuredOutputEvaluationResultExpectedValue": ".structured_output_evaluation_result_expected_value", @@ -7907,6 +9321,10 @@ "StructuredOutputModel_Google": ".structured_output_model", "StructuredOutputModel_Openai": ".structured_output_model", "StructuredOutputPaginatedResponse": ".structured_output_paginated_response", + "StructuredOutputRerunResponse": ".structured_output_rerun_response", + "StructuredOutputRunPreviewResponse": ".structured_output_run_preview_response", + "StructuredOutputRunResult": ".structured_output_run_result", + "StructuredOutputRunResultResult": ".structured_output_run_result_result", "StructuredOutputType": ".structured_output_type", "Subscription": ".subscription", "SubscriptionLimits": ".subscription_limits", @@ -7941,6 +9359,8 @@ "TelnyxPhoneNumberHooksItem_CallEnding": ".telnyx_phone_number_hooks_item", "TelnyxPhoneNumberHooksItem_CallRinging": ".telnyx_phone_number_hooks_item", "TelnyxPhoneNumberStatus": ".telnyx_phone_number_status", + "TelnyxTransport": ".telnyx_transport", + "TelnyxTransportConversationType": ".telnyx_transport_conversation_type", "Template": ".template", "TemplateDetails": ".template_details", "TemplateDetails_ApiRequest": ".template_details", @@ -8090,11 +9510,28 @@ "ToolCallMessage": ".tool_call_message", "ToolCallResult": ".tool_call_result", "ToolCallResultMessage": ".tool_call_result_message", + "ToolCallResultMessageWarning": ".tool_call_result_message_warning", + "ToolCallResultMessageWarningType": ".tool_call_result_message_warning_type", + "ToolCallResultMessage_RequestComplete": ".tool_call_result_message", + "ToolCallResultMessage_RequestFailed": ".tool_call_result_message", + "ToolDraft": ".tool_draft", + "ToolDraftConflictResponseDto": ".tool_draft_conflict_response_dto", + "ToolDraftMessagesItem": ".tool_draft_messages_item", + "ToolDraftMessagesItem_RequestComplete": ".tool_draft_messages_item", + "ToolDraftMessagesItem_RequestFailed": ".tool_draft_messages_item", + "ToolDraftMessagesItem_RequestResponseDelayed": ".tool_draft_messages_item", + "ToolDraftMessagesItem_RequestStart": ".tool_draft_messages_item", + "ToolDraftMethod": ".tool_draft_method", + "ToolDraftPaginatedMetadata": ".tool_draft_paginated_metadata", + "ToolDraftPaginatedResponse": ".tool_draft_paginated_response", + "ToolDraftType": ".tool_draft_type", + "ToolDraftVerb": ".tool_draft_verb", "ToolMessage": ".tool_message", "ToolMessageComplete": ".tool_message_complete", "ToolMessageCompleteRole": ".tool_message_complete_role", "ToolMessageDelayed": ".tool_message_delayed", "ToolMessageFailed": ".tool_message_failed", + "ToolMessageFailedRole": ".tool_message_failed_role", "ToolMessageRole": ".tool_message_role", "ToolMessageStart": ".tool_message_start", "ToolNode": ".tool_node", @@ -8124,6 +9561,9 @@ "ToolNodeTool_Voicemail": ".tool_node_tool", "ToolParameter": ".tool_parameter", "ToolParameterValue": ".tool_parameter_value", + "ToolPinnedConflictResponseDto": ".tool_pinned_conflict_response_dto", + "ToolPinnedConflictResponseDtoError": ".tool_pinned_conflict_response_dto_error", + "ToolRef": ".tool_ref", "ToolRejectionPlan": ".tool_rejection_plan", "ToolRejectionPlanConditionsItem": ".tool_rejection_plan_conditions_item", "ToolRejectionPlanConditionsItem_Group": ".tool_rejection_plan_conditions_item", @@ -8131,9 +9571,19 @@ "ToolRejectionPlanConditionsItem_Regex": ".tool_rejection_plan_conditions_item", "ToolTemplateMetadata": ".tool_template_metadata", "ToolTemplateSetup": ".tool_template_setup", + "ToolVersion": ".tool_version", + "ToolVersionPaginatedMetadata": ".tool_version_paginated_metadata", + "ToolVersionPaginatedResponse": ".tool_version_paginated_response", "TranscriberCost": ".transcriber_cost", "TranscriptPlan": ".transcript_plan", "TranscriptionEndpointingPlan": ".transcription_endpointing_plan", + "TransferArtifact": ".transfer_artifact", + "TransferArtifactDestination": ".transfer_artifact_destination", + "TransferArtifactDestination_Number": ".transfer_artifact_destination", + "TransferArtifactDestination_Sip": ".transfer_artifact_destination", + "TransferArtifactMessagesItem": ".transfer_artifact_messages_item", + "TransferArtifactMode": ".transfer_artifact_mode", + "TransferArtifactStatus": ".transfer_artifact_status", "TransferAssistant": ".transfer_assistant", "TransferAssistantBackgroundSound": ".transfer_assistant_background_sound", "TransferAssistantBackgroundSoundZero": ".transfer_assistant_background_sound_zero", @@ -8154,6 +9604,8 @@ "TransferAssistantTranscriber_Soniox": ".transfer_assistant_transcriber", "TransferAssistantTranscriber_Speechmatics": ".transfer_assistant_transcriber", "TransferAssistantTranscriber_Talkscriber": ".transfer_assistant_transcriber", + "TransferAssistantTranscriber_Vapi": ".transfer_assistant_transcriber", + "TransferAssistantTranscriber_Xai": ".transfer_assistant_transcriber", "TransferAssistantVoice": ".transfer_assistant_voice", "TransferAssistantVoice_11Labs": ".transfer_assistant_voice", "TransferAssistantVoice_Azure": ".transfer_assistant_voice", @@ -8163,6 +9615,7 @@ "TransferAssistantVoice_Hume": ".transfer_assistant_voice", "TransferAssistantVoice_Inworld": ".transfer_assistant_voice", "TransferAssistantVoice_Lmnt": ".transfer_assistant_voice", + "TransferAssistantVoice_Microsoft": ".transfer_assistant_voice", "TransferAssistantVoice_Minimax": ".transfer_assistant_voice", "TransferAssistantVoice_Neuphonic": ".transfer_assistant_voice", "TransferAssistantVoice_Openai": ".transfer_assistant_voice", @@ -8173,6 +9626,7 @@ "TransferAssistantVoice_Tavus": ".transfer_assistant_voice", "TransferAssistantVoice_Vapi": ".transfer_assistant_voice", "TransferAssistantVoice_Wellsaid": ".transfer_assistant_voice", + "TransferAssistantVoice_Xai": ".transfer_assistant_voice", "TransferCallTool": ".transfer_call_tool", "TransferCallToolDestinationsItem": ".transfer_call_tool_destinations_item", "TransferCallToolDestinationsItem_Assistant": ".transfer_call_tool_destinations_item", @@ -8228,17 +9682,8 @@ "TransportConfigurationTwilioRecordingChannels": ".transport_configuration_twilio_recording_channels", "TransportCost": ".transport_cost", "TransportCostProvider": ".transport_cost_provider", - "TrieveCredential": ".trieve_credential", - "TrieveCredentialProvider": ".trieve_credential_provider", "TrieveKnowledgeBase": ".trieve_knowledge_base", - "TrieveKnowledgeBaseChunkPlan": ".trieve_knowledge_base_chunk_plan", - "TrieveKnowledgeBaseCreate": ".trieve_knowledge_base_create", - "TrieveKnowledgeBaseCreateType": ".trieve_knowledge_base_create_type", "TrieveKnowledgeBaseImport": ".trieve_knowledge_base_import", - "TrieveKnowledgeBaseImportType": ".trieve_knowledge_base_import_type", - "TrieveKnowledgeBaseProvider": ".trieve_knowledge_base_provider", - "TrieveKnowledgeBaseSearchPlan": ".trieve_knowledge_base_search_plan", - "TrieveKnowledgeBaseSearchPlanSearchType": ".trieve_knowledge_base_search_plan_search_type", "TurnLatency": ".turn_latency", "TwilioCredential": ".twilio_credential", "TwilioCredentialProvider": ".twilio_credential_provider", @@ -8253,6 +9698,8 @@ "TwilioSmsChatTransport": ".twilio_sms_chat_transport", "TwilioSmsChatTransportConversationType": ".twilio_sms_chat_transport_conversation_type", "TwilioSmsChatTransportType": ".twilio_sms_chat_transport_type", + "TwilioTransport": ".twilio_transport", + "TwilioTransportConversationType": ".twilio_transport_conversation_type", "TwilioTransportMessage": ".twilio_transport_message", "TwilioVoicemailDetectionPlan": ".twilio_voicemail_detection_plan", "TwilioVoicemailDetectionPlanProvider": ".twilio_voicemail_detection_plan_provider", @@ -8261,9 +9708,12 @@ "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan": ".update_anthropic_bedrock_credential_dto_authentication_plan", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam": ".update_anthropic_bedrock_credential_dto_authentication_plan", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts": ".update_anthropic_bedrock_credential_dto_authentication_plan", + "UpdateAnthropicBedrockCredentialDtoProvider": ".update_anthropic_bedrock_credential_dto_provider", "UpdateAnthropicBedrockCredentialDtoRegion": ".update_anthropic_bedrock_credential_dto_region", "UpdateAnthropicCredentialDto": ".update_anthropic_credential_dto", + "UpdateAnthropicCredentialDtoProvider": ".update_anthropic_credential_dto_provider", "UpdateAnyscaleCredentialDto": ".update_anyscale_credential_dto", + "UpdateAnyscaleCredentialDtoProvider": ".update_anyscale_credential_dto_provider", "UpdateApiRequestToolDto": ".update_api_request_tool_dto", "UpdateApiRequestToolDtoMessagesItem": ".update_api_request_tool_dto_messages_item", "UpdateApiRequestToolDtoMessagesItem_RequestComplete": ".update_api_request_tool_dto_messages_item", @@ -8272,11 +9722,136 @@ "UpdateApiRequestToolDtoMessagesItem_RequestStart": ".update_api_request_tool_dto_messages_item", "UpdateApiRequestToolDtoMethod": ".update_api_request_tool_dto_method", "UpdateAssemblyAiCredentialDto": ".update_assembly_ai_credential_dto", + "UpdateAssemblyAiCredentialDtoProvider": ".update_assembly_ai_credential_dto_provider", + "UpdateAssistantDraftDto": ".update_assistant_draft_dto", + "UpdateAssistantDraftDtoBackgroundSound": ".update_assistant_draft_dto_background_sound", + "UpdateAssistantDraftDtoBackgroundSoundZero": ".update_assistant_draft_dto_background_sound_zero", + "UpdateAssistantDraftDtoClientMessagesItem": ".update_assistant_draft_dto_client_messages_item", + "UpdateAssistantDraftDtoCredentialsItem": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_11Labs": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Anthropic": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Anyscale": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_AssemblyAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Azure": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_AzureOpenai": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Cartesia": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Cerebras": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Cloudflare": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_CustomCredential": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_CustomLlm": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_DeepSeek": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Deepgram": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Deepinfra": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Email": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Gcp": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Gladia": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Gohighlevel": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Google": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Groq": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Hume": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_InflectionAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Inworld": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Langfuse": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Lmnt": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Make": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Microsoft": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Minimax": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Mistral": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Neuphonic": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Openai": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Openrouter": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_PerplexityAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Playht": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_RimeAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Runpod": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_S3": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_S3Compatible": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_SlackWebhook": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_SmallestAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Soniox": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Speechmatics": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Supabase": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Tavus": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_TogetherAi": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Twilio": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Vonage": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Webhook": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Wellsaid": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoCredentialsItem_Xai": ".update_assistant_draft_dto_credentials_item", + "UpdateAssistantDraftDtoFirstMessageMode": ".update_assistant_draft_dto_first_message_mode", + "UpdateAssistantDraftDtoHooksItem": ".update_assistant_draft_dto_hooks_item", + "UpdateAssistantDraftDtoModel": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Anthropic": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_AnthropicBedrock": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Anyscale": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Cerebras": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_CustomLlm": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_DeepSeek": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Deepinfra": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Google": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Groq": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_InflectionAi": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Minimax": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Openai": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Openrouter": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_PerplexityAi": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_TogetherAi": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Vapi": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoModel_Xai": ".update_assistant_draft_dto_model", + "UpdateAssistantDraftDtoServerMessagesItem": ".update_assistant_draft_dto_server_messages_item", + "UpdateAssistantDraftDtoTranscriber": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_11Labs": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_AssemblyAi": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Azure": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Cartesia": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_CustomTranscriber": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Deepgram": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Gladia": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Google": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Openai": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Soniox": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Speechmatics": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Talkscriber": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Vapi": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoTranscriber_Xai": ".update_assistant_draft_dto_transcriber", + "UpdateAssistantDraftDtoVoice": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_11Labs": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Azure": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Cartesia": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_CustomVoice": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Deepgram": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Hume": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Inworld": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Lmnt": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Microsoft": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Minimax": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Neuphonic": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Openai": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Playht": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_RimeAi": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Sesame": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_SmallestAi": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Tavus": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Vapi": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Wellsaid": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoice_Xai": ".update_assistant_draft_dto_voice", + "UpdateAssistantDraftDtoVoicemailDetection": ".update_assistant_draft_dto_voicemail_detection", + "UpdateAssistantDraftDtoVoicemailDetectionZero": ".update_assistant_draft_dto_voicemail_detection_zero", + "UpdateAssistantVersionMetadataDto": ".update_assistant_version_metadata_dto", "UpdateAzureCredentialDto": ".update_azure_credential_dto", + "UpdateAzureCredentialDtoProvider": ".update_azure_credential_dto_provider", "UpdateAzureCredentialDtoRegion": ".update_azure_credential_dto_region", "UpdateAzureCredentialDtoService": ".update_azure_credential_dto_service", "UpdateAzureOpenAiCredentialDto": ".update_azure_open_ai_credential_dto", "UpdateAzureOpenAiCredentialDtoModelsItem": ".update_azure_open_ai_credential_dto_models_item", + "UpdateAzureOpenAiCredentialDtoProvider": ".update_azure_open_ai_credential_dto_provider", "UpdateAzureOpenAiCredentialDtoRegion": ".update_azure_open_ai_credential_dto_region", "UpdateBarInsightFromCallTableDto": ".update_bar_insight_from_call_table_dto", "UpdateBarInsightFromCallTableDtoGroupBy": ".update_bar_insight_from_call_table_dto_group_by", @@ -8297,15 +9872,22 @@ "UpdateByoPhoneNumberDtoHooksItem_CallEnding": ".update_byo_phone_number_dto_hooks_item", "UpdateByoPhoneNumberDtoHooksItem_CallRinging": ".update_byo_phone_number_dto_hooks_item", "UpdateByoSipTrunkCredentialDto": ".update_byo_sip_trunk_credential_dto", + "UpdateByoSipTrunkCredentialDtoProvider": ".update_byo_sip_trunk_credential_dto_provider", + "UpdateCampaignDto": ".update_campaign_dto", + "UpdateCampaignDtoStatus": ".update_campaign_dto_status", "UpdateCartesiaCredentialDto": ".update_cartesia_credential_dto", + "UpdateCartesiaCredentialDtoProvider": ".update_cartesia_credential_dto_provider", "UpdateCerebrasCredentialDto": ".update_cerebras_credential_dto", + "UpdateCerebrasCredentialDtoProvider": ".update_cerebras_credential_dto_provider", "UpdateCloudflareCredentialDto": ".update_cloudflare_credential_dto", + "UpdateCloudflareCredentialDtoProvider": ".update_cloudflare_credential_dto_provider", "UpdateCodeToolDto": ".update_code_tool_dto", "UpdateCodeToolDtoMessagesItem": ".update_code_tool_dto_messages_item", "UpdateCodeToolDtoMessagesItem_RequestComplete": ".update_code_tool_dto_messages_item", "UpdateCodeToolDtoMessagesItem_RequestFailed": ".update_code_tool_dto_messages_item", "UpdateCodeToolDtoMessagesItem_RequestResponseDelayed": ".update_code_tool_dto_messages_item", "UpdateCodeToolDtoMessagesItem_RequestStart": ".update_code_tool_dto_messages_item", + "UpdateCodeToolDtoType": ".update_code_tool_dto_type", "UpdateComputerToolDto": ".update_computer_tool_dto", "UpdateComputerToolDtoMessagesItem": ".update_computer_tool_dto_messages_item", "UpdateComputerToolDtoMessagesItem_RequestComplete": ".update_computer_tool_dto_messages_item", @@ -8321,11 +9903,17 @@ "UpdateCustomCredentialDtoAuthenticationPlan_Oauth2": ".update_custom_credential_dto_authentication_plan", "UpdateCustomCredentialDtoEncryptionPlan": ".update_custom_credential_dto_encryption_plan", "UpdateCustomCredentialDtoEncryptionPlan_PublicKey": ".update_custom_credential_dto_encryption_plan", + "UpdateCustomCredentialDtoProvider": ".update_custom_credential_dto_provider", "UpdateCustomKnowledgeBaseDto": ".update_custom_knowledge_base_dto", + "UpdateCustomKnowledgeBaseDtoProvider": ".update_custom_knowledge_base_dto_provider", "UpdateCustomLlmCredentialDto": ".update_custom_llm_credential_dto", + "UpdateCustomLlmCredentialDtoProvider": ".update_custom_llm_credential_dto_provider", "UpdateDeepInfraCredentialDto": ".update_deep_infra_credential_dto", + "UpdateDeepInfraCredentialDtoProvider": ".update_deep_infra_credential_dto_provider", "UpdateDeepSeekCredentialDto": ".update_deep_seek_credential_dto", + "UpdateDeepSeekCredentialDtoProvider": ".update_deep_seek_credential_dto_provider", "UpdateDeepgramCredentialDto": ".update_deepgram_credential_dto", + "UpdateDeepgramCredentialDtoProvider": ".update_deepgram_credential_dto_provider", "UpdateDtmfToolDto": ".update_dtmf_tool_dto", "UpdateDtmfToolDtoMessagesItem": ".update_dtmf_tool_dto_messages_item", "UpdateDtmfToolDtoMessagesItem_RequestComplete": ".update_dtmf_tool_dto_messages_item", @@ -8333,7 +9921,9 @@ "UpdateDtmfToolDtoMessagesItem_RequestResponseDelayed": ".update_dtmf_tool_dto_messages_item", "UpdateDtmfToolDtoMessagesItem_RequestStart": ".update_dtmf_tool_dto_messages_item", "UpdateElevenLabsCredentialDto": ".update_eleven_labs_credential_dto", + "UpdateElevenLabsCredentialDtoApiUrl": ".update_eleven_labs_credential_dto_api_url", "UpdateEmailCredentialDto": ".update_email_credential_dto", + "UpdateEmailCredentialDtoProvider": ".update_email_credential_dto_provider", "UpdateEndCallToolDto": ".update_end_call_tool_dto", "UpdateEndCallToolDtoMessagesItem": ".update_end_call_tool_dto_messages_item", "UpdateEndCallToolDtoMessagesItem_RequestComplete": ".update_end_call_tool_dto_messages_item", @@ -8347,13 +9937,16 @@ "UpdateFunctionToolDtoMessagesItem_RequestResponseDelayed": ".update_function_tool_dto_messages_item", "UpdateFunctionToolDtoMessagesItem_RequestStart": ".update_function_tool_dto_messages_item", "UpdateGcpCredentialDto": ".update_gcp_credential_dto", + "UpdateGcpCredentialDtoProvider": ".update_gcp_credential_dto_provider", "UpdateGhlToolDto": ".update_ghl_tool_dto", "UpdateGhlToolDtoMessagesItem": ".update_ghl_tool_dto_messages_item", "UpdateGhlToolDtoMessagesItem_RequestComplete": ".update_ghl_tool_dto_messages_item", "UpdateGhlToolDtoMessagesItem_RequestFailed": ".update_ghl_tool_dto_messages_item", "UpdateGhlToolDtoMessagesItem_RequestResponseDelayed": ".update_ghl_tool_dto_messages_item", "UpdateGhlToolDtoMessagesItem_RequestStart": ".update_ghl_tool_dto_messages_item", + "UpdateGhlToolDtoType": ".update_ghl_tool_dto_type", "UpdateGladiaCredentialDto": ".update_gladia_credential_dto", + "UpdateGladiaCredentialDtoProvider": ".update_gladia_credential_dto_provider", "UpdateGoHighLevelCalendarAvailabilityToolDto": ".update_go_high_level_calendar_availability_tool_dto", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem": ".update_go_high_level_calendar_availability_tool_dto_messages_item", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestComplete": ".update_go_high_level_calendar_availability_tool_dto_messages_item", @@ -8379,7 +9972,9 @@ "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestResponseDelayed": ".update_go_high_level_contact_get_tool_dto_messages_item", "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart": ".update_go_high_level_contact_get_tool_dto_messages_item", "UpdateGoHighLevelCredentialDto": ".update_go_high_level_credential_dto", + "UpdateGoHighLevelCredentialDtoProvider": ".update_go_high_level_credential_dto_provider", "UpdateGoHighLevelMcpCredentialDto": ".update_go_high_level_mcp_credential_dto", + "UpdateGoHighLevelMcpCredentialDtoProvider": ".update_go_high_level_mcp_credential_dto_provider", "UpdateGoogleCalendarCheckAvailabilityToolDto": ".update_google_calendar_check_availability_tool_dto", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem": ".update_google_calendar_check_availability_tool_dto_messages_item", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestComplete": ".update_google_calendar_check_availability_tool_dto_messages_item", @@ -8393,9 +9988,13 @@ "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestResponseDelayed": ".update_google_calendar_create_event_tool_dto_messages_item", "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart": ".update_google_calendar_create_event_tool_dto_messages_item", "UpdateGoogleCalendarOAuth2AuthorizationCredentialDto": ".update_google_calendar_o_auth_2_authorization_credential_dto", + "UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider": ".update_google_calendar_o_auth_2_authorization_credential_dto_provider", "UpdateGoogleCalendarOAuth2ClientCredentialDto": ".update_google_calendar_o_auth_2_client_credential_dto", + "UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider": ".update_google_calendar_o_auth_2_client_credential_dto_provider", "UpdateGoogleCredentialDto": ".update_google_credential_dto", + "UpdateGoogleCredentialDtoProvider": ".update_google_credential_dto_provider", "UpdateGoogleSheetsOAuth2AuthorizationCredentialDto": ".update_google_sheets_o_auth_2_authorization_credential_dto", + "UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider": ".update_google_sheets_o_auth_2_authorization_credential_dto_provider", "UpdateGoogleSheetsRowAppendToolDto": ".update_google_sheets_row_append_tool_dto", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem": ".update_google_sheets_row_append_tool_dto_messages_item", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestComplete": ".update_google_sheets_row_append_tool_dto_messages_item", @@ -8403,6 +10002,7 @@ "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestResponseDelayed": ".update_google_sheets_row_append_tool_dto_messages_item", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart": ".update_google_sheets_row_append_tool_dto_messages_item", "UpdateGroqCredentialDto": ".update_groq_credential_dto", + "UpdateGroqCredentialDtoProvider": ".update_groq_credential_dto_provider", "UpdateHandoffToolDto": ".update_handoff_tool_dto", "UpdateHandoffToolDtoDestinationsItem": ".update_handoff_tool_dto_destinations_item", "UpdateHandoffToolDtoDestinationsItem_Assistant": ".update_handoff_tool_dto_destinations_item", @@ -8414,30 +10014,43 @@ "UpdateHandoffToolDtoMessagesItem_RequestResponseDelayed": ".update_handoff_tool_dto_messages_item", "UpdateHandoffToolDtoMessagesItem_RequestStart": ".update_handoff_tool_dto_messages_item", "UpdateHumeCredentialDto": ".update_hume_credential_dto", + "UpdateHumeCredentialDtoProvider": ".update_hume_credential_dto_provider", "UpdateInflectionAiCredentialDto": ".update_inflection_ai_credential_dto", + "UpdateInflectionAiCredentialDtoProvider": ".update_inflection_ai_credential_dto_provider", "UpdateInworldCredentialDto": ".update_inworld_credential_dto", + "UpdateInworldCredentialDtoProvider": ".update_inworld_credential_dto_provider", "UpdateLangfuseCredentialDto": ".update_langfuse_credential_dto", + "UpdateLangfuseCredentialDtoProvider": ".update_langfuse_credential_dto_provider", "UpdateLineInsightFromCallTableDto": ".update_line_insight_from_call_table_dto", "UpdateLineInsightFromCallTableDtoGroupBy": ".update_line_insight_from_call_table_dto_group_by", "UpdateLineInsightFromCallTableDtoQueriesItem": ".update_line_insight_from_call_table_dto_queries_item", "UpdateLmntCredentialDto": ".update_lmnt_credential_dto", + "UpdateLmntCredentialDtoProvider": ".update_lmnt_credential_dto_provider", "UpdateMakeCredentialDto": ".update_make_credential_dto", + "UpdateMakeCredentialDtoProvider": ".update_make_credential_dto_provider", "UpdateMakeToolDto": ".update_make_tool_dto", "UpdateMakeToolDtoMessagesItem": ".update_make_tool_dto_messages_item", "UpdateMakeToolDtoMessagesItem_RequestComplete": ".update_make_tool_dto_messages_item", "UpdateMakeToolDtoMessagesItem_RequestFailed": ".update_make_tool_dto_messages_item", "UpdateMakeToolDtoMessagesItem_RequestResponseDelayed": ".update_make_tool_dto_messages_item", "UpdateMakeToolDtoMessagesItem_RequestStart": ".update_make_tool_dto_messages_item", + "UpdateMakeToolDtoType": ".update_make_tool_dto_type", "UpdateMcpToolDto": ".update_mcp_tool_dto", "UpdateMcpToolDtoMessagesItem": ".update_mcp_tool_dto_messages_item", "UpdateMcpToolDtoMessagesItem_RequestComplete": ".update_mcp_tool_dto_messages_item", "UpdateMcpToolDtoMessagesItem_RequestFailed": ".update_mcp_tool_dto_messages_item", "UpdateMcpToolDtoMessagesItem_RequestResponseDelayed": ".update_mcp_tool_dto_messages_item", "UpdateMcpToolDtoMessagesItem_RequestStart": ".update_mcp_tool_dto_messages_item", + "UpdateMicrosoftCredentialDto": ".update_microsoft_credential_dto", + "UpdateMicrosoftCredentialDtoProvider": ".update_microsoft_credential_dto_provider", "UpdateMistralCredentialDto": ".update_mistral_credential_dto", + "UpdateMistralCredentialDtoProvider": ".update_mistral_credential_dto_provider", "UpdateNeuphonicCredentialDto": ".update_neuphonic_credential_dto", + "UpdateNeuphonicCredentialDtoProvider": ".update_neuphonic_credential_dto_provider", "UpdateOpenAiCredentialDto": ".update_open_ai_credential_dto", + "UpdateOpenAiCredentialDtoProvider": ".update_open_ai_credential_dto_provider", "UpdateOpenRouterCredentialDto": ".update_open_router_credential_dto", + "UpdateOpenRouterCredentialDtoProvider": ".update_open_router_credential_dto_provider", "UpdateOrgDto": ".update_org_dto", "UpdateOrgDtoChannel": ".update_org_dto_channel", "UpdateOutputToolDto": ".update_output_tool_dto", @@ -8446,12 +10059,15 @@ "UpdateOutputToolDtoMessagesItem_RequestFailed": ".update_output_tool_dto_messages_item", "UpdateOutputToolDtoMessagesItem_RequestResponseDelayed": ".update_output_tool_dto_messages_item", "UpdateOutputToolDtoMessagesItem_RequestStart": ".update_output_tool_dto_messages_item", + "UpdateOutputToolDtoType": ".update_output_tool_dto_type", "UpdatePerplexityAiCredentialDto": ".update_perplexity_ai_credential_dto", + "UpdatePerplexityAiCredentialDtoProvider": ".update_perplexity_ai_credential_dto_provider", "UpdatePersonalityDto": ".update_personality_dto", "UpdatePieInsightFromCallTableDto": ".update_pie_insight_from_call_table_dto", "UpdatePieInsightFromCallTableDtoGroupBy": ".update_pie_insight_from_call_table_dto_group_by", "UpdatePieInsightFromCallTableDtoQueriesItem": ".update_pie_insight_from_call_table_dto_queries_item", "UpdatePlayHtCredentialDto": ".update_play_ht_credential_dto", + "UpdatePlayHtCredentialDtoProvider": ".update_play_ht_credential_dto_provider", "UpdateQueryToolDto": ".update_query_tool_dto", "UpdateQueryToolDtoMessagesItem": ".update_query_tool_dto_messages_item", "UpdateQueryToolDtoMessagesItem_RequestComplete": ".update_query_tool_dto_messages_item", @@ -8459,8 +10075,14 @@ "UpdateQueryToolDtoMessagesItem_RequestResponseDelayed": ".update_query_tool_dto_messages_item", "UpdateQueryToolDtoMessagesItem_RequestStart": ".update_query_tool_dto_messages_item", "UpdateRimeAiCredentialDto": ".update_rime_ai_credential_dto", + "UpdateRimeAiCredentialDtoProvider": ".update_rime_ai_credential_dto_provider", "UpdateRunpodCredentialDto": ".update_runpod_credential_dto", + "UpdateRunpodCredentialDtoProvider": ".update_runpod_credential_dto_provider", + "UpdateS3CompatibleBucketPlanDto": ".update_s_3_compatible_bucket_plan_dto", + "UpdateS3CompatibleCredentialDto": ".update_s_3_compatible_credential_dto", + "UpdateS3CompatibleCredentialDtoProvider": ".update_s_3_compatible_credential_dto_provider", "UpdateS3CredentialDto": ".update_s_3_credential_dto", + "UpdateS3CredentialDtoProvider": ".update_s_3_credential_dto_provider", "UpdateScenarioDto": ".update_scenario_dto", "UpdateScenarioDtoHooksItem": ".update_scenario_dto_hooks_item", "UpdateScenarioDtoHooksItem_SimulationRunEnded": ".update_scenario_dto_hooks_item", @@ -8476,6 +10098,7 @@ "UpdateSipRequestToolDtoMessagesItem_RequestStart": ".update_sip_request_tool_dto_messages_item", "UpdateSipRequestToolDtoVerb": ".update_sip_request_tool_dto_verb", "UpdateSlackOAuth2AuthorizationCredentialDto": ".update_slack_o_auth_2_authorization_credential_dto", + "UpdateSlackOAuth2AuthorizationCredentialDtoProvider": ".update_slack_o_auth_2_authorization_credential_dto_provider", "UpdateSlackSendMessageToolDto": ".update_slack_send_message_tool_dto", "UpdateSlackSendMessageToolDtoMessagesItem": ".update_slack_send_message_tool_dto_messages_item", "UpdateSlackSendMessageToolDtoMessagesItem_RequestComplete": ".update_slack_send_message_tool_dto_messages_item", @@ -8483,6 +10106,7 @@ "UpdateSlackSendMessageToolDtoMessagesItem_RequestResponseDelayed": ".update_slack_send_message_tool_dto_messages_item", "UpdateSlackSendMessageToolDtoMessagesItem_RequestStart": ".update_slack_send_message_tool_dto_messages_item", "UpdateSlackWebhookCredentialDto": ".update_slack_webhook_credential_dto", + "UpdateSlackWebhookCredentialDtoProvider": ".update_slack_webhook_credential_dto_provider", "UpdateSmsToolDto": ".update_sms_tool_dto", "UpdateSmsToolDtoMessagesItem": ".update_sms_tool_dto_messages_item", "UpdateSmsToolDtoMessagesItem_RequestComplete": ".update_sms_tool_dto_messages_item", @@ -8490,6 +10114,7 @@ "UpdateSmsToolDtoMessagesItem_RequestResponseDelayed": ".update_sms_tool_dto_messages_item", "UpdateSmsToolDtoMessagesItem_RequestStart": ".update_sms_tool_dto_messages_item", "UpdateSonioxCredentialDto": ".update_soniox_credential_dto", + "UpdateSonioxCredentialDtoProvider": ".update_soniox_credential_dto_provider", "UpdateTelnyxPhoneNumberDto": ".update_telnyx_phone_number_dto", "UpdateTelnyxPhoneNumberDtoFallbackDestination": ".update_telnyx_phone_number_dto_fallback_destination", "UpdateTelnyxPhoneNumberDtoFallbackDestination_Number": ".update_telnyx_phone_number_dto_fallback_destination", @@ -8514,8 +10139,18 @@ "UpdateTextInsightFromCallTableDto": ".update_text_insight_from_call_table_dto", "UpdateTextInsightFromCallTableDtoQueriesItem": ".update_text_insight_from_call_table_dto_queries_item", "UpdateTogetherAiCredentialDto": ".update_together_ai_credential_dto", + "UpdateTogetherAiCredentialDtoProvider": ".update_together_ai_credential_dto_provider", "UpdateTokenDto": ".update_token_dto", "UpdateTokenDtoTag": ".update_token_dto_tag", + "UpdateToolDraftDto": ".update_tool_draft_dto", + "UpdateToolDraftDtoMessagesItem": ".update_tool_draft_dto_messages_item", + "UpdateToolDraftDtoMessagesItem_RequestComplete": ".update_tool_draft_dto_messages_item", + "UpdateToolDraftDtoMessagesItem_RequestFailed": ".update_tool_draft_dto_messages_item", + "UpdateToolDraftDtoMessagesItem_RequestResponseDelayed": ".update_tool_draft_dto_messages_item", + "UpdateToolDraftDtoMessagesItem_RequestStart": ".update_tool_draft_dto_messages_item", + "UpdateToolDraftDtoMethod": ".update_tool_draft_dto_method", + "UpdateToolDraftDtoType": ".update_tool_draft_dto_type", + "UpdateToolDraftDtoVerb": ".update_tool_draft_dto_verb", "UpdateToolTemplateDto": ".update_tool_template_dto", "UpdateToolTemplateDtoDetails": ".update_tool_template_dto_details", "UpdateToolTemplateDtoDetails_ApiRequest": ".update_tool_template_dto_details", @@ -8554,6 +10189,7 @@ "UpdateToolTemplateDtoProviderDetails_Make": ".update_tool_template_dto_provider_details", "UpdateToolTemplateDtoType": ".update_tool_template_dto_type", "UpdateToolTemplateDtoVisibility": ".update_tool_template_dto_visibility", + "UpdateToolVersionMetadataDto": ".update_tool_version_metadata_dto", "UpdateTransferCallToolDto": ".update_transfer_call_tool_dto", "UpdateTransferCallToolDtoDestinationsItem": ".update_transfer_call_tool_dto_destinations_item", "UpdateTransferCallToolDtoDestinationsItem_Assistant": ".update_transfer_call_tool_dto_destinations_item", @@ -8564,9 +10200,9 @@ "UpdateTransferCallToolDtoMessagesItem_RequestFailed": ".update_transfer_call_tool_dto_messages_item", "UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed": ".update_transfer_call_tool_dto_messages_item", "UpdateTransferCallToolDtoMessagesItem_RequestStart": ".update_transfer_call_tool_dto_messages_item", - "UpdateTrieveCredentialDto": ".update_trieve_credential_dto", "UpdateTrieveKnowledgeBaseDto": ".update_trieve_knowledge_base_dto", "UpdateTwilioCredentialDto": ".update_twilio_credential_dto", + "UpdateTwilioCredentialDtoProvider": ".update_twilio_credential_dto_provider", "UpdateTwilioPhoneNumberDto": ".update_twilio_phone_number_dto", "UpdateTwilioPhoneNumberDtoFallbackDestination": ".update_twilio_phone_number_dto_fallback_destination", "UpdateTwilioPhoneNumberDtoFallbackDestination_Number": ".update_twilio_phone_number_dto_fallback_destination", @@ -8576,6 +10212,7 @@ "UpdateTwilioPhoneNumberDtoHooksItem_CallRinging": ".update_twilio_phone_number_dto_hooks_item", "UpdateUserRoleDto": ".update_user_role_dto", "UpdateUserRoleDtoRole": ".update_user_role_dto_role", + "UpdateUserRoleDtoRoleZero": ".update_user_role_dto_role_zero", "UpdateVapiPhoneNumberDto": ".update_vapi_phone_number_dto", "UpdateVapiPhoneNumberDtoFallbackDestination": ".update_vapi_phone_number_dto_fallback_destination", "UpdateVapiPhoneNumberDtoFallbackDestination_Number": ".update_vapi_phone_number_dto_fallback_destination", @@ -8590,6 +10227,7 @@ "UpdateVoicemailToolDtoMessagesItem_RequestResponseDelayed": ".update_voicemail_tool_dto_messages_item", "UpdateVoicemailToolDtoMessagesItem_RequestStart": ".update_voicemail_tool_dto_messages_item", "UpdateVonageCredentialDto": ".update_vonage_credential_dto", + "UpdateVonageCredentialDtoProvider": ".update_vonage_credential_dto_provider", "UpdateVonagePhoneNumberDto": ".update_vonage_phone_number_dto", "UpdateVonagePhoneNumberDtoFallbackDestination": ".update_vonage_phone_number_dto_fallback_destination", "UpdateVonagePhoneNumberDtoFallbackDestination_Number": ".update_vonage_phone_number_dto_fallback_destination", @@ -8602,7 +10240,9 @@ "UpdateWebhookCredentialDtoAuthenticationPlan_Bearer": ".update_webhook_credential_dto_authentication_plan", "UpdateWebhookCredentialDtoAuthenticationPlan_Hmac": ".update_webhook_credential_dto_authentication_plan", "UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2": ".update_webhook_credential_dto_authentication_plan", + "UpdateWebhookCredentialDtoProvider": ".update_webhook_credential_dto_provider", "UpdateWellSaidCredentialDto": ".update_well_said_credential_dto", + "UpdateWellSaidCredentialDtoProvider": ".update_well_said_credential_dto_provider", "UpdateWorkflowDto": ".update_workflow_dto", "UpdateWorkflowDtoBackgroundSound": ".update_workflow_dto_background_sound", "UpdateWorkflowDtoBackgroundSoundZero": ".update_workflow_dto_background_sound_zero", @@ -8639,6 +10279,7 @@ "UpdateWorkflowDtoCredentialsItem_Langfuse": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Lmnt": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Make": ".update_workflow_dto_credentials_item", + "UpdateWorkflowDtoCredentialsItem_Microsoft": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Minimax": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Mistral": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Neuphonic": ".update_workflow_dto_credentials_item", @@ -8649,6 +10290,7 @@ "UpdateWorkflowDtoCredentialsItem_RimeAi": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Runpod": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_S3": ".update_workflow_dto_credentials_item", + "UpdateWorkflowDtoCredentialsItem_S3Compatible": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_SlackWebhook": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_SmallestAi": ".update_workflow_dto_credentials_item", @@ -8657,7 +10299,6 @@ "UpdateWorkflowDtoCredentialsItem_Supabase": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Tavus": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_TogetherAi": ".update_workflow_dto_credentials_item", - "UpdateWorkflowDtoCredentialsItem_Trieve": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Twilio": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Vonage": ".update_workflow_dto_credentials_item", "UpdateWorkflowDtoCredentialsItem_Webhook": ".update_workflow_dto_credentials_item", @@ -8686,6 +10327,8 @@ "UpdateWorkflowDtoTranscriber_Soniox": ".update_workflow_dto_transcriber", "UpdateWorkflowDtoTranscriber_Speechmatics": ".update_workflow_dto_transcriber", "UpdateWorkflowDtoTranscriber_Talkscriber": ".update_workflow_dto_transcriber", + "UpdateWorkflowDtoTranscriber_Vapi": ".update_workflow_dto_transcriber", + "UpdateWorkflowDtoTranscriber_Xai": ".update_workflow_dto_transcriber", "UpdateWorkflowDtoVoice": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_11Labs": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Azure": ".update_workflow_dto_voice", @@ -8695,6 +10338,7 @@ "UpdateWorkflowDtoVoice_Hume": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Inworld": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Lmnt": ".update_workflow_dto_voice", + "UpdateWorkflowDtoVoice_Microsoft": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Minimax": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Neuphonic": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Openai": ".update_workflow_dto_voice", @@ -8705,15 +10349,16 @@ "UpdateWorkflowDtoVoice_Tavus": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Vapi": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoice_Wellsaid": ".update_workflow_dto_voice", + "UpdateWorkflowDtoVoice_Xai": ".update_workflow_dto_voice", "UpdateWorkflowDtoVoicemailDetection": ".update_workflow_dto_voicemail_detection", "UpdateWorkflowDtoVoicemailDetectionZero": ".update_workflow_dto_voicemail_detection_zero", "UpdateXAiCredentialDto": ".update_x_ai_credential_dto", + "UpdateXAiCredentialDtoProvider": ".update_x_ai_credential_dto_provider", "User": ".user", "UserMessage": ".user_message", "VapiCost": ".vapi_cost", "VapiCostSubType": ".vapi_cost_sub_type", "VapiModel": ".vapi_model", - "VapiModelProvider": ".vapi_model_provider", "VapiModelToolsItem": ".vapi_model_tools_item", "VapiModelToolsItem_ApiRequest": ".vapi_model_tools_item", "VapiModelToolsItem_Bash": ".vapi_model_tools_item", @@ -8738,6 +10383,7 @@ "VapiModelToolsItem_TextEditor": ".vapi_model_tools_item", "VapiModelToolsItem_TransferCall": ".vapi_model_tools_item", "VapiModelToolsItem_Voicemail": ".vapi_model_tools_item", + "VapiModelVersion": ".vapi_model_version", "VapiPhoneNumber": ".vapi_phone_number", "VapiPhoneNumberFallbackDestination": ".vapi_phone_number_fallback_destination", "VapiPhoneNumberFallbackDestination_Number": ".vapi_phone_number_fallback_destination", @@ -8747,22 +10393,40 @@ "VapiPhoneNumberHooksItem_CallRinging": ".vapi_phone_number_hooks_item", "VapiPhoneNumberStatus": ".vapi_phone_number_status", "VapiPronunciationDictionaryLocator": ".vapi_pronunciation_dictionary_locator", + "VapiSipTransport": ".vapi_sip_transport", + "VapiSipTransportConversationType": ".vapi_sip_transport_conversation_type", "VapiSipTransportMessage": ".vapi_sip_transport_message", "VapiSipTransportMessageSipVerb": ".vapi_sip_transport_message_sip_verb", "VapiSmartEndpointingPlan": ".vapi_smart_endpointing_plan", "VapiSmartEndpointingPlanProvider": ".vapi_smart_endpointing_plan_provider", + "VapiTranscriber": ".vapi_transcriber", + "VapiTranscriberLanguage": ".vapi_transcriber_language", + "VapiTranscriberLanguagesItem": ".vapi_transcriber_languages_item", + "VapiTranscriberTurnTaking": ".vapi_transcriber_turn_taking", + "VapiTranscriberVersion": ".vapi_transcriber_version", "VapiVoice": ".vapi_voice", + "VapiVoiceLanguage": ".vapi_voice_language", + "VapiVoiceVersion": ".vapi_voice_version", "VapiVoiceVoiceId": ".vapi_voice_voice_id", "VapiVoicemailDetectionPlan": ".vapi_voicemail_detection_plan", "VapiVoicemailDetectionPlanProvider": ".vapi_voicemail_detection_plan_provider", "VapiVoicemailDetectionPlanType": ".vapi_voicemail_detection_plan_type", + "VapiWebCallTransport": ".vapi_web_call_transport", + "VapiWebCallTransportConversationType": ".vapi_web_call_transport_conversation_type", + "VapiWebsocketTransport": ".vapi_websocket_transport", + "VapiWebsocketTransportConversationType": ".vapi_websocket_transport_conversation_type", "VariableExtractionAlias": ".variable_extraction_alias", "VariableExtractionPlan": ".variable_extraction_plan", "VariableValueGroupBy": ".variable_value_group_by", + "VersionPinConflictResponseDto": ".version_pin_conflict_response_dto", + "VersionPinConflictResponseDtoError": ".version_pin_conflict_response_dto_error", + "VersionPinReference": ".version_pin_reference", + "VersionPinReferenceSourceType": ".version_pin_reference_source_type", "VoiceCost": ".voice_cost", "VoiceLibrary": ".voice_library", "VoiceLibraryGender": ".voice_library_gender", "VoiceLibraryVoiceResponse": ".voice_library_voice_response", + "VoiceLibraryVoiceResponseAge": ".voice_library_voice_response_age", "VoicemailDetectionBackoffPlan": ".voicemail_detection_backoff_plan", "VoicemailDetectionCost": ".voicemail_detection_cost", "VoicemailDetectionCostProvider": ".voicemail_detection_cost_provider", @@ -8782,6 +10446,8 @@ "VonagePhoneNumberHooksItem_CallEnding": ".vonage_phone_number_hooks_item", "VonagePhoneNumberHooksItem_CallRinging": ".vonage_phone_number_hooks_item", "VonagePhoneNumberStatus": ".vonage_phone_number_status", + "VonageTransport": ".vonage_transport", + "VonageTransportConversationType": ".vonage_transport_conversation_type", "WebChat": ".web_chat", "WebChatOutputItem": ".web_chat_output_item", "WebhookCredential": ".webhook_credential", @@ -8834,6 +10500,7 @@ "WorkflowCredentialsItem_Langfuse": ".workflow_credentials_item", "WorkflowCredentialsItem_Lmnt": ".workflow_credentials_item", "WorkflowCredentialsItem_Make": ".workflow_credentials_item", + "WorkflowCredentialsItem_Microsoft": ".workflow_credentials_item", "WorkflowCredentialsItem_Minimax": ".workflow_credentials_item", "WorkflowCredentialsItem_Mistral": ".workflow_credentials_item", "WorkflowCredentialsItem_Neuphonic": ".workflow_credentials_item", @@ -8844,6 +10511,7 @@ "WorkflowCredentialsItem_RimeAi": ".workflow_credentials_item", "WorkflowCredentialsItem_Runpod": ".workflow_credentials_item", "WorkflowCredentialsItem_S3": ".workflow_credentials_item", + "WorkflowCredentialsItem_S3Compatible": ".workflow_credentials_item", "WorkflowCredentialsItem_SlackOauth2Authorization": ".workflow_credentials_item", "WorkflowCredentialsItem_SlackWebhook": ".workflow_credentials_item", "WorkflowCredentialsItem_SmallestAi": ".workflow_credentials_item", @@ -8852,7 +10520,6 @@ "WorkflowCredentialsItem_Supabase": ".workflow_credentials_item", "WorkflowCredentialsItem_Tavus": ".workflow_credentials_item", "WorkflowCredentialsItem_TogetherAi": ".workflow_credentials_item", - "WorkflowCredentialsItem_Trieve": ".workflow_credentials_item", "WorkflowCredentialsItem_Twilio": ".workflow_credentials_item", "WorkflowCredentialsItem_Vonage": ".workflow_credentials_item", "WorkflowCredentialsItem_Webhook": ".workflow_credentials_item", @@ -8888,6 +10555,8 @@ "WorkflowTranscriber_Soniox": ".workflow_transcriber", "WorkflowTranscriber_Speechmatics": ".workflow_transcriber", "WorkflowTranscriber_Talkscriber": ".workflow_transcriber", + "WorkflowTranscriber_Vapi": ".workflow_transcriber", + "WorkflowTranscriber_Xai": ".workflow_transcriber", "WorkflowUserEditable": ".workflow_user_editable", "WorkflowUserEditableBackgroundSound": ".workflow_user_editable_background_sound", "WorkflowUserEditableBackgroundSoundZero": ".workflow_user_editable_background_sound_zero", @@ -8924,6 +10593,7 @@ "WorkflowUserEditableCredentialsItem_Langfuse": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Lmnt": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Make": ".workflow_user_editable_credentials_item", + "WorkflowUserEditableCredentialsItem_Microsoft": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Minimax": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Mistral": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Neuphonic": ".workflow_user_editable_credentials_item", @@ -8934,6 +10604,7 @@ "WorkflowUserEditableCredentialsItem_RimeAi": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Runpod": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_S3": ".workflow_user_editable_credentials_item", + "WorkflowUserEditableCredentialsItem_S3Compatible": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_SlackOauth2Authorization": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_SlackWebhook": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_SmallestAi": ".workflow_user_editable_credentials_item", @@ -8942,7 +10613,6 @@ "WorkflowUserEditableCredentialsItem_Supabase": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Tavus": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_TogetherAi": ".workflow_user_editable_credentials_item", - "WorkflowUserEditableCredentialsItem_Trieve": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Twilio": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Vonage": ".workflow_user_editable_credentials_item", "WorkflowUserEditableCredentialsItem_Webhook": ".workflow_user_editable_credentials_item", @@ -8971,6 +10641,8 @@ "WorkflowUserEditableTranscriber_Soniox": ".workflow_user_editable_transcriber", "WorkflowUserEditableTranscriber_Speechmatics": ".workflow_user_editable_transcriber", "WorkflowUserEditableTranscriber_Talkscriber": ".workflow_user_editable_transcriber", + "WorkflowUserEditableTranscriber_Vapi": ".workflow_user_editable_transcriber", + "WorkflowUserEditableTranscriber_Xai": ".workflow_user_editable_transcriber", "WorkflowUserEditableVoice": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_11Labs": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Azure": ".workflow_user_editable_voice", @@ -8980,6 +10652,7 @@ "WorkflowUserEditableVoice_Hume": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Inworld": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Lmnt": ".workflow_user_editable_voice", + "WorkflowUserEditableVoice_Microsoft": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Minimax": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Neuphonic": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Openai": ".workflow_user_editable_voice", @@ -8990,6 +10663,7 @@ "WorkflowUserEditableVoice_Tavus": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Vapi": ".workflow_user_editable_voice", "WorkflowUserEditableVoice_Wellsaid": ".workflow_user_editable_voice", + "WorkflowUserEditableVoice_Xai": ".workflow_user_editable_voice", "WorkflowUserEditableVoicemailDetection": ".workflow_user_editable_voicemail_detection", "WorkflowUserEditableVoicemailDetectionZero": ".workflow_user_editable_voicemail_detection_zero", "WorkflowVoice": ".workflow_voice", @@ -9001,6 +10675,7 @@ "WorkflowVoice_Hume": ".workflow_voice", "WorkflowVoice_Inworld": ".workflow_voice", "WorkflowVoice_Lmnt": ".workflow_voice", + "WorkflowVoice_Microsoft": ".workflow_voice", "WorkflowVoice_Minimax": ".workflow_voice", "WorkflowVoice_Neuphonic": ".workflow_voice", "WorkflowVoice_Openai": ".workflow_voice", @@ -9011,6 +10686,7 @@ "WorkflowVoice_Tavus": ".workflow_voice", "WorkflowVoice_Vapi": ".workflow_voice", "WorkflowVoice_Wellsaid": ".workflow_voice", + "WorkflowVoice_Xai": ".workflow_voice", "WorkflowVoicemailDetection": ".workflow_voicemail_detection", "WorkflowVoicemailDetectionZero": ".workflow_voicemail_detection_zero", "XAiCredential": ".x_ai_credential", @@ -9041,6 +10717,12 @@ "XaiModelToolsItem_TextEditor": ".xai_model_tools_item", "XaiModelToolsItem_TransferCall": ".xai_model_tools_item", "XaiModelToolsItem_Voicemail": ".xai_model_tools_item", + "XaiTranscriber": ".xai_transcriber", + "XaiTranscriberLanguage": ".xai_transcriber_language", + "XaiTranscriberModel": ".xai_transcriber_model", + "XaiVoice": ".xai_voice", + "XaiVoiceLanguage": ".xai_voice_language", + "XaiVoiceVoiceId": ".xai_voice_voice_id", "XssSecurityFilter": ".xss_security_filter", "XssSecurityFilterType": ".xss_security_filter_type", } @@ -9226,6 +10908,7 @@ def __dir__(): "AssistantCredentialsItem_Langfuse", "AssistantCredentialsItem_Lmnt", "AssistantCredentialsItem_Make", + "AssistantCredentialsItem_Microsoft", "AssistantCredentialsItem_Minimax", "AssistantCredentialsItem_Mistral", "AssistantCredentialsItem_Neuphonic", @@ -9236,6 +10919,7 @@ def __dir__(): "AssistantCredentialsItem_RimeAi", "AssistantCredentialsItem_Runpod", "AssistantCredentialsItem_S3", + "AssistantCredentialsItem_S3Compatible", "AssistantCredentialsItem_SlackOauth2Authorization", "AssistantCredentialsItem_SlackWebhook", "AssistantCredentialsItem_SmallestAi", @@ -9244,13 +10928,136 @@ def __dir__(): "AssistantCredentialsItem_Supabase", "AssistantCredentialsItem_Tavus", "AssistantCredentialsItem_TogetherAi", - "AssistantCredentialsItem_Trieve", "AssistantCredentialsItem_Twilio", "AssistantCredentialsItem_Vonage", "AssistantCredentialsItem_Webhook", "AssistantCredentialsItem_Wellsaid", "AssistantCredentialsItem_Xai", "AssistantCustomEndpointingRule", + "AssistantDraft", + "AssistantDraftBackgroundSound", + "AssistantDraftBackgroundSoundZero", + "AssistantDraftClientMessagesItem", + "AssistantDraftConflictResponseDto", + "AssistantDraftCredentialsItem", + "AssistantDraftCredentialsItem_11Labs", + "AssistantDraftCredentialsItem_Anthropic", + "AssistantDraftCredentialsItem_AnthropicBedrock", + "AssistantDraftCredentialsItem_Anyscale", + "AssistantDraftCredentialsItem_AssemblyAi", + "AssistantDraftCredentialsItem_Azure", + "AssistantDraftCredentialsItem_AzureOpenai", + "AssistantDraftCredentialsItem_ByoSipTrunk", + "AssistantDraftCredentialsItem_Cartesia", + "AssistantDraftCredentialsItem_Cerebras", + "AssistantDraftCredentialsItem_Cloudflare", + "AssistantDraftCredentialsItem_CustomCredential", + "AssistantDraftCredentialsItem_CustomLlm", + "AssistantDraftCredentialsItem_DeepSeek", + "AssistantDraftCredentialsItem_Deepgram", + "AssistantDraftCredentialsItem_Deepinfra", + "AssistantDraftCredentialsItem_Email", + "AssistantDraftCredentialsItem_Gcp", + "AssistantDraftCredentialsItem_GhlOauth2Authorization", + "AssistantDraftCredentialsItem_Gladia", + "AssistantDraftCredentialsItem_Gohighlevel", + "AssistantDraftCredentialsItem_Google", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization", + "AssistantDraftCredentialsItem_GoogleCalendarOauth2Client", + "AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization", + "AssistantDraftCredentialsItem_Groq", + "AssistantDraftCredentialsItem_Hume", + "AssistantDraftCredentialsItem_InflectionAi", + "AssistantDraftCredentialsItem_Inworld", + "AssistantDraftCredentialsItem_Langfuse", + "AssistantDraftCredentialsItem_Lmnt", + "AssistantDraftCredentialsItem_Make", + "AssistantDraftCredentialsItem_Microsoft", + "AssistantDraftCredentialsItem_Minimax", + "AssistantDraftCredentialsItem_Mistral", + "AssistantDraftCredentialsItem_Neuphonic", + "AssistantDraftCredentialsItem_Openai", + "AssistantDraftCredentialsItem_Openrouter", + "AssistantDraftCredentialsItem_PerplexityAi", + "AssistantDraftCredentialsItem_Playht", + "AssistantDraftCredentialsItem_RimeAi", + "AssistantDraftCredentialsItem_Runpod", + "AssistantDraftCredentialsItem_S3", + "AssistantDraftCredentialsItem_S3Compatible", + "AssistantDraftCredentialsItem_SlackOauth2Authorization", + "AssistantDraftCredentialsItem_SlackWebhook", + "AssistantDraftCredentialsItem_SmallestAi", + "AssistantDraftCredentialsItem_Soniox", + "AssistantDraftCredentialsItem_Speechmatics", + "AssistantDraftCredentialsItem_Supabase", + "AssistantDraftCredentialsItem_Tavus", + "AssistantDraftCredentialsItem_TogetherAi", + "AssistantDraftCredentialsItem_Twilio", + "AssistantDraftCredentialsItem_Vonage", + "AssistantDraftCredentialsItem_Webhook", + "AssistantDraftCredentialsItem_Wellsaid", + "AssistantDraftCredentialsItem_Xai", + "AssistantDraftFirstMessageMode", + "AssistantDraftHooksItem", + "AssistantDraftModel", + "AssistantDraftModel_Anthropic", + "AssistantDraftModel_AnthropicBedrock", + "AssistantDraftModel_Anyscale", + "AssistantDraftModel_Cerebras", + "AssistantDraftModel_CustomLlm", + "AssistantDraftModel_DeepSeek", + "AssistantDraftModel_Deepinfra", + "AssistantDraftModel_Google", + "AssistantDraftModel_Groq", + "AssistantDraftModel_InflectionAi", + "AssistantDraftModel_Minimax", + "AssistantDraftModel_Openai", + "AssistantDraftModel_Openrouter", + "AssistantDraftModel_PerplexityAi", + "AssistantDraftModel_TogetherAi", + "AssistantDraftModel_Vapi", + "AssistantDraftModel_Xai", + "AssistantDraftPaginatedMetadata", + "AssistantDraftPaginatedResponse", + "AssistantDraftServerMessagesItem", + "AssistantDraftTranscriber", + "AssistantDraftTranscriber_11Labs", + "AssistantDraftTranscriber_AssemblyAi", + "AssistantDraftTranscriber_Azure", + "AssistantDraftTranscriber_Cartesia", + "AssistantDraftTranscriber_CustomTranscriber", + "AssistantDraftTranscriber_Deepgram", + "AssistantDraftTranscriber_Gladia", + "AssistantDraftTranscriber_Google", + "AssistantDraftTranscriber_Openai", + "AssistantDraftTranscriber_Soniox", + "AssistantDraftTranscriber_Speechmatics", + "AssistantDraftTranscriber_Talkscriber", + "AssistantDraftTranscriber_Vapi", + "AssistantDraftTranscriber_Xai", + "AssistantDraftVoice", + "AssistantDraftVoice_11Labs", + "AssistantDraftVoice_Azure", + "AssistantDraftVoice_Cartesia", + "AssistantDraftVoice_CustomVoice", + "AssistantDraftVoice_Deepgram", + "AssistantDraftVoice_Hume", + "AssistantDraftVoice_Inworld", + "AssistantDraftVoice_Lmnt", + "AssistantDraftVoice_Microsoft", + "AssistantDraftVoice_Minimax", + "AssistantDraftVoice_Neuphonic", + "AssistantDraftVoice_Openai", + "AssistantDraftVoice_Playht", + "AssistantDraftVoice_RimeAi", + "AssistantDraftVoice_Sesame", + "AssistantDraftVoice_SmallestAi", + "AssistantDraftVoice_Tavus", + "AssistantDraftVoice_Vapi", + "AssistantDraftVoice_Wellsaid", + "AssistantDraftVoice_Xai", + "AssistantDraftVoicemailDetection", + "AssistantDraftVoicemailDetectionZero", "AssistantFirstMessageMode", "AssistantHookAssistantSpeechInterrupted", "AssistantHookCallEnding", @@ -9284,6 +11091,7 @@ def __dir__(): "AssistantModel_Openrouter", "AssistantModel_PerplexityAi", "AssistantModel_TogetherAi", + "AssistantModel_Vapi", "AssistantModel_Xai", "AssistantOverrides", "AssistantOverridesBackgroundSound", @@ -9322,6 +11130,7 @@ def __dir__(): "AssistantOverridesCredentialsItem_Langfuse", "AssistantOverridesCredentialsItem_Lmnt", "AssistantOverridesCredentialsItem_Make", + "AssistantOverridesCredentialsItem_Microsoft", "AssistantOverridesCredentialsItem_Minimax", "AssistantOverridesCredentialsItem_Mistral", "AssistantOverridesCredentialsItem_Neuphonic", @@ -9332,6 +11141,7 @@ def __dir__(): "AssistantOverridesCredentialsItem_RimeAi", "AssistantOverridesCredentialsItem_Runpod", "AssistantOverridesCredentialsItem_S3", + "AssistantOverridesCredentialsItem_S3Compatible", "AssistantOverridesCredentialsItem_SlackOauth2Authorization", "AssistantOverridesCredentialsItem_SlackWebhook", "AssistantOverridesCredentialsItem_SmallestAi", @@ -9340,7 +11150,6 @@ def __dir__(): "AssistantOverridesCredentialsItem_Supabase", "AssistantOverridesCredentialsItem_Tavus", "AssistantOverridesCredentialsItem_TogetherAi", - "AssistantOverridesCredentialsItem_Trieve", "AssistantOverridesCredentialsItem_Twilio", "AssistantOverridesCredentialsItem_Vonage", "AssistantOverridesCredentialsItem_Webhook", @@ -9364,6 +11173,7 @@ def __dir__(): "AssistantOverridesModel_Openrouter", "AssistantOverridesModel_PerplexityAi", "AssistantOverridesModel_TogetherAi", + "AssistantOverridesModel_Vapi", "AssistantOverridesModel_Xai", "AssistantOverridesServerMessagesItem", "AssistantOverridesToolsAppendItem", @@ -9403,6 +11213,8 @@ def __dir__(): "AssistantOverridesTranscriber_Soniox", "AssistantOverridesTranscriber_Speechmatics", "AssistantOverridesTranscriber_Talkscriber", + "AssistantOverridesTranscriber_Vapi", + "AssistantOverridesTranscriber_Xai", "AssistantOverridesVoice", "AssistantOverridesVoice_11Labs", "AssistantOverridesVoice_Azure", @@ -9412,6 +11224,7 @@ def __dir__(): "AssistantOverridesVoice_Hume", "AssistantOverridesVoice_Inworld", "AssistantOverridesVoice_Lmnt", + "AssistantOverridesVoice_Microsoft", "AssistantOverridesVoice_Minimax", "AssistantOverridesVoice_Neuphonic", "AssistantOverridesVoice_Openai", @@ -9422,9 +11235,12 @@ def __dir__(): "AssistantOverridesVoice_Tavus", "AssistantOverridesVoice_Vapi", "AssistantOverridesVoice_Wellsaid", + "AssistantOverridesVoice_Xai", "AssistantOverridesVoicemailDetection", "AssistantOverridesVoicemailDetectionZero", "AssistantPaginatedResponse", + "AssistantPinnedConflictResponseDto", + "AssistantPinnedConflictResponseDtoError", "AssistantServerMessagesItem", "AssistantSpeechWordAlignmentTiming", "AssistantSpeechWordProgressTiming", @@ -9442,8 +11258,132 @@ def __dir__(): "AssistantTranscriber_Soniox", "AssistantTranscriber_Speechmatics", "AssistantTranscriber_Talkscriber", + "AssistantTranscriber_Vapi", + "AssistantTranscriber_Xai", "AssistantUserEditable", + "AssistantVersion", + "AssistantVersionBackgroundSound", + "AssistantVersionBackgroundSoundZero", + "AssistantVersionClientMessagesItem", + "AssistantVersionCredentialsItem", + "AssistantVersionCredentialsItem_11Labs", + "AssistantVersionCredentialsItem_Anthropic", + "AssistantVersionCredentialsItem_AnthropicBedrock", + "AssistantVersionCredentialsItem_Anyscale", + "AssistantVersionCredentialsItem_AssemblyAi", + "AssistantVersionCredentialsItem_Azure", + "AssistantVersionCredentialsItem_AzureOpenai", + "AssistantVersionCredentialsItem_ByoSipTrunk", + "AssistantVersionCredentialsItem_Cartesia", + "AssistantVersionCredentialsItem_Cerebras", + "AssistantVersionCredentialsItem_Cloudflare", + "AssistantVersionCredentialsItem_CustomCredential", + "AssistantVersionCredentialsItem_CustomLlm", + "AssistantVersionCredentialsItem_DeepSeek", + "AssistantVersionCredentialsItem_Deepgram", + "AssistantVersionCredentialsItem_Deepinfra", + "AssistantVersionCredentialsItem_Email", + "AssistantVersionCredentialsItem_Gcp", + "AssistantVersionCredentialsItem_GhlOauth2Authorization", + "AssistantVersionCredentialsItem_Gladia", + "AssistantVersionCredentialsItem_Gohighlevel", + "AssistantVersionCredentialsItem_Google", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization", + "AssistantVersionCredentialsItem_GoogleCalendarOauth2Client", + "AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization", + "AssistantVersionCredentialsItem_Groq", + "AssistantVersionCredentialsItem_Hume", + "AssistantVersionCredentialsItem_InflectionAi", + "AssistantVersionCredentialsItem_Inworld", + "AssistantVersionCredentialsItem_Langfuse", + "AssistantVersionCredentialsItem_Lmnt", + "AssistantVersionCredentialsItem_Make", + "AssistantVersionCredentialsItem_Microsoft", + "AssistantVersionCredentialsItem_Minimax", + "AssistantVersionCredentialsItem_Mistral", + "AssistantVersionCredentialsItem_Neuphonic", + "AssistantVersionCredentialsItem_Openai", + "AssistantVersionCredentialsItem_Openrouter", + "AssistantVersionCredentialsItem_PerplexityAi", + "AssistantVersionCredentialsItem_Playht", + "AssistantVersionCredentialsItem_RimeAi", + "AssistantVersionCredentialsItem_Runpod", + "AssistantVersionCredentialsItem_S3", + "AssistantVersionCredentialsItem_S3Compatible", + "AssistantVersionCredentialsItem_SlackOauth2Authorization", + "AssistantVersionCredentialsItem_SlackWebhook", + "AssistantVersionCredentialsItem_SmallestAi", + "AssistantVersionCredentialsItem_Soniox", + "AssistantVersionCredentialsItem_Speechmatics", + "AssistantVersionCredentialsItem_Supabase", + "AssistantVersionCredentialsItem_Tavus", + "AssistantVersionCredentialsItem_TogetherAi", + "AssistantVersionCredentialsItem_Twilio", + "AssistantVersionCredentialsItem_Vonage", + "AssistantVersionCredentialsItem_Webhook", + "AssistantVersionCredentialsItem_Wellsaid", + "AssistantVersionCredentialsItem_Xai", + "AssistantVersionFirstMessageMode", + "AssistantVersionHooksItem", + "AssistantVersionModel", + "AssistantVersionModel_Anthropic", + "AssistantVersionModel_AnthropicBedrock", + "AssistantVersionModel_Anyscale", + "AssistantVersionModel_Cerebras", + "AssistantVersionModel_CustomLlm", + "AssistantVersionModel_DeepSeek", + "AssistantVersionModel_Deepinfra", + "AssistantVersionModel_Google", + "AssistantVersionModel_Groq", + "AssistantVersionModel_InflectionAi", + "AssistantVersionModel_Minimax", + "AssistantVersionModel_Openai", + "AssistantVersionModel_Openrouter", + "AssistantVersionModel_PerplexityAi", + "AssistantVersionModel_TogetherAi", + "AssistantVersionModel_Vapi", + "AssistantVersionModel_Xai", + "AssistantVersionPaginatedMetadata", "AssistantVersionPaginatedResponse", + "AssistantVersionServerMessagesItem", + "AssistantVersionTranscriber", + "AssistantVersionTranscriber_11Labs", + "AssistantVersionTranscriber_AssemblyAi", + "AssistantVersionTranscriber_Azure", + "AssistantVersionTranscriber_Cartesia", + "AssistantVersionTranscriber_CustomTranscriber", + "AssistantVersionTranscriber_Deepgram", + "AssistantVersionTranscriber_Gladia", + "AssistantVersionTranscriber_Google", + "AssistantVersionTranscriber_Openai", + "AssistantVersionTranscriber_Soniox", + "AssistantVersionTranscriber_Speechmatics", + "AssistantVersionTranscriber_Talkscriber", + "AssistantVersionTranscriber_Vapi", + "AssistantVersionTranscriber_Xai", + "AssistantVersionVoice", + "AssistantVersionVoice_11Labs", + "AssistantVersionVoice_Azure", + "AssistantVersionVoice_Cartesia", + "AssistantVersionVoice_CustomVoice", + "AssistantVersionVoice_Deepgram", + "AssistantVersionVoice_Hume", + "AssistantVersionVoice_Inworld", + "AssistantVersionVoice_Lmnt", + "AssistantVersionVoice_Microsoft", + "AssistantVersionVoice_Minimax", + "AssistantVersionVoice_Neuphonic", + "AssistantVersionVoice_Openai", + "AssistantVersionVoice_Playht", + "AssistantVersionVoice_RimeAi", + "AssistantVersionVoice_Sesame", + "AssistantVersionVoice_SmallestAi", + "AssistantVersionVoice_Tavus", + "AssistantVersionVoice_Vapi", + "AssistantVersionVoice_Wellsaid", + "AssistantVersionVoice_Xai", + "AssistantVersionVoicemailDetection", + "AssistantVersionVoicemailDetectionZero", "AssistantVoice", "AssistantVoice_11Labs", "AssistantVoice_Azure", @@ -9453,6 +11393,7 @@ def __dir__(): "AssistantVoice_Hume", "AssistantVoice_Inworld", "AssistantVoice_Lmnt", + "AssistantVoice_Microsoft", "AssistantVoice_Minimax", "AssistantVoice_Neuphonic", "AssistantVoice_Openai", @@ -9463,8 +11404,11 @@ def __dir__(): "AssistantVoice_Tavus", "AssistantVoice_Vapi", "AssistantVoice_Wellsaid", + "AssistantVoice_Xai", "AssistantVoicemailDetection", "AssistantVoicemailDetectionZero", + "AudioFormat", + "AudioFormatContainer", "AutoReloadPlan", "AwsStsAssumeRoleUser", "AwsStsAuthenticationArtifact", @@ -9514,6 +11458,19 @@ def __dir__(): "BashToolWithToolCallName", "BashToolWithToolCallSubType", "BearerAuthenticationPlan", + "Board", + "BoardInsightItem", + "BoardInsightItemType", + "BoardItemPosition", + "BoardItemSize", + "BoardItemsItem", + "BoardLayout", + "BoardMetricWidgetItem", + "BoardMetricWidgetItemType", + "BoardPaginatedResponse", + "BooleanComparatorScorecardMetricCondition", + "BooleanComparatorScorecardMetricConditionComparator", + "BooleanComparatorScorecardMetricConditionType", "BotMessage", "BothCustomEndpointingRule", "BucketPlan", @@ -9583,10 +11540,20 @@ def __dir__(): "CallPhoneCallProvider", "CallPhoneCallTransport", "CallStatus", + "CallTransport", + "CallTransport_Daily", + "CallTransport_Telnyx", + "CallTransport_Twilio", + "CallTransport_VapiSip", + "CallTransport_VapiWebsocket", + "CallTransport_Vonage", "CallType", "Campaign", + "CampaignContact", "CampaignEndedReason", "CampaignPaginatedResponse", + "CampaignPredialPlan", + "CampaignServerMessagesItem", "CampaignStatus", "CartesiaCredential", "CartesiaCredentialProvider", @@ -9919,6 +11886,7 @@ def __dir__(): "ContextEngineeringPlanAll", "ContextEngineeringPlanLastNMessages", "ContextEngineeringPlanNone", + "ContextEngineeringPlanPreviousAssistantMessages", "ContextEngineeringPlanUserAndAssistantMessages", "ConversationNode", "ConversationNodeModel", @@ -9964,6 +11932,8 @@ def __dir__(): "ConversationNodeTranscriber_Soniox", "ConversationNodeTranscriber_Speechmatics", "ConversationNodeTranscriber_Talkscriber", + "ConversationNodeTranscriber_Vapi", + "ConversationNodeTranscriber_Xai", "ConversationNodeVoice", "ConversationNodeVoice_11Labs", "ConversationNodeVoice_Azure", @@ -9973,6 +11943,7 @@ def __dir__(): "ConversationNodeVoice_Hume", "ConversationNodeVoice_Inworld", "ConversationNodeVoice_Lmnt", + "ConversationNodeVoice_Microsoft", "ConversationNodeVoice_Minimax", "ConversationNodeVoice_Neuphonic", "ConversationNodeVoice_Openai", @@ -9983,6 +11954,7 @@ def __dir__(): "ConversationNodeVoice_Tavus", "ConversationNodeVoice_Vapi", "ConversationNodeVoice_Wellsaid", + "ConversationNodeVoice_Xai", "CostBreakdown", "CreateAnthropicBedrockCredentialDto", "CreateAnthropicBedrockCredentialDtoAuthenticationPlan", @@ -9999,6 +11971,127 @@ def __dir__(): "CreateApiRequestToolDtoMessagesItem_RequestStart", "CreateApiRequestToolDtoMethod", "CreateAssemblyAiCredentialDto", + "CreateAssistantDraftDto", + "CreateAssistantDraftDtoBackgroundSound", + "CreateAssistantDraftDtoBackgroundSoundZero", + "CreateAssistantDraftDtoClientMessagesItem", + "CreateAssistantDraftDtoCredentialsItem", + "CreateAssistantDraftDtoCredentialsItem_11Labs", + "CreateAssistantDraftDtoCredentialsItem_Anthropic", + "CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock", + "CreateAssistantDraftDtoCredentialsItem_Anyscale", + "CreateAssistantDraftDtoCredentialsItem_AssemblyAi", + "CreateAssistantDraftDtoCredentialsItem_Azure", + "CreateAssistantDraftDtoCredentialsItem_AzureOpenai", + "CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk", + "CreateAssistantDraftDtoCredentialsItem_Cartesia", + "CreateAssistantDraftDtoCredentialsItem_Cerebras", + "CreateAssistantDraftDtoCredentialsItem_Cloudflare", + "CreateAssistantDraftDtoCredentialsItem_CustomCredential", + "CreateAssistantDraftDtoCredentialsItem_CustomLlm", + "CreateAssistantDraftDtoCredentialsItem_DeepSeek", + "CreateAssistantDraftDtoCredentialsItem_Deepgram", + "CreateAssistantDraftDtoCredentialsItem_Deepinfra", + "CreateAssistantDraftDtoCredentialsItem_Email", + "CreateAssistantDraftDtoCredentialsItem_Gcp", + "CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_Gladia", + "CreateAssistantDraftDtoCredentialsItem_Gohighlevel", + "CreateAssistantDraftDtoCredentialsItem_Google", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client", + "CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_Groq", + "CreateAssistantDraftDtoCredentialsItem_Hume", + "CreateAssistantDraftDtoCredentialsItem_InflectionAi", + "CreateAssistantDraftDtoCredentialsItem_Inworld", + "CreateAssistantDraftDtoCredentialsItem_Langfuse", + "CreateAssistantDraftDtoCredentialsItem_Lmnt", + "CreateAssistantDraftDtoCredentialsItem_Make", + "CreateAssistantDraftDtoCredentialsItem_Microsoft", + "CreateAssistantDraftDtoCredentialsItem_Minimax", + "CreateAssistantDraftDtoCredentialsItem_Mistral", + "CreateAssistantDraftDtoCredentialsItem_Neuphonic", + "CreateAssistantDraftDtoCredentialsItem_Openai", + "CreateAssistantDraftDtoCredentialsItem_Openrouter", + "CreateAssistantDraftDtoCredentialsItem_PerplexityAi", + "CreateAssistantDraftDtoCredentialsItem_Playht", + "CreateAssistantDraftDtoCredentialsItem_RimeAi", + "CreateAssistantDraftDtoCredentialsItem_Runpod", + "CreateAssistantDraftDtoCredentialsItem_S3", + "CreateAssistantDraftDtoCredentialsItem_S3Compatible", + "CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization", + "CreateAssistantDraftDtoCredentialsItem_SlackWebhook", + "CreateAssistantDraftDtoCredentialsItem_SmallestAi", + "CreateAssistantDraftDtoCredentialsItem_Soniox", + "CreateAssistantDraftDtoCredentialsItem_Speechmatics", + "CreateAssistantDraftDtoCredentialsItem_Supabase", + "CreateAssistantDraftDtoCredentialsItem_Tavus", + "CreateAssistantDraftDtoCredentialsItem_TogetherAi", + "CreateAssistantDraftDtoCredentialsItem_Twilio", + "CreateAssistantDraftDtoCredentialsItem_Vonage", + "CreateAssistantDraftDtoCredentialsItem_Webhook", + "CreateAssistantDraftDtoCredentialsItem_Wellsaid", + "CreateAssistantDraftDtoCredentialsItem_Xai", + "CreateAssistantDraftDtoFirstMessageMode", + "CreateAssistantDraftDtoHooksItem", + "CreateAssistantDraftDtoModel", + "CreateAssistantDraftDtoModel_Anthropic", + "CreateAssistantDraftDtoModel_AnthropicBedrock", + "CreateAssistantDraftDtoModel_Anyscale", + "CreateAssistantDraftDtoModel_Cerebras", + "CreateAssistantDraftDtoModel_CustomLlm", + "CreateAssistantDraftDtoModel_DeepSeek", + "CreateAssistantDraftDtoModel_Deepinfra", + "CreateAssistantDraftDtoModel_Google", + "CreateAssistantDraftDtoModel_Groq", + "CreateAssistantDraftDtoModel_InflectionAi", + "CreateAssistantDraftDtoModel_Minimax", + "CreateAssistantDraftDtoModel_Openai", + "CreateAssistantDraftDtoModel_Openrouter", + "CreateAssistantDraftDtoModel_PerplexityAi", + "CreateAssistantDraftDtoModel_TogetherAi", + "CreateAssistantDraftDtoModel_Vapi", + "CreateAssistantDraftDtoModel_Xai", + "CreateAssistantDraftDtoServerMessagesItem", + "CreateAssistantDraftDtoTranscriber", + "CreateAssistantDraftDtoTranscriber_11Labs", + "CreateAssistantDraftDtoTranscriber_AssemblyAi", + "CreateAssistantDraftDtoTranscriber_Azure", + "CreateAssistantDraftDtoTranscriber_Cartesia", + "CreateAssistantDraftDtoTranscriber_CustomTranscriber", + "CreateAssistantDraftDtoTranscriber_Deepgram", + "CreateAssistantDraftDtoTranscriber_Gladia", + "CreateAssistantDraftDtoTranscriber_Google", + "CreateAssistantDraftDtoTranscriber_Openai", + "CreateAssistantDraftDtoTranscriber_Soniox", + "CreateAssistantDraftDtoTranscriber_Speechmatics", + "CreateAssistantDraftDtoTranscriber_Talkscriber", + "CreateAssistantDraftDtoTranscriber_Vapi", + "CreateAssistantDraftDtoTranscriber_Xai", + "CreateAssistantDraftDtoVoice", + "CreateAssistantDraftDtoVoice_11Labs", + "CreateAssistantDraftDtoVoice_Azure", + "CreateAssistantDraftDtoVoice_Cartesia", + "CreateAssistantDraftDtoVoice_CustomVoice", + "CreateAssistantDraftDtoVoice_Deepgram", + "CreateAssistantDraftDtoVoice_Hume", + "CreateAssistantDraftDtoVoice_Inworld", + "CreateAssistantDraftDtoVoice_Lmnt", + "CreateAssistantDraftDtoVoice_Microsoft", + "CreateAssistantDraftDtoVoice_Minimax", + "CreateAssistantDraftDtoVoice_Neuphonic", + "CreateAssistantDraftDtoVoice_Openai", + "CreateAssistantDraftDtoVoice_Playht", + "CreateAssistantDraftDtoVoice_RimeAi", + "CreateAssistantDraftDtoVoice_Sesame", + "CreateAssistantDraftDtoVoice_SmallestAi", + "CreateAssistantDraftDtoVoice_Tavus", + "CreateAssistantDraftDtoVoice_Vapi", + "CreateAssistantDraftDtoVoice_Wellsaid", + "CreateAssistantDraftDtoVoice_Xai", + "CreateAssistantDraftDtoVoicemailDetection", + "CreateAssistantDraftDtoVoicemailDetectionZero", "CreateAssistantDto", "CreateAssistantDtoBackgroundSound", "CreateAssistantDtoBackgroundSoundZero", @@ -10036,6 +12129,7 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_Langfuse", "CreateAssistantDtoCredentialsItem_Lmnt", "CreateAssistantDtoCredentialsItem_Make", + "CreateAssistantDtoCredentialsItem_Microsoft", "CreateAssistantDtoCredentialsItem_Minimax", "CreateAssistantDtoCredentialsItem_Mistral", "CreateAssistantDtoCredentialsItem_Neuphonic", @@ -10046,6 +12140,7 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_RimeAi", "CreateAssistantDtoCredentialsItem_Runpod", "CreateAssistantDtoCredentialsItem_S3", + "CreateAssistantDtoCredentialsItem_S3Compatible", "CreateAssistantDtoCredentialsItem_SlackOauth2Authorization", "CreateAssistantDtoCredentialsItem_SlackWebhook", "CreateAssistantDtoCredentialsItem_SmallestAi", @@ -10054,7 +12149,6 @@ def __dir__(): "CreateAssistantDtoCredentialsItem_Supabase", "CreateAssistantDtoCredentialsItem_Tavus", "CreateAssistantDtoCredentialsItem_TogetherAi", - "CreateAssistantDtoCredentialsItem_Trieve", "CreateAssistantDtoCredentialsItem_Twilio", "CreateAssistantDtoCredentialsItem_Vonage", "CreateAssistantDtoCredentialsItem_Webhook", @@ -10078,6 +12172,7 @@ def __dir__(): "CreateAssistantDtoModel_Openrouter", "CreateAssistantDtoModel_PerplexityAi", "CreateAssistantDtoModel_TogetherAi", + "CreateAssistantDtoModel_Vapi", "CreateAssistantDtoModel_Xai", "CreateAssistantDtoServerMessagesItem", "CreateAssistantDtoTranscriber", @@ -10093,6 +12188,8 @@ def __dir__(): "CreateAssistantDtoTranscriber_Soniox", "CreateAssistantDtoTranscriber_Speechmatics", "CreateAssistantDtoTranscriber_Talkscriber", + "CreateAssistantDtoTranscriber_Vapi", + "CreateAssistantDtoTranscriber_Xai", "CreateAssistantDtoVoice", "CreateAssistantDtoVoice_11Labs", "CreateAssistantDtoVoice_Azure", @@ -10102,6 +12199,7 @@ def __dir__(): "CreateAssistantDtoVoice_Hume", "CreateAssistantDtoVoice_Inworld", "CreateAssistantDtoVoice_Lmnt", + "CreateAssistantDtoVoice_Microsoft", "CreateAssistantDtoVoice_Minimax", "CreateAssistantDtoVoice_Neuphonic", "CreateAssistantDtoVoice_Openai", @@ -10112,6 +12210,7 @@ def __dir__(): "CreateAssistantDtoVoice_Tavus", "CreateAssistantDtoVoice_Vapi", "CreateAssistantDtoVoice_Wellsaid", + "CreateAssistantDtoVoice_Xai", "CreateAssistantDtoVoicemailDetection", "CreateAssistantDtoVoicemailDetectionZero", "CreateAzureCredentialDto", @@ -10139,6 +12238,8 @@ def __dir__(): "CreateByoPhoneNumberDtoHooksItem_CallEnding", "CreateByoPhoneNumberDtoHooksItem_CallRinging", "CreateByoSipTrunkCredentialDto", + "CreateCampaignDto", + "CreateCampaignDtoServerMessagesItem", "CreateCartesiaCredentialDto", "CreateCerebrasCredentialDto", "CreateChatStreamResponse", @@ -10178,6 +12279,7 @@ def __dir__(): "CreateDtmfToolDtoMessagesItem_RequestResponseDelayed", "CreateDtmfToolDtoMessagesItem_RequestStart", "CreateElevenLabsCredentialDto", + "CreateElevenLabsCredentialDtoApiUrl", "CreateEmailCredentialDto", "CreateEndCallToolDto", "CreateEndCallToolDtoMessagesItem", @@ -10284,6 +12386,7 @@ def __dir__(): "CreateMcpToolDtoMessagesItem_RequestFailed", "CreateMcpToolDtoMessagesItem_RequestResponseDelayed", "CreateMcpToolDtoMessagesItem_RequestStart", + "CreateMicrosoftCredentialDto", "CreateMinimaxCredentialDto", "CreateMistralCredentialDto", "CreateNeuphonicCredentialDto", @@ -10292,6 +12395,13 @@ def __dir__(): "CreateOrgDto", "CreateOrgDtoChannel", "CreateOutboundCallDto", + "CreateOutboundCallDtoTransport", + "CreateOutboundCallDtoTransport_Daily", + "CreateOutboundCallDtoTransport_Telnyx", + "CreateOutboundCallDtoTransport_Twilio", + "CreateOutboundCallDtoTransport_VapiSip", + "CreateOutboundCallDtoTransport_VapiWebsocket", + "CreateOutboundCallDtoTransport_Vonage", "CreateOutputToolDto", "CreateOutputToolDtoMessagesItem", "CreateOutputToolDtoMessagesItem_RequestComplete", @@ -10313,6 +12423,7 @@ def __dir__(): "CreateQueryToolDtoMessagesItem_RequestStart", "CreateRimeAiCredentialDto", "CreateRunpodCredentialDto", + "CreateS3CompatibleCredentialDto", "CreateS3CredentialDto", "CreateScenarioDto", "CreateScenarioDtoHooksItem", @@ -10328,6 +12439,14 @@ def __dir__(): "CreateSimulationRunDtoTarget", "CreateSimulationRunDtoTarget_Assistant", "CreateSimulationRunDtoTarget_Squad", + "CreateSimulationRunResponse", + "CreateSimulationRunResponseSimulationsItem", + "CreateSimulationRunResponseSimulationsItem_Simulation", + "CreateSimulationRunResponseSimulationsItem_SimulationSuite", + "CreateSimulationRunResponseStatus", + "CreateSimulationRunResponseTarget", + "CreateSimulationRunResponseTarget_Assistant", + "CreateSimulationRunResponseTarget_Squad", "CreateSimulationSuiteDto", "CreateSipRequestToolDto", "CreateSipRequestToolDtoBody", @@ -10356,6 +12475,10 @@ def __dir__(): "CreateSpeechmaticsCredentialDto", "CreateSquadDto", "CreateStructuredOutputDto", + "CreateStructuredOutputDtoConditionsItem", + "CreateStructuredOutputDtoConditionsItem_EndedReason", + "CreateStructuredOutputDtoConditionsItem_MinCallDuration", + "CreateStructuredOutputDtoConditionsItem_MinMessages", "CreateStructuredOutputDtoModel", "CreateStructuredOutputDtoModel_Anthropic", "CreateStructuredOutputDtoModel_AnthropicBedrock", @@ -10391,6 +12514,15 @@ def __dir__(): "CreateTogetherAiCredentialDto", "CreateTokenDto", "CreateTokenDtoTag", + "CreateToolDraftDto", + "CreateToolDraftDtoMessagesItem", + "CreateToolDraftDtoMessagesItem_RequestComplete", + "CreateToolDraftDtoMessagesItem_RequestFailed", + "CreateToolDraftDtoMessagesItem_RequestResponseDelayed", + "CreateToolDraftDtoMessagesItem_RequestStart", + "CreateToolDraftDtoMethod", + "CreateToolDraftDtoType", + "CreateToolDraftDtoVerb", "CreateToolTemplateDto", "CreateToolTemplateDtoDetails", "CreateToolTemplateDtoDetails_ApiRequest", @@ -10441,7 +12573,6 @@ def __dir__(): "CreateTransferCallToolDtoMessagesItem_RequestStart", "CreateTrieveCredentialDto", "CreateTrieveKnowledgeBaseDto", - "CreateTrieveKnowledgeBaseDtoProvider", "CreateTwilioCredentialDto", "CreateTwilioPhoneNumberDto", "CreateTwilioPhoneNumberDtoFallbackDestination", @@ -10518,6 +12649,7 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_Langfuse", "CreateWorkflowDtoCredentialsItem_Lmnt", "CreateWorkflowDtoCredentialsItem_Make", + "CreateWorkflowDtoCredentialsItem_Microsoft", "CreateWorkflowDtoCredentialsItem_Minimax", "CreateWorkflowDtoCredentialsItem_Mistral", "CreateWorkflowDtoCredentialsItem_Neuphonic", @@ -10528,6 +12660,7 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_RimeAi", "CreateWorkflowDtoCredentialsItem_Runpod", "CreateWorkflowDtoCredentialsItem_S3", + "CreateWorkflowDtoCredentialsItem_S3Compatible", "CreateWorkflowDtoCredentialsItem_SlackOauth2Authorization", "CreateWorkflowDtoCredentialsItem_SlackWebhook", "CreateWorkflowDtoCredentialsItem_SmallestAi", @@ -10536,7 +12669,6 @@ def __dir__(): "CreateWorkflowDtoCredentialsItem_Supabase", "CreateWorkflowDtoCredentialsItem_Tavus", "CreateWorkflowDtoCredentialsItem_TogetherAi", - "CreateWorkflowDtoCredentialsItem_Trieve", "CreateWorkflowDtoCredentialsItem_Twilio", "CreateWorkflowDtoCredentialsItem_Vonage", "CreateWorkflowDtoCredentialsItem_Webhook", @@ -10565,6 +12697,8 @@ def __dir__(): "CreateWorkflowDtoTranscriber_Soniox", "CreateWorkflowDtoTranscriber_Speechmatics", "CreateWorkflowDtoTranscriber_Talkscriber", + "CreateWorkflowDtoTranscriber_Vapi", + "CreateWorkflowDtoTranscriber_Xai", "CreateWorkflowDtoVoice", "CreateWorkflowDtoVoice_11Labs", "CreateWorkflowDtoVoice_Azure", @@ -10574,6 +12708,7 @@ def __dir__(): "CreateWorkflowDtoVoice_Hume", "CreateWorkflowDtoVoice_Inworld", "CreateWorkflowDtoVoice_Lmnt", + "CreateWorkflowDtoVoice_Microsoft", "CreateWorkflowDtoVoice_Minimax", "CreateWorkflowDtoVoice_Neuphonic", "CreateWorkflowDtoVoice_Openai", @@ -10584,6 +12719,7 @@ def __dir__(): "CreateWorkflowDtoVoice_Tavus", "CreateWorkflowDtoVoice_Vapi", "CreateWorkflowDtoVoice_Wellsaid", + "CreateWorkflowDtoVoice_Xai", "CreateWorkflowDtoVoicemailDetection", "CreateWorkflowDtoVoicemailDetectionZero", "CreateXAiCredentialDto", @@ -10641,6 +12777,7 @@ def __dir__(): "CustomVoice", "CustomerCustomEndpointingRule", "CustomerSpeechTimeoutOptions", + "CustomerSpeechTimeoutOptionsTriggerResetMode", "DeepInfraCredential", "DeepInfraCredentialProvider", "DeepInfraModel", @@ -10701,6 +12838,7 @@ def __dir__(): "DeepgramTranscriber", "DeepgramTranscriberLanguage", "DeepgramTranscriberModel", + "DeepgramTranscriberRedactionItem", "DeepgramVoice", "DeepgramVoiceId", "DeepgramVoiceModel", @@ -10715,6 +12853,7 @@ def __dir__(): "DtmfToolMessagesItem_RequestStart", "Edge", "ElevenLabsCredential", + "ElevenLabsCredentialApiUrl", "ElevenLabsPronunciationDictionary", "ElevenLabsPronunciationDictionaryLocator", "ElevenLabsPronunciationDictionaryPermissionOnResource", @@ -10733,6 +12872,8 @@ def __dir__(): "EndCallToolMessagesItem_RequestFailed", "EndCallToolMessagesItem_RequestResponseDelayed", "EndCallToolMessagesItem_RequestStart", + "EndedReasonCondition", + "EndedReasonConditionOperator", "EndpointedSpeechLowConfidenceOptions", "Eval", "EvalAnthropicModel", @@ -10783,10 +12924,12 @@ def __dir__(): "ExportChatDto", "ExportChatDtoColumns", "ExportChatDtoFormat", + "ExportChatDtoSortBy", "ExportChatDtoSortOrder", "ExportSessionDto", "ExportSessionDtoColumns", "ExportSessionDtoFormat", + "ExportSessionDtoSortBy", "ExportSessionDtoSortOrder", "FailedEdgeCondition", "FallbackAssemblyAiTranscriber", @@ -10809,6 +12952,7 @@ def __dir__(): "FallbackDeepgramTranscriber", "FallbackDeepgramTranscriberLanguage", "FallbackDeepgramTranscriberModel", + "FallbackDeepgramTranscriberRedactionItem", "FallbackDeepgramVoice", "FallbackDeepgramVoiceId", "FallbackDeepgramVoiceModel", @@ -10822,7 +12966,7 @@ def __dir__(): "FallbackGladiaTranscriber", "FallbackGladiaTranscriberLanguage", "FallbackGladiaTranscriberLanguageBehaviour", - "FallbackGladiaTranscriberLanguages", + "FallbackGladiaTranscriberLanguagesItem", "FallbackGladiaTranscriberModel", "FallbackGladiaTranscriberRegion", "FallbackGoogleTranscriber", @@ -10838,6 +12982,10 @@ def __dir__(): "FallbackLmntVoiceId", "FallbackLmntVoiceIdEnum", "FallbackLmntVoiceLanguage", + "FallbackMicrosoftVoice", + "FallbackMicrosoftVoiceRole", + "FallbackMicrosoftVoiceStyle", + "FallbackMicrosoftVoiceVoiceId", "FallbackMinimaxVoice", "FallbackMinimaxVoiceLanguageBoost", "FallbackMinimaxVoiceModel", @@ -10864,6 +13012,7 @@ def __dir__(): "FallbackPlanVoicesItem_Hume", "FallbackPlanVoicesItem_Inworld", "FallbackPlanVoicesItem_Lmnt", + "FallbackPlanVoicesItem_Microsoft", "FallbackPlanVoicesItem_Neuphonic", "FallbackPlanVoicesItem_Openai", "FallbackPlanVoicesItem_Playht", @@ -10873,6 +13022,7 @@ def __dir__(): "FallbackPlanVoicesItem_Tavus", "FallbackPlanVoicesItem_Vapi", "FallbackPlanVoicesItem_Wellsaid", + "FallbackPlanVoicesItem_Xai", "FallbackPlayHtVoice", "FallbackPlayHtVoiceEmotion", "FallbackPlayHtVoiceId", @@ -10892,6 +13042,7 @@ def __dir__(): "FallbackSmallestAiVoiceModel", "FallbackSonioxTranscriber", "FallbackSonioxTranscriberLanguage", + "FallbackSonioxTranscriberLanguagesItem", "FallbackSonioxTranscriberModel", "FallbackSpeechmaticsTranscriber", "FallbackSpeechmaticsTranscriberLanguage", @@ -10919,10 +13070,19 @@ def __dir__(): "FallbackTranscriberPlanTranscribersItem_Soniox", "FallbackTranscriberPlanTranscribersItem_Speechmatics", "FallbackTranscriberPlanTranscribersItem_Talkscriber", + "FallbackTranscriberPlanTranscribersItem_Xai", "FallbackVapiVoice", + "FallbackVapiVoiceLanguage", + "FallbackVapiVoiceVersion", "FallbackVapiVoiceVoiceId", "FallbackWellSaidVoice", "FallbackWellSaidVoiceModel", + "FallbackXaiTranscriber", + "FallbackXaiTranscriberLanguage", + "FallbackXaiTranscriberModel", + "FallbackXaiVoice", + "FallbackXaiVoiceLanguage", + "FallbackXaiVoiceVoiceId", "File", "FileObject", "FileStatus", @@ -10984,13 +13144,18 @@ def __dir__(): "GeneratedScenario", "GeneratedScenarioCategory", "GetChatPaginatedDto", + "GetChatPaginatedDtoSortBy", "GetChatPaginatedDtoSortOrder", "GetEvalPaginatedDto", + "GetEvalPaginatedDtoSortBy", "GetEvalPaginatedDtoSortOrder", "GetEvalRunPaginatedDto", + "GetEvalRunPaginatedDtoSortBy", "GetEvalRunPaginatedDtoSortOrder", "GetSessionPaginatedDto", + "GetSessionPaginatedDtoSortBy", "GetSessionPaginatedDtoSortOrder", + "GetToolDraftsDto", "GhlTool", "GhlToolMessagesItem", "GhlToolMessagesItem_RequestComplete", @@ -11013,7 +13178,7 @@ def __dir__(): "GladiaTranscriber", "GladiaTranscriberLanguage", "GladiaTranscriberLanguageBehaviour", - "GladiaTranscriberLanguages", + "GladiaTranscriberLanguagesItem", "GladiaTranscriberModel", "GladiaTranscriberRegion", "GladiaVocabularyItemDto", @@ -11191,6 +13356,7 @@ def __dir__(): "HandoffDestinationAssistantContextEngineeringPlan_All", "HandoffDestinationAssistantContextEngineeringPlan_LastNMessages", "HandoffDestinationAssistantContextEngineeringPlan_None", + "HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages", "HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages", "HandoffDestinationAssistantType", "HandoffDestinationDynamic", @@ -11199,6 +13365,7 @@ def __dir__(): "HandoffDestinationSquadContextEngineeringPlan_All", "HandoffDestinationSquadContextEngineeringPlan_LastNMessages", "HandoffDestinationSquadContextEngineeringPlan_None", + "HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages", "HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages", "HandoffTool", "HandoffToolDestinationsItem", @@ -11273,6 +13440,7 @@ def __dir__(): "InsightType", "InviteUserDto", "InviteUserDtoRole", + "InviteUserDtoRoleZero", "InvoicePlan", "InworldCredential", "InworldCredentialProvider", @@ -11320,6 +13488,8 @@ def __dir__(): "LangfuseObservabilityPlan", "LangfuseObservabilityPlanProvider", "LatencyMetrics", + "LegacyAssistantVersion", + "LegacyAssistantVersionPaginatedResponse", "LineInsight", "LineInsightFromCallTable", "LineInsightFromCallTableGroupBy", @@ -11372,6 +13542,14 @@ def __dir__(): "MessageAddHookAction", "MessageTarget", "MessageTargetRole", + "MicrosoftCredential", + "MicrosoftCredentialProvider", + "MicrosoftVoice", + "MicrosoftVoiceRole", + "MicrosoftVoiceStyle", + "MicrosoftVoiceVoiceId", + "MinCallDurationCondition", + "MinMessagesCondition", "MinimaxLlmModel", "MinimaxLlmModelModel", "MinimaxLlmModelToolsItem", @@ -11417,6 +13595,9 @@ def __dir__(): "NeuphonicVoiceModel", "NodeArtifact", "NodeArtifactMessagesItem", + "NumberComparatorScorecardMetricCondition", + "NumberComparatorScorecardMetricConditionComparator", + "NumberComparatorScorecardMetricConditionType", "OAuth2AuthenticationPlan", "OAuth2AuthenticationPlanType", "Oauth2AuthenticationSession", @@ -11431,6 +13612,7 @@ def __dir__(): "OpenAiModelFallbackModelsItem", "OpenAiModelModel", "OpenAiModelPromptCacheRetention", + "OpenAiModelReasoningEffort", "OpenAiModelToolStrictCompatibilityMode", "OpenAiModelToolsItem", "OpenAiModelToolsItem_ApiRequest", @@ -11506,6 +13688,9 @@ def __dir__(): "OutputToolMessagesItem_RequestStart", "OutputToolType", "PaginationMeta", + "PaginationMetaSortOrder", + "PendingInvitationDto", + "PendingInvitationsResponseDto", "PerformanceMetrics", "PerplexityAiCredential", "PerplexityAiCredentialProvider", @@ -11594,6 +13779,7 @@ def __dir__(): "Recording", "RecordingConsent", "RecordingConsentPlanStayOnLine", + "RecordingConsentPlanStayOnLineFirstMessageMode", "RecordingConsentPlanStayOnLineVoice", "RecordingConsentPlanStayOnLineVoice_11Labs", "RecordingConsentPlanStayOnLineVoice_Azure", @@ -11603,6 +13789,7 @@ def __dir__(): "RecordingConsentPlanStayOnLineVoice_Hume", "RecordingConsentPlanStayOnLineVoice_Inworld", "RecordingConsentPlanStayOnLineVoice_Lmnt", + "RecordingConsentPlanStayOnLineVoice_Microsoft", "RecordingConsentPlanStayOnLineVoice_Minimax", "RecordingConsentPlanStayOnLineVoice_Neuphonic", "RecordingConsentPlanStayOnLineVoice_Openai", @@ -11613,7 +13800,9 @@ def __dir__(): "RecordingConsentPlanStayOnLineVoice_Tavus", "RecordingConsentPlanStayOnLineVoice_Vapi", "RecordingConsentPlanStayOnLineVoice_Wellsaid", + "RecordingConsentPlanStayOnLineVoice_Xai", "RecordingConsentPlanVerbal", + "RecordingConsentPlanVerbalFirstMessageMode", "RecordingConsentPlanVerbalVoice", "RecordingConsentPlanVerbalVoice_11Labs", "RecordingConsentPlanVerbalVoice_Azure", @@ -11623,6 +13812,7 @@ def __dir__(): "RecordingConsentPlanVerbalVoice_Hume", "RecordingConsentPlanVerbalVoice_Inworld", "RecordingConsentPlanVerbalVoice_Lmnt", + "RecordingConsentPlanVerbalVoice_Microsoft", "RecordingConsentPlanVerbalVoice_Minimax", "RecordingConsentPlanVerbalVoice_Neuphonic", "RecordingConsentPlanVerbalVoice_Openai", @@ -11633,6 +13823,8 @@ def __dir__(): "RecordingConsentPlanVerbalVoice_Tavus", "RecordingConsentPlanVerbalVoice_Vapi", "RecordingConsentPlanVerbalVoice_Wellsaid", + "RecordingConsentPlanVerbalVoice_Xai", + "RecordingConsentType", "RegexCondition", "RegexOption", "RegexOptionType", @@ -11673,6 +13865,7 @@ def __dir__(): "ResponseTextDeltaEventType", "ResponseTextDoneEvent", "ResponseTextDoneEventType", + "RevokeInvitationResponseDto", "RimeAiCredential", "RimeAiCredentialProvider", "RimeAiVoice", @@ -11682,10 +13875,14 @@ def __dir__(): "RimeAiVoiceModel", "RunpodCredential", "RunpodCredentialProvider", + "S3CompatibleBucketPlan", + "S3CompatibleStorageCredential", + "S3CompatibleStorageCredentialProvider", "S3Credential", "S3CredentialProvider", "SayAssistantHookAction", "SayHookAction", + "SayHookActionExact", "SayHookActionPrompt", "SayHookActionPromptOneItem", "SayPhoneNumberHookAction", @@ -11698,6 +13895,7 @@ def __dir__(): "SchedulePlan", "Scorecard", "ScorecardMetric", + "ScorecardMetricConditionsItem", "ScorecardPaginatedResponse", "SecurityFilterBase", "SecurityFilterPlan", @@ -11749,6 +13947,14 @@ def __dir__(): "ServerMessageCallEndpointingRequestPhoneNumber_Vapi", "ServerMessageCallEndpointingRequestPhoneNumber_Vonage", "ServerMessageCallEndpointingRequestType", + "ServerMessageCampaignPredial", + "ServerMessageCampaignPredialPhoneNumber", + "ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber", + "ServerMessageCampaignPredialPhoneNumber_Telnyx", + "ServerMessageCampaignPredialPhoneNumber_Twilio", + "ServerMessageCampaignPredialPhoneNumber_Vapi", + "ServerMessageCampaignPredialPhoneNumber_Vonage", + "ServerMessageCampaignPredialType", "ServerMessageChatCreated", "ServerMessageChatCreatedPhoneNumber", "ServerMessageChatCreatedPhoneNumber_ByoPhoneNumber", @@ -11855,6 +14061,7 @@ def __dir__(): "ServerMessageResponseAssistantRequestDestination_Number", "ServerMessageResponseAssistantRequestDestination_Sip", "ServerMessageResponseCallEndpointingRequest", + "ServerMessageResponseCampaignPredial", "ServerMessageResponseHandoffDestinationRequest", "ServerMessageResponseKnowledgeBaseRequest", "ServerMessageResponseMessageResponse", @@ -12036,6 +14243,8 @@ def __dir__(): "SimulationRunTransportConfiguration", "SimulationRunTransportConfigurationProvider", "SimulationSuite", + "SimulationSuiteTargetAssignment", + "SimulationSuiteTargetAssignmentTargetType", "SipAuthentication", "SipRequestTool", "SipRequestToolBody", @@ -12049,6 +14258,11 @@ def __dir__(): "SipTrunkGatewayOutboundProtocol", "SipTrunkOutboundAuthenticationPlan", "SipTrunkOutboundSipRegisterPlan", + "SkippedStructuredOutput", + "SkippedStructuredOutputUnmetCondition", + "SkippedStructuredOutputUnmetCondition_EndedReason", + "SkippedStructuredOutputUnmetCondition_MinCallDuration", + "SkippedStructuredOutputUnmetCondition_MinMessages", "SlackOAuth2AuthorizationCredential", "SlackOAuth2AuthorizationCredentialProvider", "SlackSendMessageTool", @@ -12072,10 +14286,12 @@ def __dir__(): "SmsToolMessagesItem_RequestFailed", "SmsToolMessagesItem_RequestResponseDelayed", "SmsToolMessagesItem_RequestStart", + "SonioxContextGeneralItem", "SonioxCredential", "SonioxCredentialProvider", "SonioxTranscriber", "SonioxTranscriberLanguage", + "SonioxTranscriberLanguagesItem", "SonioxTranscriberModel", "SpeechmaticsCredential", "SpeechmaticsCredentialProvider", @@ -12106,6 +14322,10 @@ def __dir__(): "StructuredDataMultiPlan", "StructuredDataPlan", "StructuredOutput", + "StructuredOutputConditionsItem", + "StructuredOutputConditionsItem_EndedReason", + "StructuredOutputConditionsItem_MinCallDuration", + "StructuredOutputConditionsItem_MinMessages", "StructuredOutputEvaluationResult", "StructuredOutputEvaluationResultComparator", "StructuredOutputEvaluationResultExpectedValue", @@ -12118,6 +14338,10 @@ def __dir__(): "StructuredOutputModel_Google", "StructuredOutputModel_Openai", "StructuredOutputPaginatedResponse", + "StructuredOutputRerunResponse", + "StructuredOutputRunPreviewResponse", + "StructuredOutputRunResult", + "StructuredOutputRunResultResult", "StructuredOutputType", "Subscription", "SubscriptionLimits", @@ -12152,6 +14376,8 @@ def __dir__(): "TelnyxPhoneNumberHooksItem_CallEnding", "TelnyxPhoneNumberHooksItem_CallRinging", "TelnyxPhoneNumberStatus", + "TelnyxTransport", + "TelnyxTransportConversationType", "Template", "TemplateDetails", "TemplateDetails_ApiRequest", @@ -12301,11 +14527,28 @@ def __dir__(): "ToolCallMessage", "ToolCallResult", "ToolCallResultMessage", + "ToolCallResultMessageWarning", + "ToolCallResultMessageWarningType", + "ToolCallResultMessage_RequestComplete", + "ToolCallResultMessage_RequestFailed", + "ToolDraft", + "ToolDraftConflictResponseDto", + "ToolDraftMessagesItem", + "ToolDraftMessagesItem_RequestComplete", + "ToolDraftMessagesItem_RequestFailed", + "ToolDraftMessagesItem_RequestResponseDelayed", + "ToolDraftMessagesItem_RequestStart", + "ToolDraftMethod", + "ToolDraftPaginatedMetadata", + "ToolDraftPaginatedResponse", + "ToolDraftType", + "ToolDraftVerb", "ToolMessage", "ToolMessageComplete", "ToolMessageCompleteRole", "ToolMessageDelayed", "ToolMessageFailed", + "ToolMessageFailedRole", "ToolMessageRole", "ToolMessageStart", "ToolNode", @@ -12335,6 +14578,9 @@ def __dir__(): "ToolNodeTool_Voicemail", "ToolParameter", "ToolParameterValue", + "ToolPinnedConflictResponseDto", + "ToolPinnedConflictResponseDtoError", + "ToolRef", "ToolRejectionPlan", "ToolRejectionPlanConditionsItem", "ToolRejectionPlanConditionsItem_Group", @@ -12342,9 +14588,19 @@ def __dir__(): "ToolRejectionPlanConditionsItem_Regex", "ToolTemplateMetadata", "ToolTemplateSetup", + "ToolVersion", + "ToolVersionPaginatedMetadata", + "ToolVersionPaginatedResponse", "TranscriberCost", "TranscriptPlan", "TranscriptionEndpointingPlan", + "TransferArtifact", + "TransferArtifactDestination", + "TransferArtifactDestination_Number", + "TransferArtifactDestination_Sip", + "TransferArtifactMessagesItem", + "TransferArtifactMode", + "TransferArtifactStatus", "TransferAssistant", "TransferAssistantBackgroundSound", "TransferAssistantBackgroundSoundZero", @@ -12365,6 +14621,8 @@ def __dir__(): "TransferAssistantTranscriber_Soniox", "TransferAssistantTranscriber_Speechmatics", "TransferAssistantTranscriber_Talkscriber", + "TransferAssistantTranscriber_Vapi", + "TransferAssistantTranscriber_Xai", "TransferAssistantVoice", "TransferAssistantVoice_11Labs", "TransferAssistantVoice_Azure", @@ -12374,6 +14632,7 @@ def __dir__(): "TransferAssistantVoice_Hume", "TransferAssistantVoice_Inworld", "TransferAssistantVoice_Lmnt", + "TransferAssistantVoice_Microsoft", "TransferAssistantVoice_Minimax", "TransferAssistantVoice_Neuphonic", "TransferAssistantVoice_Openai", @@ -12384,6 +14643,7 @@ def __dir__(): "TransferAssistantVoice_Tavus", "TransferAssistantVoice_Vapi", "TransferAssistantVoice_Wellsaid", + "TransferAssistantVoice_Xai", "TransferCallTool", "TransferCallToolDestinationsItem", "TransferCallToolDestinationsItem_Assistant", @@ -12439,17 +14699,8 @@ def __dir__(): "TransportConfigurationTwilioRecordingChannels", "TransportCost", "TransportCostProvider", - "TrieveCredential", - "TrieveCredentialProvider", "TrieveKnowledgeBase", - "TrieveKnowledgeBaseChunkPlan", - "TrieveKnowledgeBaseCreate", - "TrieveKnowledgeBaseCreateType", "TrieveKnowledgeBaseImport", - "TrieveKnowledgeBaseImportType", - "TrieveKnowledgeBaseProvider", - "TrieveKnowledgeBaseSearchPlan", - "TrieveKnowledgeBaseSearchPlanSearchType", "TurnLatency", "TwilioCredential", "TwilioCredentialProvider", @@ -12464,6 +14715,8 @@ def __dir__(): "TwilioSmsChatTransport", "TwilioSmsChatTransportConversationType", "TwilioSmsChatTransportType", + "TwilioTransport", + "TwilioTransportConversationType", "TwilioTransportMessage", "TwilioVoicemailDetectionPlan", "TwilioVoicemailDetectionPlanProvider", @@ -12472,9 +14725,12 @@ def __dir__(): "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsIam", "UpdateAnthropicBedrockCredentialDtoAuthenticationPlan_AwsSts", + "UpdateAnthropicBedrockCredentialDtoProvider", "UpdateAnthropicBedrockCredentialDtoRegion", "UpdateAnthropicCredentialDto", + "UpdateAnthropicCredentialDtoProvider", "UpdateAnyscaleCredentialDto", + "UpdateAnyscaleCredentialDtoProvider", "UpdateApiRequestToolDto", "UpdateApiRequestToolDtoMessagesItem", "UpdateApiRequestToolDtoMessagesItem_RequestComplete", @@ -12483,11 +14739,136 @@ def __dir__(): "UpdateApiRequestToolDtoMessagesItem_RequestStart", "UpdateApiRequestToolDtoMethod", "UpdateAssemblyAiCredentialDto", + "UpdateAssemblyAiCredentialDtoProvider", + "UpdateAssistantDraftDto", + "UpdateAssistantDraftDtoBackgroundSound", + "UpdateAssistantDraftDtoBackgroundSoundZero", + "UpdateAssistantDraftDtoClientMessagesItem", + "UpdateAssistantDraftDtoCredentialsItem", + "UpdateAssistantDraftDtoCredentialsItem_11Labs", + "UpdateAssistantDraftDtoCredentialsItem_Anthropic", + "UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock", + "UpdateAssistantDraftDtoCredentialsItem_Anyscale", + "UpdateAssistantDraftDtoCredentialsItem_AssemblyAi", + "UpdateAssistantDraftDtoCredentialsItem_Azure", + "UpdateAssistantDraftDtoCredentialsItem_AzureOpenai", + "UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk", + "UpdateAssistantDraftDtoCredentialsItem_Cartesia", + "UpdateAssistantDraftDtoCredentialsItem_Cerebras", + "UpdateAssistantDraftDtoCredentialsItem_Cloudflare", + "UpdateAssistantDraftDtoCredentialsItem_CustomCredential", + "UpdateAssistantDraftDtoCredentialsItem_CustomLlm", + "UpdateAssistantDraftDtoCredentialsItem_DeepSeek", + "UpdateAssistantDraftDtoCredentialsItem_Deepgram", + "UpdateAssistantDraftDtoCredentialsItem_Deepinfra", + "UpdateAssistantDraftDtoCredentialsItem_Email", + "UpdateAssistantDraftDtoCredentialsItem_Gcp", + "UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_Gladia", + "UpdateAssistantDraftDtoCredentialsItem_Gohighlevel", + "UpdateAssistantDraftDtoCredentialsItem_Google", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client", + "UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_Groq", + "UpdateAssistantDraftDtoCredentialsItem_Hume", + "UpdateAssistantDraftDtoCredentialsItem_InflectionAi", + "UpdateAssistantDraftDtoCredentialsItem_Inworld", + "UpdateAssistantDraftDtoCredentialsItem_Langfuse", + "UpdateAssistantDraftDtoCredentialsItem_Lmnt", + "UpdateAssistantDraftDtoCredentialsItem_Make", + "UpdateAssistantDraftDtoCredentialsItem_Microsoft", + "UpdateAssistantDraftDtoCredentialsItem_Minimax", + "UpdateAssistantDraftDtoCredentialsItem_Mistral", + "UpdateAssistantDraftDtoCredentialsItem_Neuphonic", + "UpdateAssistantDraftDtoCredentialsItem_Openai", + "UpdateAssistantDraftDtoCredentialsItem_Openrouter", + "UpdateAssistantDraftDtoCredentialsItem_PerplexityAi", + "UpdateAssistantDraftDtoCredentialsItem_Playht", + "UpdateAssistantDraftDtoCredentialsItem_RimeAi", + "UpdateAssistantDraftDtoCredentialsItem_Runpod", + "UpdateAssistantDraftDtoCredentialsItem_S3", + "UpdateAssistantDraftDtoCredentialsItem_S3Compatible", + "UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization", + "UpdateAssistantDraftDtoCredentialsItem_SlackWebhook", + "UpdateAssistantDraftDtoCredentialsItem_SmallestAi", + "UpdateAssistantDraftDtoCredentialsItem_Soniox", + "UpdateAssistantDraftDtoCredentialsItem_Speechmatics", + "UpdateAssistantDraftDtoCredentialsItem_Supabase", + "UpdateAssistantDraftDtoCredentialsItem_Tavus", + "UpdateAssistantDraftDtoCredentialsItem_TogetherAi", + "UpdateAssistantDraftDtoCredentialsItem_Twilio", + "UpdateAssistantDraftDtoCredentialsItem_Vonage", + "UpdateAssistantDraftDtoCredentialsItem_Webhook", + "UpdateAssistantDraftDtoCredentialsItem_Wellsaid", + "UpdateAssistantDraftDtoCredentialsItem_Xai", + "UpdateAssistantDraftDtoFirstMessageMode", + "UpdateAssistantDraftDtoHooksItem", + "UpdateAssistantDraftDtoModel", + "UpdateAssistantDraftDtoModel_Anthropic", + "UpdateAssistantDraftDtoModel_AnthropicBedrock", + "UpdateAssistantDraftDtoModel_Anyscale", + "UpdateAssistantDraftDtoModel_Cerebras", + "UpdateAssistantDraftDtoModel_CustomLlm", + "UpdateAssistantDraftDtoModel_DeepSeek", + "UpdateAssistantDraftDtoModel_Deepinfra", + "UpdateAssistantDraftDtoModel_Google", + "UpdateAssistantDraftDtoModel_Groq", + "UpdateAssistantDraftDtoModel_InflectionAi", + "UpdateAssistantDraftDtoModel_Minimax", + "UpdateAssistantDraftDtoModel_Openai", + "UpdateAssistantDraftDtoModel_Openrouter", + "UpdateAssistantDraftDtoModel_PerplexityAi", + "UpdateAssistantDraftDtoModel_TogetherAi", + "UpdateAssistantDraftDtoModel_Vapi", + "UpdateAssistantDraftDtoModel_Xai", + "UpdateAssistantDraftDtoServerMessagesItem", + "UpdateAssistantDraftDtoTranscriber", + "UpdateAssistantDraftDtoTranscriber_11Labs", + "UpdateAssistantDraftDtoTranscriber_AssemblyAi", + "UpdateAssistantDraftDtoTranscriber_Azure", + "UpdateAssistantDraftDtoTranscriber_Cartesia", + "UpdateAssistantDraftDtoTranscriber_CustomTranscriber", + "UpdateAssistantDraftDtoTranscriber_Deepgram", + "UpdateAssistantDraftDtoTranscriber_Gladia", + "UpdateAssistantDraftDtoTranscriber_Google", + "UpdateAssistantDraftDtoTranscriber_Openai", + "UpdateAssistantDraftDtoTranscriber_Soniox", + "UpdateAssistantDraftDtoTranscriber_Speechmatics", + "UpdateAssistantDraftDtoTranscriber_Talkscriber", + "UpdateAssistantDraftDtoTranscriber_Vapi", + "UpdateAssistantDraftDtoTranscriber_Xai", + "UpdateAssistantDraftDtoVoice", + "UpdateAssistantDraftDtoVoice_11Labs", + "UpdateAssistantDraftDtoVoice_Azure", + "UpdateAssistantDraftDtoVoice_Cartesia", + "UpdateAssistantDraftDtoVoice_CustomVoice", + "UpdateAssistantDraftDtoVoice_Deepgram", + "UpdateAssistantDraftDtoVoice_Hume", + "UpdateAssistantDraftDtoVoice_Inworld", + "UpdateAssistantDraftDtoVoice_Lmnt", + "UpdateAssistantDraftDtoVoice_Microsoft", + "UpdateAssistantDraftDtoVoice_Minimax", + "UpdateAssistantDraftDtoVoice_Neuphonic", + "UpdateAssistantDraftDtoVoice_Openai", + "UpdateAssistantDraftDtoVoice_Playht", + "UpdateAssistantDraftDtoVoice_RimeAi", + "UpdateAssistantDraftDtoVoice_Sesame", + "UpdateAssistantDraftDtoVoice_SmallestAi", + "UpdateAssistantDraftDtoVoice_Tavus", + "UpdateAssistantDraftDtoVoice_Vapi", + "UpdateAssistantDraftDtoVoice_Wellsaid", + "UpdateAssistantDraftDtoVoice_Xai", + "UpdateAssistantDraftDtoVoicemailDetection", + "UpdateAssistantDraftDtoVoicemailDetectionZero", + "UpdateAssistantVersionMetadataDto", "UpdateAzureCredentialDto", + "UpdateAzureCredentialDtoProvider", "UpdateAzureCredentialDtoRegion", "UpdateAzureCredentialDtoService", "UpdateAzureOpenAiCredentialDto", "UpdateAzureOpenAiCredentialDtoModelsItem", + "UpdateAzureOpenAiCredentialDtoProvider", "UpdateAzureOpenAiCredentialDtoRegion", "UpdateBarInsightFromCallTableDto", "UpdateBarInsightFromCallTableDtoGroupBy", @@ -12508,15 +14889,22 @@ def __dir__(): "UpdateByoPhoneNumberDtoHooksItem_CallEnding", "UpdateByoPhoneNumberDtoHooksItem_CallRinging", "UpdateByoSipTrunkCredentialDto", + "UpdateByoSipTrunkCredentialDtoProvider", + "UpdateCampaignDto", + "UpdateCampaignDtoStatus", "UpdateCartesiaCredentialDto", + "UpdateCartesiaCredentialDtoProvider", "UpdateCerebrasCredentialDto", + "UpdateCerebrasCredentialDtoProvider", "UpdateCloudflareCredentialDto", + "UpdateCloudflareCredentialDtoProvider", "UpdateCodeToolDto", "UpdateCodeToolDtoMessagesItem", "UpdateCodeToolDtoMessagesItem_RequestComplete", "UpdateCodeToolDtoMessagesItem_RequestFailed", "UpdateCodeToolDtoMessagesItem_RequestResponseDelayed", "UpdateCodeToolDtoMessagesItem_RequestStart", + "UpdateCodeToolDtoType", "UpdateComputerToolDto", "UpdateComputerToolDtoMessagesItem", "UpdateComputerToolDtoMessagesItem_RequestComplete", @@ -12532,11 +14920,17 @@ def __dir__(): "UpdateCustomCredentialDtoAuthenticationPlan_Oauth2", "UpdateCustomCredentialDtoEncryptionPlan", "UpdateCustomCredentialDtoEncryptionPlan_PublicKey", + "UpdateCustomCredentialDtoProvider", "UpdateCustomKnowledgeBaseDto", + "UpdateCustomKnowledgeBaseDtoProvider", "UpdateCustomLlmCredentialDto", + "UpdateCustomLlmCredentialDtoProvider", "UpdateDeepInfraCredentialDto", + "UpdateDeepInfraCredentialDtoProvider", "UpdateDeepSeekCredentialDto", + "UpdateDeepSeekCredentialDtoProvider", "UpdateDeepgramCredentialDto", + "UpdateDeepgramCredentialDtoProvider", "UpdateDtmfToolDto", "UpdateDtmfToolDtoMessagesItem", "UpdateDtmfToolDtoMessagesItem_RequestComplete", @@ -12544,7 +14938,9 @@ def __dir__(): "UpdateDtmfToolDtoMessagesItem_RequestResponseDelayed", "UpdateDtmfToolDtoMessagesItem_RequestStart", "UpdateElevenLabsCredentialDto", + "UpdateElevenLabsCredentialDtoApiUrl", "UpdateEmailCredentialDto", + "UpdateEmailCredentialDtoProvider", "UpdateEndCallToolDto", "UpdateEndCallToolDtoMessagesItem", "UpdateEndCallToolDtoMessagesItem_RequestComplete", @@ -12558,13 +14954,16 @@ def __dir__(): "UpdateFunctionToolDtoMessagesItem_RequestResponseDelayed", "UpdateFunctionToolDtoMessagesItem_RequestStart", "UpdateGcpCredentialDto", + "UpdateGcpCredentialDtoProvider", "UpdateGhlToolDto", "UpdateGhlToolDtoMessagesItem", "UpdateGhlToolDtoMessagesItem_RequestComplete", "UpdateGhlToolDtoMessagesItem_RequestFailed", "UpdateGhlToolDtoMessagesItem_RequestResponseDelayed", "UpdateGhlToolDtoMessagesItem_RequestStart", + "UpdateGhlToolDtoType", "UpdateGladiaCredentialDto", + "UpdateGladiaCredentialDtoProvider", "UpdateGoHighLevelCalendarAvailabilityToolDto", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem", "UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestComplete", @@ -12590,7 +14989,9 @@ def __dir__(): "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart", "UpdateGoHighLevelCredentialDto", + "UpdateGoHighLevelCredentialDtoProvider", "UpdateGoHighLevelMcpCredentialDto", + "UpdateGoHighLevelMcpCredentialDtoProvider", "UpdateGoogleCalendarCheckAvailabilityToolDto", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem", "UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestComplete", @@ -12604,9 +15005,13 @@ def __dir__(): "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart", "UpdateGoogleCalendarOAuth2AuthorizationCredentialDto", + "UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider", "UpdateGoogleCalendarOAuth2ClientCredentialDto", + "UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider", "UpdateGoogleCredentialDto", + "UpdateGoogleCredentialDtoProvider", "UpdateGoogleSheetsOAuth2AuthorizationCredentialDto", + "UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider", "UpdateGoogleSheetsRowAppendToolDto", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestComplete", @@ -12614,6 +15019,7 @@ def __dir__(): "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestResponseDelayed", "UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart", "UpdateGroqCredentialDto", + "UpdateGroqCredentialDtoProvider", "UpdateHandoffToolDto", "UpdateHandoffToolDtoDestinationsItem", "UpdateHandoffToolDtoDestinationsItem_Assistant", @@ -12625,30 +15031,43 @@ def __dir__(): "UpdateHandoffToolDtoMessagesItem_RequestResponseDelayed", "UpdateHandoffToolDtoMessagesItem_RequestStart", "UpdateHumeCredentialDto", + "UpdateHumeCredentialDtoProvider", "UpdateInflectionAiCredentialDto", + "UpdateInflectionAiCredentialDtoProvider", "UpdateInworldCredentialDto", + "UpdateInworldCredentialDtoProvider", "UpdateLangfuseCredentialDto", + "UpdateLangfuseCredentialDtoProvider", "UpdateLineInsightFromCallTableDto", "UpdateLineInsightFromCallTableDtoGroupBy", "UpdateLineInsightFromCallTableDtoQueriesItem", "UpdateLmntCredentialDto", + "UpdateLmntCredentialDtoProvider", "UpdateMakeCredentialDto", + "UpdateMakeCredentialDtoProvider", "UpdateMakeToolDto", "UpdateMakeToolDtoMessagesItem", "UpdateMakeToolDtoMessagesItem_RequestComplete", "UpdateMakeToolDtoMessagesItem_RequestFailed", "UpdateMakeToolDtoMessagesItem_RequestResponseDelayed", "UpdateMakeToolDtoMessagesItem_RequestStart", + "UpdateMakeToolDtoType", "UpdateMcpToolDto", "UpdateMcpToolDtoMessagesItem", "UpdateMcpToolDtoMessagesItem_RequestComplete", "UpdateMcpToolDtoMessagesItem_RequestFailed", "UpdateMcpToolDtoMessagesItem_RequestResponseDelayed", "UpdateMcpToolDtoMessagesItem_RequestStart", + "UpdateMicrosoftCredentialDto", + "UpdateMicrosoftCredentialDtoProvider", "UpdateMistralCredentialDto", + "UpdateMistralCredentialDtoProvider", "UpdateNeuphonicCredentialDto", + "UpdateNeuphonicCredentialDtoProvider", "UpdateOpenAiCredentialDto", + "UpdateOpenAiCredentialDtoProvider", "UpdateOpenRouterCredentialDto", + "UpdateOpenRouterCredentialDtoProvider", "UpdateOrgDto", "UpdateOrgDtoChannel", "UpdateOutputToolDto", @@ -12657,12 +15076,15 @@ def __dir__(): "UpdateOutputToolDtoMessagesItem_RequestFailed", "UpdateOutputToolDtoMessagesItem_RequestResponseDelayed", "UpdateOutputToolDtoMessagesItem_RequestStart", + "UpdateOutputToolDtoType", "UpdatePerplexityAiCredentialDto", + "UpdatePerplexityAiCredentialDtoProvider", "UpdatePersonalityDto", "UpdatePieInsightFromCallTableDto", "UpdatePieInsightFromCallTableDtoGroupBy", "UpdatePieInsightFromCallTableDtoQueriesItem", "UpdatePlayHtCredentialDto", + "UpdatePlayHtCredentialDtoProvider", "UpdateQueryToolDto", "UpdateQueryToolDtoMessagesItem", "UpdateQueryToolDtoMessagesItem_RequestComplete", @@ -12670,8 +15092,14 @@ def __dir__(): "UpdateQueryToolDtoMessagesItem_RequestResponseDelayed", "UpdateQueryToolDtoMessagesItem_RequestStart", "UpdateRimeAiCredentialDto", + "UpdateRimeAiCredentialDtoProvider", "UpdateRunpodCredentialDto", + "UpdateRunpodCredentialDtoProvider", + "UpdateS3CompatibleBucketPlanDto", + "UpdateS3CompatibleCredentialDto", + "UpdateS3CompatibleCredentialDtoProvider", "UpdateS3CredentialDto", + "UpdateS3CredentialDtoProvider", "UpdateScenarioDto", "UpdateScenarioDtoHooksItem", "UpdateScenarioDtoHooksItem_SimulationRunEnded", @@ -12687,6 +15115,7 @@ def __dir__(): "UpdateSipRequestToolDtoMessagesItem_RequestStart", "UpdateSipRequestToolDtoVerb", "UpdateSlackOAuth2AuthorizationCredentialDto", + "UpdateSlackOAuth2AuthorizationCredentialDtoProvider", "UpdateSlackSendMessageToolDto", "UpdateSlackSendMessageToolDtoMessagesItem", "UpdateSlackSendMessageToolDtoMessagesItem_RequestComplete", @@ -12694,6 +15123,7 @@ def __dir__(): "UpdateSlackSendMessageToolDtoMessagesItem_RequestResponseDelayed", "UpdateSlackSendMessageToolDtoMessagesItem_RequestStart", "UpdateSlackWebhookCredentialDto", + "UpdateSlackWebhookCredentialDtoProvider", "UpdateSmsToolDto", "UpdateSmsToolDtoMessagesItem", "UpdateSmsToolDtoMessagesItem_RequestComplete", @@ -12701,6 +15131,7 @@ def __dir__(): "UpdateSmsToolDtoMessagesItem_RequestResponseDelayed", "UpdateSmsToolDtoMessagesItem_RequestStart", "UpdateSonioxCredentialDto", + "UpdateSonioxCredentialDtoProvider", "UpdateTelnyxPhoneNumberDto", "UpdateTelnyxPhoneNumberDtoFallbackDestination", "UpdateTelnyxPhoneNumberDtoFallbackDestination_Number", @@ -12725,8 +15156,18 @@ def __dir__(): "UpdateTextInsightFromCallTableDto", "UpdateTextInsightFromCallTableDtoQueriesItem", "UpdateTogetherAiCredentialDto", + "UpdateTogetherAiCredentialDtoProvider", "UpdateTokenDto", "UpdateTokenDtoTag", + "UpdateToolDraftDto", + "UpdateToolDraftDtoMessagesItem", + "UpdateToolDraftDtoMessagesItem_RequestComplete", + "UpdateToolDraftDtoMessagesItem_RequestFailed", + "UpdateToolDraftDtoMessagesItem_RequestResponseDelayed", + "UpdateToolDraftDtoMessagesItem_RequestStart", + "UpdateToolDraftDtoMethod", + "UpdateToolDraftDtoType", + "UpdateToolDraftDtoVerb", "UpdateToolTemplateDto", "UpdateToolTemplateDtoDetails", "UpdateToolTemplateDtoDetails_ApiRequest", @@ -12765,6 +15206,7 @@ def __dir__(): "UpdateToolTemplateDtoProviderDetails_Make", "UpdateToolTemplateDtoType", "UpdateToolTemplateDtoVisibility", + "UpdateToolVersionMetadataDto", "UpdateTransferCallToolDto", "UpdateTransferCallToolDtoDestinationsItem", "UpdateTransferCallToolDtoDestinationsItem_Assistant", @@ -12775,9 +15217,9 @@ def __dir__(): "UpdateTransferCallToolDtoMessagesItem_RequestFailed", "UpdateTransferCallToolDtoMessagesItem_RequestResponseDelayed", "UpdateTransferCallToolDtoMessagesItem_RequestStart", - "UpdateTrieveCredentialDto", "UpdateTrieveKnowledgeBaseDto", "UpdateTwilioCredentialDto", + "UpdateTwilioCredentialDtoProvider", "UpdateTwilioPhoneNumberDto", "UpdateTwilioPhoneNumberDtoFallbackDestination", "UpdateTwilioPhoneNumberDtoFallbackDestination_Number", @@ -12787,6 +15229,7 @@ def __dir__(): "UpdateTwilioPhoneNumberDtoHooksItem_CallRinging", "UpdateUserRoleDto", "UpdateUserRoleDtoRole", + "UpdateUserRoleDtoRoleZero", "UpdateVapiPhoneNumberDto", "UpdateVapiPhoneNumberDtoFallbackDestination", "UpdateVapiPhoneNumberDtoFallbackDestination_Number", @@ -12801,6 +15244,7 @@ def __dir__(): "UpdateVoicemailToolDtoMessagesItem_RequestResponseDelayed", "UpdateVoicemailToolDtoMessagesItem_RequestStart", "UpdateVonageCredentialDto", + "UpdateVonageCredentialDtoProvider", "UpdateVonagePhoneNumberDto", "UpdateVonagePhoneNumberDtoFallbackDestination", "UpdateVonagePhoneNumberDtoFallbackDestination_Number", @@ -12813,7 +15257,9 @@ def __dir__(): "UpdateWebhookCredentialDtoAuthenticationPlan_Bearer", "UpdateWebhookCredentialDtoAuthenticationPlan_Hmac", "UpdateWebhookCredentialDtoAuthenticationPlan_Oauth2", + "UpdateWebhookCredentialDtoProvider", "UpdateWellSaidCredentialDto", + "UpdateWellSaidCredentialDtoProvider", "UpdateWorkflowDto", "UpdateWorkflowDtoBackgroundSound", "UpdateWorkflowDtoBackgroundSoundZero", @@ -12850,6 +15296,7 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_Langfuse", "UpdateWorkflowDtoCredentialsItem_Lmnt", "UpdateWorkflowDtoCredentialsItem_Make", + "UpdateWorkflowDtoCredentialsItem_Microsoft", "UpdateWorkflowDtoCredentialsItem_Minimax", "UpdateWorkflowDtoCredentialsItem_Mistral", "UpdateWorkflowDtoCredentialsItem_Neuphonic", @@ -12860,6 +15307,7 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_RimeAi", "UpdateWorkflowDtoCredentialsItem_Runpod", "UpdateWorkflowDtoCredentialsItem_S3", + "UpdateWorkflowDtoCredentialsItem_S3Compatible", "UpdateWorkflowDtoCredentialsItem_SlackOauth2Authorization", "UpdateWorkflowDtoCredentialsItem_SlackWebhook", "UpdateWorkflowDtoCredentialsItem_SmallestAi", @@ -12868,7 +15316,6 @@ def __dir__(): "UpdateWorkflowDtoCredentialsItem_Supabase", "UpdateWorkflowDtoCredentialsItem_Tavus", "UpdateWorkflowDtoCredentialsItem_TogetherAi", - "UpdateWorkflowDtoCredentialsItem_Trieve", "UpdateWorkflowDtoCredentialsItem_Twilio", "UpdateWorkflowDtoCredentialsItem_Vonage", "UpdateWorkflowDtoCredentialsItem_Webhook", @@ -12897,6 +15344,8 @@ def __dir__(): "UpdateWorkflowDtoTranscriber_Soniox", "UpdateWorkflowDtoTranscriber_Speechmatics", "UpdateWorkflowDtoTranscriber_Talkscriber", + "UpdateWorkflowDtoTranscriber_Vapi", + "UpdateWorkflowDtoTranscriber_Xai", "UpdateWorkflowDtoVoice", "UpdateWorkflowDtoVoice_11Labs", "UpdateWorkflowDtoVoice_Azure", @@ -12906,6 +15355,7 @@ def __dir__(): "UpdateWorkflowDtoVoice_Hume", "UpdateWorkflowDtoVoice_Inworld", "UpdateWorkflowDtoVoice_Lmnt", + "UpdateWorkflowDtoVoice_Microsoft", "UpdateWorkflowDtoVoice_Minimax", "UpdateWorkflowDtoVoice_Neuphonic", "UpdateWorkflowDtoVoice_Openai", @@ -12916,15 +15366,16 @@ def __dir__(): "UpdateWorkflowDtoVoice_Tavus", "UpdateWorkflowDtoVoice_Vapi", "UpdateWorkflowDtoVoice_Wellsaid", + "UpdateWorkflowDtoVoice_Xai", "UpdateWorkflowDtoVoicemailDetection", "UpdateWorkflowDtoVoicemailDetectionZero", "UpdateXAiCredentialDto", + "UpdateXAiCredentialDtoProvider", "User", "UserMessage", "VapiCost", "VapiCostSubType", "VapiModel", - "VapiModelProvider", "VapiModelToolsItem", "VapiModelToolsItem_ApiRequest", "VapiModelToolsItem_Bash", @@ -12949,6 +15400,7 @@ def __dir__(): "VapiModelToolsItem_TextEditor", "VapiModelToolsItem_TransferCall", "VapiModelToolsItem_Voicemail", + "VapiModelVersion", "VapiPhoneNumber", "VapiPhoneNumberFallbackDestination", "VapiPhoneNumberFallbackDestination_Number", @@ -12958,22 +15410,40 @@ def __dir__(): "VapiPhoneNumberHooksItem_CallRinging", "VapiPhoneNumberStatus", "VapiPronunciationDictionaryLocator", + "VapiSipTransport", + "VapiSipTransportConversationType", "VapiSipTransportMessage", "VapiSipTransportMessageSipVerb", "VapiSmartEndpointingPlan", "VapiSmartEndpointingPlanProvider", + "VapiTranscriber", + "VapiTranscriberLanguage", + "VapiTranscriberLanguagesItem", + "VapiTranscriberTurnTaking", + "VapiTranscriberVersion", "VapiVoice", + "VapiVoiceLanguage", + "VapiVoiceVersion", "VapiVoiceVoiceId", "VapiVoicemailDetectionPlan", "VapiVoicemailDetectionPlanProvider", "VapiVoicemailDetectionPlanType", + "VapiWebCallTransport", + "VapiWebCallTransportConversationType", + "VapiWebsocketTransport", + "VapiWebsocketTransportConversationType", "VariableExtractionAlias", "VariableExtractionPlan", "VariableValueGroupBy", + "VersionPinConflictResponseDto", + "VersionPinConflictResponseDtoError", + "VersionPinReference", + "VersionPinReferenceSourceType", "VoiceCost", "VoiceLibrary", "VoiceLibraryGender", "VoiceLibraryVoiceResponse", + "VoiceLibraryVoiceResponseAge", "VoicemailDetectionBackoffPlan", "VoicemailDetectionCost", "VoicemailDetectionCostProvider", @@ -12993,6 +15463,8 @@ def __dir__(): "VonagePhoneNumberHooksItem_CallEnding", "VonagePhoneNumberHooksItem_CallRinging", "VonagePhoneNumberStatus", + "VonageTransport", + "VonageTransportConversationType", "WebChat", "WebChatOutputItem", "WebhookCredential", @@ -13045,6 +15517,7 @@ def __dir__(): "WorkflowCredentialsItem_Langfuse", "WorkflowCredentialsItem_Lmnt", "WorkflowCredentialsItem_Make", + "WorkflowCredentialsItem_Microsoft", "WorkflowCredentialsItem_Minimax", "WorkflowCredentialsItem_Mistral", "WorkflowCredentialsItem_Neuphonic", @@ -13055,6 +15528,7 @@ def __dir__(): "WorkflowCredentialsItem_RimeAi", "WorkflowCredentialsItem_Runpod", "WorkflowCredentialsItem_S3", + "WorkflowCredentialsItem_S3Compatible", "WorkflowCredentialsItem_SlackOauth2Authorization", "WorkflowCredentialsItem_SlackWebhook", "WorkflowCredentialsItem_SmallestAi", @@ -13063,7 +15537,6 @@ def __dir__(): "WorkflowCredentialsItem_Supabase", "WorkflowCredentialsItem_Tavus", "WorkflowCredentialsItem_TogetherAi", - "WorkflowCredentialsItem_Trieve", "WorkflowCredentialsItem_Twilio", "WorkflowCredentialsItem_Vonage", "WorkflowCredentialsItem_Webhook", @@ -13099,6 +15572,8 @@ def __dir__(): "WorkflowTranscriber_Soniox", "WorkflowTranscriber_Speechmatics", "WorkflowTranscriber_Talkscriber", + "WorkflowTranscriber_Vapi", + "WorkflowTranscriber_Xai", "WorkflowUserEditable", "WorkflowUserEditableBackgroundSound", "WorkflowUserEditableBackgroundSoundZero", @@ -13135,6 +15610,7 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_Langfuse", "WorkflowUserEditableCredentialsItem_Lmnt", "WorkflowUserEditableCredentialsItem_Make", + "WorkflowUserEditableCredentialsItem_Microsoft", "WorkflowUserEditableCredentialsItem_Minimax", "WorkflowUserEditableCredentialsItem_Mistral", "WorkflowUserEditableCredentialsItem_Neuphonic", @@ -13145,6 +15621,7 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_RimeAi", "WorkflowUserEditableCredentialsItem_Runpod", "WorkflowUserEditableCredentialsItem_S3", + "WorkflowUserEditableCredentialsItem_S3Compatible", "WorkflowUserEditableCredentialsItem_SlackOauth2Authorization", "WorkflowUserEditableCredentialsItem_SlackWebhook", "WorkflowUserEditableCredentialsItem_SmallestAi", @@ -13153,7 +15630,6 @@ def __dir__(): "WorkflowUserEditableCredentialsItem_Supabase", "WorkflowUserEditableCredentialsItem_Tavus", "WorkflowUserEditableCredentialsItem_TogetherAi", - "WorkflowUserEditableCredentialsItem_Trieve", "WorkflowUserEditableCredentialsItem_Twilio", "WorkflowUserEditableCredentialsItem_Vonage", "WorkflowUserEditableCredentialsItem_Webhook", @@ -13182,6 +15658,8 @@ def __dir__(): "WorkflowUserEditableTranscriber_Soniox", "WorkflowUserEditableTranscriber_Speechmatics", "WorkflowUserEditableTranscriber_Talkscriber", + "WorkflowUserEditableTranscriber_Vapi", + "WorkflowUserEditableTranscriber_Xai", "WorkflowUserEditableVoice", "WorkflowUserEditableVoice_11Labs", "WorkflowUserEditableVoice_Azure", @@ -13191,6 +15669,7 @@ def __dir__(): "WorkflowUserEditableVoice_Hume", "WorkflowUserEditableVoice_Inworld", "WorkflowUserEditableVoice_Lmnt", + "WorkflowUserEditableVoice_Microsoft", "WorkflowUserEditableVoice_Minimax", "WorkflowUserEditableVoice_Neuphonic", "WorkflowUserEditableVoice_Openai", @@ -13201,6 +15680,7 @@ def __dir__(): "WorkflowUserEditableVoice_Tavus", "WorkflowUserEditableVoice_Vapi", "WorkflowUserEditableVoice_Wellsaid", + "WorkflowUserEditableVoice_Xai", "WorkflowUserEditableVoicemailDetection", "WorkflowUserEditableVoicemailDetectionZero", "WorkflowVoice", @@ -13212,6 +15692,7 @@ def __dir__(): "WorkflowVoice_Hume", "WorkflowVoice_Inworld", "WorkflowVoice_Lmnt", + "WorkflowVoice_Microsoft", "WorkflowVoice_Minimax", "WorkflowVoice_Neuphonic", "WorkflowVoice_Openai", @@ -13222,6 +15703,7 @@ def __dir__(): "WorkflowVoice_Tavus", "WorkflowVoice_Vapi", "WorkflowVoice_Wellsaid", + "WorkflowVoice_Xai", "WorkflowVoicemailDetection", "WorkflowVoicemailDetectionZero", "XAiCredential", @@ -13252,6 +15734,12 @@ def __dir__(): "XaiModelToolsItem_TextEditor", "XaiModelToolsItem_TransferCall", "XaiModelToolsItem_Voicemail", + "XaiTranscriber", + "XaiTranscriberLanguage", + "XaiTranscriberModel", + "XaiVoice", + "XaiVoiceLanguage", + "XaiVoiceVoiceId", "XssSecurityFilter", "XssSecurityFilterType", ] diff --git a/src/vapi/types/ai_edge_condition.py b/src/vapi/types/ai_edge_condition.py index 6cb27d6c..a18e9ea3 100644 --- a/src/vapi/types/ai_edge_condition.py +++ b/src/vapi/types/ai_edge_condition.py @@ -9,7 +9,15 @@ class AiEdgeCondition(UncheckedBaseModel): - type: AiEdgeConditionType + """ + An AI-evaluated boolean condition that determines whether a workflow follows an edge. + """ + + type: AiEdgeConditionType = pydantic.Field() + """ + Selects an AI-evaluated workflow edge condition. + """ + prompt: str = pydantic.Field() """ This is the prompt for the AI edge condition. It should evaluate to a boolean. diff --git a/src/vapi/types/analysis.py b/src/vapi/types/analysis.py index c821a7ad..e32cebee 100644 --- a/src/vapi/types/analysis.py +++ b/src/vapi/types/analysis.py @@ -10,6 +10,10 @@ class Analysis(UncheckedBaseModel): + """ + Post-call analysis results, including summary, structured data, and success evaluation outputs. + """ + summary: typing.Optional[str] = pydantic.Field(default=None) """ This is the summary of the call. Customize by setting `assistant.analysisPlan.summaryPrompt`. diff --git a/src/vapi/types/analysis_cost.py b/src/vapi/types/analysis_cost.py index 979b8b1d..82fc0a91 100644 --- a/src/vapi/types/analysis_cost.py +++ b/src/vapi/types/analysis_cost.py @@ -11,6 +11,10 @@ class AnalysisCost(UncheckedBaseModel): + """ + Cost for an individual analysis request, including analysis type, model, token usage, and amount. + """ + analysis_type: typing_extensions.Annotated[ AnalysisCostAnalysisType, FieldMetadata(alias="analysisType"), diff --git a/src/vapi/types/analysis_cost_breakdown.py b/src/vapi/types/analysis_cost_breakdown.py index 0d1d1c8b..45fefe89 100644 --- a/src/vapi/types/analysis_cost_breakdown.py +++ b/src/vapi/types/analysis_cost_breakdown.py @@ -10,6 +10,10 @@ class AnalysisCostBreakdown(UncheckedBaseModel): + """ + Analysis costs and token usage grouped by summary, structured data, success evaluation, and structured-output generation. + """ + summary: typing.Optional[float] = pydantic.Field(default=None) """ This is the cost to summarize the call. diff --git a/src/vapi/types/analysis_plan.py b/src/vapi/types/analysis_plan.py index c7fc8bf7..c94b571a 100644 --- a/src/vapi/types/analysis_plan.py +++ b/src/vapi/types/analysis_plan.py @@ -16,6 +16,10 @@ class AnalysisPlan(UncheckedBaseModel): + """ + Configuration for post-call analysis of summaries, structured-data extraction, success evaluation, and outcomes. + """ + min_messages_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="minMessagesThreshold"), diff --git a/src/vapi/types/analytics_operation.py b/src/vapi/types/analytics_operation.py index f12006ba..fe51f50a 100644 --- a/src/vapi/types/analytics_operation.py +++ b/src/vapi/types/analytics_operation.py @@ -10,6 +10,10 @@ class AnalyticsOperation(UncheckedBaseModel): + """ + An aggregation or history operation applied to an analytics column, with an optional response alias. + """ + operation: AnalyticsOperationOperation = pydantic.Field() """ This is the aggregation operation you want to perform. diff --git a/src/vapi/types/analytics_query.py b/src/vapi/types/analytics_query.py index a2533aa2..ecc022cd 100644 --- a/src/vapi/types/analytics_query.py +++ b/src/vapi/types/analytics_query.py @@ -15,6 +15,10 @@ class AnalyticsQuery(UncheckedBaseModel): + """ + A named analytics query against call or subscription data, including grouping, time range, and aggregation operations. + """ + table: AnalyticsQueryTable = pydantic.Field() """ This is the table you want to query. diff --git a/src/vapi/types/analytics_query_result.py b/src/vapi/types/analytics_query_result.py index 15ad372c..851f3dec 100644 --- a/src/vapi/types/analytics_query_result.py +++ b/src/vapi/types/analytics_query_result.py @@ -11,6 +11,10 @@ class AnalyticsQueryResult(UncheckedBaseModel): + """ + The result of a named analytics query, including the evaluated time range and returned metric data. + """ + name: str = pydantic.Field() """ This is the unique key for the query. diff --git a/src/vapi/types/anthropic_bedrock_credential_region.py b/src/vapi/types/anthropic_bedrock_credential_region.py index dc386d2e..5bd599c0 100644 --- a/src/vapi/types/anthropic_bedrock_credential_region.py +++ b/src/vapi/types/anthropic_bedrock_credential_region.py @@ -3,5 +3,8 @@ import typing AnthropicBedrockCredentialRegion = typing.Union[ - typing.Literal["us-east-1", "us-west-2", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2"], typing.Any + typing.Literal[ + "us-east-1", "us-west-2", "eu-central-1", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2" + ], + typing.Any, ] diff --git a/src/vapi/types/anthropic_bedrock_model.py b/src/vapi/types/anthropic_bedrock_model.py index af4ae613..0c3ae3c8 100644 --- a/src/vapi/types/anthropic_bedrock_model.py +++ b/src/vapi/types/anthropic_bedrock_model.py @@ -13,9 +13,14 @@ from .anthropic_thinking_config import AnthropicThinkingConfig from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class AnthropicBedrockModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Anthropic models through Amazon Bedrock, including model, prompts, tools, knowledge-base access, reasoning, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -36,6 +41,14 @@ class AnthropicBedrockModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -55,7 +68,7 @@ class AnthropicBedrockModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -110,8 +123,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -147,6 +164,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -169,8 +193,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -206,6 +234,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/anthropic_bedrock_model_model.py b/src/vapi/types/anthropic_bedrock_model_model.py index 9a14e096..5065b3c3 100644 --- a/src/vapi/types/anthropic_bedrock_model_model.py +++ b/src/vapi/types/anthropic_bedrock_model_model.py @@ -18,6 +18,7 @@ "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001", + "global.anthropic.claude-haiku-4-5-20251001-v1:0", ], typing.Any, ] diff --git a/src/vapi/types/anthropic_bedrock_model_tools_item.py b/src/vapi/types/anthropic_bedrock_model_tools_item.py index 11168561..b992e888 100644 --- a/src/vapi/types/anthropic_bedrock_model_tools_item.py +++ b/src/vapi/types/anthropic_bedrock_model_tools_item.py @@ -67,6 +67,7 @@ class AnthropicBedrockModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class AnthropicBedrockModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -609,8 +609,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/anthropic_model.py b/src/vapi/types/anthropic_model.py index 567a437d..caf9bd91 100644 --- a/src/vapi/types/anthropic_model.py +++ b/src/vapi/types/anthropic_model.py @@ -13,9 +13,14 @@ from .anthropic_thinking_config import AnthropicThinkingConfig from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class AnthropicModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Anthropic, including model, prompts, tools, knowledge-base access, reasoning, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -36,6 +41,14 @@ class AnthropicModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -55,7 +68,7 @@ class AnthropicModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -110,8 +123,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -147,6 +164,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -169,8 +193,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -206,6 +234,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/anthropic_model_model.py b/src/vapi/types/anthropic_model_model.py index 2bc88621..2321763c 100644 --- a/src/vapi/types/anthropic_model_model.py +++ b/src/vapi/types/anthropic_model_model.py @@ -17,6 +17,7 @@ "claude-sonnet-4-20250514", "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", + "claude-sonnet-5", "claude-haiku-4-5-20251001", ], typing.Any, diff --git a/src/vapi/types/anthropic_model_tools_item.py b/src/vapi/types/anthropic_model_tools_item.py index 543ab1be..6f338394 100644 --- a/src/vapi/types/anthropic_model_tools_item.py +++ b/src/vapi/types/anthropic_model_tools_item.py @@ -67,6 +67,7 @@ class AnthropicModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class AnthropicModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -609,8 +609,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/anthropic_thinking_config.py b/src/vapi/types/anthropic_thinking_config.py index 1a9b8290..504e4b4e 100644 --- a/src/vapi/types/anthropic_thinking_config.py +++ b/src/vapi/types/anthropic_thinking_config.py @@ -11,7 +11,15 @@ class AnthropicThinkingConfig(UncheckedBaseModel): - type: AnthropicThinkingConfigType + """ + Enables Anthropic extended thinking with a maximum thinking-token budget. + """ + + type: AnthropicThinkingConfigType = pydantic.Field() + """ + Enables Anthropic extended thinking. + """ + budget_tokens: typing_extensions.Annotated[ float, FieldMetadata(alias="budgetTokens"), diff --git a/src/vapi/types/anyscale_model.py b/src/vapi/types/anyscale_model.py index 74a19b90..f2343fee 100644 --- a/src/vapi/types/anyscale_model.py +++ b/src/vapi/types/anyscale_model.py @@ -11,9 +11,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class AnyscaleModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Anyscale, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -34,6 +39,14 @@ class AnyscaleModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -46,7 +59,7 @@ class AnyscaleModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -101,8 +114,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -138,6 +155,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -160,8 +184,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -197,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/anyscale_model_tools_item.py b/src/vapi/types/anyscale_model_tools_item.py index e10afcc7..0046a23f 100644 --- a/src/vapi/types/anyscale_model_tools_item.py +++ b/src/vapi/types/anyscale_model_tools_item.py @@ -67,6 +67,7 @@ class AnyscaleModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class AnyscaleModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -609,8 +609,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/api_request_tool.py b/src/vapi/types/api_request_tool.py index 2cf79a59..f46160d1 100644 --- a/src/vapi/types/api_request_tool.py +++ b/src/vapi/types/api_request_tool.py @@ -19,14 +19,30 @@ class ApiRequestTool(UncheckedBaseModel): + """ + A reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ApiRequestToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. + """ + + method: ApiRequestToolMethod = pydantic.Field() + """ + The HTTP method used for the API request. """ - method: ApiRequestToolMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), @@ -87,13 +103,6 @@ class ApiRequestTool(UncheckedBaseModel): description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", ), ] = None - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the tool. This will be passed to the model. - - Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. - """ - description: typing.Optional[str] = pydantic.Field(default=None) """ This is the description of the tool. This will be passed to the model. diff --git a/src/vapi/types/api_request_tool_messages_item.py b/src/vapi/types/api_request_tool_messages_item.py index 40a8cb8f..acb98de4 100644 --- a/src/vapi/types/api_request_tool_messages_item.py +++ b/src/vapi/types/api_request_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class ApiRequestToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class ApiRequestToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/artifact.py b/src/vapi/types/artifact.py index 784d86ce..04188340 100644 --- a/src/vapi/types/artifact.py +++ b/src/vapi/types/artifact.py @@ -14,9 +14,15 @@ from .open_ai_message import OpenAiMessage from .performance_metrics import PerformanceMetrics from .recording import Recording +from .skipped_structured_output import SkippedStructuredOutput +from .transfer_artifact import TransferArtifact class Artifact(UncheckedBaseModel): + """ + Artifacts generated during a call, including messages, recordings, transcript, logs, packet capture, workflow-node data, variables, performance metrics, structured outputs, scorecards, and transfers. + """ + messages: typing.Optional[typing.List[ArtifactMessagesItem]] = pydantic.Field(default=None) """ These are the messages that were spoken during the call. @@ -30,6 +36,20 @@ class Artifact(UncheckedBaseModel): description="These are the messages that were spoken during the call, formatted for OpenAI.", ), ] = None + skipped_structured_outputs: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, SkippedStructuredOutput]], + FieldMetadata(alias="skippedStructuredOutputs"), + pydantic.Field( + alias="skippedStructuredOutputs", + description="Structured outputs skipped because their conditions were not met, keyed by saved or runtime output ID.", + ), + ] = None + transfers: typing.Optional[typing.List[TransferArtifact]] = pydantic.Field(default=None) + """ + These are the transfer records for the call's transfer attempts (warm and blind), including + destination, mode, and status. Warm transfer records also include transcripts and messages. + """ + recording_url: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="recordingUrl"), @@ -130,11 +150,6 @@ class Artifact(UncheckedBaseModel): To enable, set `assistant.artifactPlan.scorecardIds` or `assistant.artifactPlan.scorecards` with the IDs or objects of the scorecards you want to evaluate. """ - transfers: typing.Optional[typing.List[str]] = pydantic.Field(default=None) - """ - These are the transfer records from warm transfers, including destinations, transcripts, and status. - """ - structured_outputs_last_updated_at: typing_extensions.Annotated[ typing.Optional[dt.datetime], FieldMetadata(alias="structuredOutputsLastUpdatedAt"), @@ -142,6 +157,70 @@ class Artifact(UncheckedBaseModel): alias="structuredOutputsLastUpdatedAt", description="This is when the structured outputs were last updated" ), ] = None + presigned_mono_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedMonoUrl"), + pydantic.Field( + alias="presignedMonoUrl", + description="This is a presigned URL to download the mono recording without\nauthentication. Populated on API responses and server messages; never\nstored. Expires at `presignedUrlsExpiresAt` — after that, use\n`GET /call/{id}/mono-recording`.", + ), + ] = None + presigned_stereo_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedStereoUrl"), + pydantic.Field( + alias="presignedStereoUrl", + description="This is a presigned URL to download the stereo recording without\nauthentication. Expires at `presignedUrlsExpiresAt` — after that, use\n`GET /call/{id}/stereo-recording`.", + ), + ] = None + presigned_video_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedVideoUrl"), + pydantic.Field( + alias="presignedVideoUrl", + description="This is a presigned URL to download the video recording without\nauthentication. Expires at `presignedUrlsExpiresAt` — after that, use\n`GET /call/{id}/video-recording`.", + ), + ] = None + presigned_assistant_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedAssistantUrl"), + pydantic.Field( + alias="presignedAssistantUrl", + description="This is a presigned URL to download the assistant-channel mono recording\nwithout authentication. Expires at `presignedUrlsExpiresAt`.", + ), + ] = None + presigned_customer_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedCustomerUrl"), + pydantic.Field( + alias="presignedCustomerUrl", + description="This is a presigned URL to download the customer-channel mono recording\nwithout authentication. Expires at `presignedUrlsExpiresAt`.", + ), + ] = None + presigned_pcap_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedPcapUrl"), + pydantic.Field( + alias="presignedPcapUrl", + description="This is a presigned URL to download the packet capture without\nauthentication. Expires at `presignedUrlsExpiresAt`.", + ), + ] = None + presigned_log_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedLogUrl"), + pydantic.Field( + alias="presignedLogUrl", + description="This is a presigned URL to download the call logs without\nauthentication. Expires at `presignedUrlsExpiresAt`.", + ), + ] = None + presigned_urls_expires_at: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="presignedUrlsExpiresAt"), + pydantic.Field( + alias="presignedUrlsExpiresAt", + description="This is when the presigned URLs above expire, as an ISO 8601 timestamp.\nThe raw `*Url` fields remain the stable identifiers and do not expire.\nPresigned URLs are regenerated per response and per webhook delivery, so\nvalues differ across retries.", + ), + ] = 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/vapi/types/artifact_plan.py b/src/vapi/types/artifact_plan.py index faae07b5..9c48c68c 100644 --- a/src/vapi/types/artifact_plan.py +++ b/src/vapi/types/artifact_plan.py @@ -16,6 +16,10 @@ class ArtifactPlan(UncheckedBaseModel): + """ + Controls artifacts generated and stored for calls, including recordings, packet captures, logs, transcripts, structured outputs, scorecards, and custom storage paths. + """ + recording_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="recordingEnabled"), @@ -37,7 +41,7 @@ class ArtifactPlan(UncheckedBaseModel): FieldMetadata(alias="recordingUseCustomStorageEnabled"), pydantic.Field( alias="recordingUseCustomStorageEnabled", - description="This determines whether to use custom storage (S3 or GCP) for call recordings when storage credentials are configured.\n\nWhen set to false, recordings will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store recordings on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for recordings when available.\n\n@default true", + description="This determines whether to use custom storage (S3 or GCP) for call recordings when storage credentials are configured.\n\nWhen set to false, recordings will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store recordings on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for recordings when available.\n\nIf your organization has ZDR (zero data retention) or PCI enabled, recordings are never written to Vapi storage. In that case, false means \"do not use my custom storage\", so nothing is stored at all.\n\n@default true", ), ] = None video_recording_enabled: typing_extensions.Annotated[ @@ -77,7 +81,7 @@ class ArtifactPlan(UncheckedBaseModel): FieldMetadata(alias="pcapUseCustomStorageEnabled"), pydantic.Field( alias="pcapUseCustomStorageEnabled", - description="This determines whether to use custom storage (S3 or GCP) for SIP packet captures when storage credentials are configured.\n\nWhen set to false, packet captures will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store packet captures on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for packet captures when available.\n\n@default true", + description="This determines whether to use custom storage (S3 or GCP) for SIP packet captures when storage credentials are configured.\n\nWhen set to false, packet captures will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store packet captures on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for packet captures when available.\n\nIf your organization has ZDR (zero data retention) or PCI enabled, packet captures are never written to Vapi storage. In that case, false means \"do not use my custom storage\", so nothing is stored at all.\n\n@default true", ), ] = None logging_enabled: typing_extensions.Annotated[ @@ -93,7 +97,7 @@ class ArtifactPlan(UncheckedBaseModel): FieldMetadata(alias="loggingUseCustomStorageEnabled"), pydantic.Field( alias="loggingUseCustomStorageEnabled", - description="This determines whether to use custom storage (S3 or GCP) for call logs when storage credentials are configured.\n\nWhen set to false, logs will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store logs on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for logs when available.\n\n@default true", + description="This determines whether to use custom storage (S3 or GCP) for call logs when storage credentials are configured.\n\nWhen set to false, logs will be stored on Vapi's storage instead of your custom storage, even if you have custom storage credentials configured.\n\nUsage:\n- Set to false if you have custom storage configured but want to store logs on Vapi's storage for this assistant.\n- Set to true (or leave unset) to use your custom storage for logs when available.\n\nIf your organization has ZDR (zero data retention) or PCI enabled, logs are never written to Vapi storage. In that case, false means \"do not use my custom storage\", so nothing is stored at all.\n\n@default true", ), ] = None transcript_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/assembly_ai_transcriber.py b/src/vapi/types/assembly_ai_transcriber.py index f105f49e..8cc79960 100644 --- a/src/vapi/types/assembly_ai_transcriber.py +++ b/src/vapi/types/assembly_ai_transcriber.py @@ -13,6 +13,10 @@ class AssemblyAiTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with AssemblyAI, including language, streaming model, endpointing, vocabulary, and fallback settings. + """ + language: typing.Optional[AssemblyAiTranscriberLanguage] = pydantic.Field(default=None) """ This is the language that will be set for the transcription. diff --git a/src/vapi/types/assistant.py b/src/vapi/types/assistant.py index 896bc9af..dfbb95be 100644 --- a/src/vapi/types/assistant.py +++ b/src/vapi/types/assistant.py @@ -34,6 +34,10 @@ class Assistant(UncheckedBaseModel): + """ + A saved assistant configuration returned by the Vapi API. It defines how the assistant listens, reasons, speaks, handles conversations, sends events, and produces artifacts and analysis. + """ + transcriber: typing.Optional[AssistantTranscriber] = pydantic.Field(default=None) """ These are the options for the assistant's transcriber. @@ -60,7 +64,10 @@ class Assistant(UncheckedBaseModel): first_message_interruptions_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="firstMessageInterruptionsEnabled"), - pydantic.Field(alias="firstMessageInterruptionsEnabled"), + pydantic.Field( + alias="firstMessageInterruptionsEnabled", + description="Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`.", + ), ] = None first_message_mode: typing_extensions.Annotated[ typing.Optional[AssistantFirstMessageMode], @@ -144,6 +151,14 @@ class Assistant(UncheckedBaseModel): This is a set of actions that will be performed on certain events. """ + latest_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="latestVersion"), + pydantic.Field( + alias="latestVersion", + description="This is the latest version label (e.g. `v3`) of the assistant in the\nversion history. `null` while the org is not yet\nonboarded to versioning, or for assistants that have not yet been\npublished under it.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the assistant. @@ -176,7 +191,12 @@ class Assistant(UncheckedBaseModel): ), ] = None compliance_plan: typing_extensions.Annotated[ - typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + typing.Optional[CompliancePlan], + FieldMetadata(alias="compliancePlan"), + pydantic.Field( + alias="compliancePlan", + description="Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent.", + ), ] = None metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ @@ -253,7 +273,10 @@ class Assistant(UncheckedBaseModel): keypad_input_plan: typing_extensions.Annotated[ typing.Optional[KeypadInputPlan], FieldMetadata(alias="keypadInputPlan"), - pydantic.Field(alias="keypadInputPlan"), + pydantic.Field( + alias="keypadInputPlan", + description="Configuration for collecting and processing DTMF keypad input during calls.", + ), ] = None id: str = pydantic.Field() """ diff --git a/src/vapi/types/assistant_activation.py b/src/vapi/types/assistant_activation.py index ed28a94f..567386f4 100644 --- a/src/vapi/types/assistant_activation.py +++ b/src/vapi/types/assistant_activation.py @@ -10,6 +10,18 @@ class AssistantActivation(UncheckedBaseModel): + """ + Identifies an assistant that became active during a call. + """ + + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant active when\nthe activation row was recorded. `null` for inline assistants,\norgs not on assistant versioning, and parent assistants that have\nnot yet been published under it.", + ), + ] = None assistant_name: typing_extensions.Annotated[ str, FieldMetadata(alias="assistantName"), diff --git a/src/vapi/types/assistant_credentials_item.py b/src/vapi/types/assistant_credentials_item.py index 97af4b97..b2827a4b 100644 --- a/src/vapi/types/assistant_credentials_item.py +++ b/src/vapi/types/assistant_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class AssistantCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class AssistantCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class AssistantCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class AssistantCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class AssistantCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class AssistantCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class AssistantCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class AssistantCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class AssistantCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class AssistantCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class AssistantCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: AssistantCredentialsItem_RimeAi, AssistantCredentialsItem_Runpod, AssistantCredentialsItem_S3, + AssistantCredentialsItem_S3Compatible, AssistantCredentialsItem_Supabase, AssistantCredentialsItem_SmallestAi, AssistantCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: AssistantCredentialsItem_Webhook, AssistantCredentialsItem_CustomCredential, AssistantCredentialsItem_Xai, + AssistantCredentialsItem_Microsoft, AssistantCredentialsItem_Neuphonic, AssistantCredentialsItem_Hume, AssistantCredentialsItem_Mistral, AssistantCredentialsItem_Speechmatics, AssistantCredentialsItem_Soniox, - AssistantCredentialsItem_Trieve, AssistantCredentialsItem_GoogleCalendarOauth2Client, AssistantCredentialsItem_GoogleCalendarOauth2Authorization, AssistantCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/assistant_custom_endpointing_rule.py b/src/vapi/types/assistant_custom_endpointing_rule.py index 11acb762..9959a210 100644 --- a/src/vapi/types/assistant_custom_endpointing_rule.py +++ b/src/vapi/types/assistant_custom_endpointing_rule.py @@ -11,6 +11,10 @@ class AssistantCustomEndpointingRule(UncheckedBaseModel): + """ + A custom endpointing rule that matches the assistant's last message and applies a configured timeout. + """ + regex: str = pydantic.Field() """ This is the regex pattern to match. diff --git a/src/vapi/types/assistant_draft.py b/src/vapi/types/assistant_draft.py new file mode 100644 index 00000000..94980d92 --- /dev/null +++ b/src/vapi/types/assistant_draft.py @@ -0,0 +1,304 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .analysis_plan import AnalysisPlan +from .artifact_plan import ArtifactPlan +from .assistant_draft_background_sound import AssistantDraftBackgroundSound +from .assistant_draft_client_messages_item import AssistantDraftClientMessagesItem +from .assistant_draft_credentials_item import AssistantDraftCredentialsItem +from .assistant_draft_first_message_mode import AssistantDraftFirstMessageMode +from .assistant_draft_hooks_item import AssistantDraftHooksItem +from .assistant_draft_model import AssistantDraftModel +from .assistant_draft_server_messages_item import AssistantDraftServerMessagesItem +from .assistant_draft_transcriber import AssistantDraftTranscriber +from .assistant_draft_voice import AssistantDraftVoice +from .assistant_draft_voicemail_detection import AssistantDraftVoicemailDetection +from .background_speech_denoising_plan import BackgroundSpeechDenoisingPlan +from .compliance_plan import CompliancePlan +from .keypad_input_plan import KeypadInputPlan +from .langfuse_observability_plan import LangfuseObservabilityPlan +from .monitor_plan import MonitorPlan +from .server import Server +from .start_speaking_plan import StartSpeakingPlan +from .stop_speaking_plan import StopSpeakingPlan +from .transport_configuration_twilio import TransportConfigurationTwilio + + +class AssistantDraft(UncheckedBaseModel): + transcriber: typing.Optional[AssistantDraftTranscriber] = pydantic.Field(default=None) + """ + These are the options for the assistant's transcriber. + """ + + model: typing.Optional[AssistantDraftModel] = pydantic.Field(default=None) + """ + These are the options for the assistant's LLM. + """ + + voice: typing.Optional[AssistantDraftVoice] = pydantic.Field(default=None) + """ + These are the options for the assistant's voice. + """ + + first_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="firstMessage"), + pydantic.Field( + alias="firstMessage", + description="This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).\n\nIf unspecified, assistant will wait for user to speak and use the model to respond once they speak.", + ), + ] = None + first_message_interruptions_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="firstMessageInterruptionsEnabled"), + pydantic.Field(alias="firstMessageInterruptionsEnabled"), + ] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[AssistantDraftFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This is the mode for the first message. Default is 'assistant-speaks-first'.\n\nUse:\n- 'assistant-speaks-first' to have the assistant speak first.\n- 'assistant-waits-for-user' to have the assistant wait for the user to speak first.\n- 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).\n\n@default 'assistant-speaks-first'", + ), + ] = None + voicemail_detection: typing_extensions.Annotated[ + typing.Optional[AssistantDraftVoicemailDetection], + FieldMetadata(alias="voicemailDetection"), + pydantic.Field( + alias="voicemailDetection", + description="These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nBy default, voicemail detection is disabled.", + ), + ] = None + client_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[AssistantDraftClientMessagesItem]], + FieldMetadata(alias="clientMessages"), + pydantic.Field( + alias="clientMessages", + description="These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema.", + ), + ] = None + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[AssistantDraftServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", + description="These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema.", + ), + ] = None + max_duration_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxDurationSeconds"), + pydantic.Field( + alias="maxDurationSeconds", + description="This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.\n\n@default 600 (10 minutes)", + ), + ] = None + background_sound: typing_extensions.Annotated[ + typing.Optional[AssistantDraftBackgroundSound], + FieldMetadata(alias="backgroundSound"), + pydantic.Field( + alias="backgroundSound", + description="This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + ), + ] = None + model_output_in_messages_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="modelOutputInMessagesEnabled"), + pydantic.Field( + alias="modelOutputInMessagesEnabled", + description="This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\n@default false", + ), + ] = None + transport_configurations: typing_extensions.Annotated[ + typing.Optional[typing.List[TransportConfigurationTwilio]], + FieldMetadata(alias="transportConfigurations"), + pydantic.Field( + alias="transportConfigurations", + description="These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.", + ), + ] = None + observability_plan: typing_extensions.Annotated[ + typing.Optional[LangfuseObservabilityPlan], + FieldMetadata(alias="observabilityPlan"), + pydantic.Field( + alias="observabilityPlan", + description="This is the plan for observability of assistant's calls.\n\nCurrently, only Langfuse is supported.", + ), + ] = None + credentials: typing.Optional[typing.List[AssistantDraftCredentialsItem]] = pydantic.Field(default=None) + """ + These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. + """ + + hooks: typing.Optional[typing.List[AssistantDraftHooksItem]] = pydantic.Field(default=None) + """ + This is a set of actions that will be performed on certain events. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the assistant. + + This is required when you want to transfer between assistants in a call. + """ + + voicemail_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="voicemailMessage"), + pydantic.Field( + alias="voicemailMessage", + description="This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", + ), + ] = None + end_call_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="endCallMessage"), + pydantic.Field( + alias="endCallMessage", + description="This is the message that the assistant will say if it ends the call.\n\nIf unspecified, it will hang up without saying anything.", + ), + ] = None + end_call_phrases: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="endCallPhrases"), + pydantic.Field( + alias="endCallPhrases", + description="This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive.", + ), + ] = None + compliance_plan: typing_extensions.Annotated[ + typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + ] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is for metadata you want to store on the assistant. + """ + + background_speech_denoising_plan: typing_extensions.Annotated[ + typing.Optional[BackgroundSpeechDenoisingPlan], + FieldMetadata(alias="backgroundSpeechDenoisingPlan"), + pydantic.Field( + alias="backgroundSpeechDenoisingPlan", + description="This enables filtering of noise and background speech while the user is talking.\n\nFeatures:\n- Smart denoising using Krisp\n- Fourier denoising\n\nSmart denoising can be combined with or used independently of Fourier denoising.\n\nOrder of precedence:\n- Smart denoising\n- Fourier denoising", + ), + ] = None + analysis_plan: typing_extensions.Annotated[ + typing.Optional[AnalysisPlan], + FieldMetadata(alias="analysisPlan"), + pydantic.Field( + alias="analysisPlan", + description="This is the plan for analysis of assistant's calls. Stored in `call.analysis`.", + ), + ] = None + artifact_plan: typing_extensions.Annotated[ + typing.Optional[ArtifactPlan], + FieldMetadata(alias="artifactPlan"), + pydantic.Field( + alias="artifactPlan", + description="This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.", + ), + ] = None + start_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StartSpeakingPlan], + FieldMetadata(alias="startSpeakingPlan"), + pydantic.Field( + alias="startSpeakingPlan", + description="This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", + ), + ] = None + stop_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StopSpeakingPlan], + FieldMetadata(alias="stopSpeakingPlan"), + pydantic.Field( + alias="stopSpeakingPlan", + description="This is the plan for when assistant should stop talking on customer interruption.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to recognize customer's interruption.\n- The assistant is too fast to recognize customer's interruption.\n- The assistant is getting interrupted by phrases that are just acknowledgments.\n- The assistant is getting interrupted by background noises.\n- The assistant is not properly stopping -- it starts talking right after getting interrupted.", + ), + ] = None + monitor_plan: typing_extensions.Annotated[ + typing.Optional[MonitorPlan], + FieldMetadata(alias="monitorPlan"), + pydantic.Field( + alias="monitorPlan", + description="This is the plan for real-time monitoring of the assistant's calls.\n\nUsage:\n- To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.\n- To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.\n- To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.", + ), + ] = None + credential_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="credentialIds"), + pydantic.Field( + alias="credentialIds", + description="These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema. + + The order of precedence is: + + 1. assistant.server.url + 2. phoneNumber.serverUrl + 3. org.serverUrl + """ + + keypad_input_plan: typing_extensions.Annotated[ + typing.Optional[KeypadInputPlan], + FieldMetadata(alias="keypadInputPlan"), + pydantic.Field(alias="keypadInputPlan"), + ] = None + base_version: typing_extensions.Annotated[ + str, + FieldMetadata(alias="baseVersion"), + pydantic.Field(alias="baseVersion", description="Server-resolved baseVersion (always set after POST)."), + ] + id: str = pydantic.Field() + """ + Surrogate key used as `draftId` in URLs. + """ + + org_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId", description="Org this draft belongs to.") + ] + assistant_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="assistantId"), + pydantic.Field( + alias="assistantId", + description="Parent assistant the draft was forked from. FK to assistant.id ON DELETE CASCADE.", + ), + ] + created_by: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="createdBy"), + pydantic.Field( + alias="createdBy", + description="Email when JWT, null when API or external JWT. Set on POST, never rewritten on PATCH.", + ), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + ] + updated_at: typing_extensions.Annotated[ + dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") + ] + + 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 + + +update_forward_refs(AssistantDraft) diff --git a/src/vapi/types/assistant_draft_background_sound.py b/src/vapi/types/assistant_draft_background_sound.py new file mode 100644 index 00000000..96cdde7e --- /dev/null +++ b/src/vapi/types/assistant_draft_background_sound.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .assistant_draft_background_sound_zero import AssistantDraftBackgroundSoundZero + +AssistantDraftBackgroundSound = typing.Union[AssistantDraftBackgroundSoundZero, str] diff --git a/src/vapi/types/assistant_draft_background_sound_zero.py b/src/vapi/types/assistant_draft_background_sound_zero.py new file mode 100644 index 00000000..f5e42ee6 --- /dev/null +++ b/src/vapi/types/assistant_draft_background_sound_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantDraftBackgroundSoundZero = typing.Union[typing.Literal["off", "office"], typing.Any] diff --git a/src/vapi/types/assistant_draft_client_messages_item.py b/src/vapi/types/assistant_draft_client_messages_item.py new file mode 100644 index 00000000..239ca1fc --- /dev/null +++ b/src/vapi/types/assistant_draft_client_messages_item.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantDraftClientMessagesItem = typing.Union[ + typing.Literal[ + "conversation-update", + "assistant.speechStarted", + "function-call", + "function-call-result", + "hang", + "language-changed", + "metadata", + "model-output", + "speech-update", + "status-update", + "transcript", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "voice-input", + "workflow.node.started", + "assistant.started", + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_draft_conflict_response_dto.py b/src/vapi/types/assistant_draft_conflict_response_dto.py new file mode 100644 index 00000000..a9e33ef3 --- /dev/null +++ b/src/vapi/types/assistant_draft_conflict_response_dto.py @@ -0,0 +1,26 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class AssistantDraftConflictResponseDto(UncheckedBaseModel): + existing_draft_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="existingDraftId"), pydantic.Field(alias="existingDraftId") + ] = None + error: str + message: 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/vapi/types/assistant_draft_credentials_item.py b/src/vapi/types/assistant_draft_credentials_item.py new file mode 100644 index 00000000..55e77ab9 --- /dev/null +++ b/src/vapi/types/assistant_draft_credentials_item.py @@ -0,0 +1,1099 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_blob_storage_bucket_plan import AzureBlobStorageBucketPlan +from .bucket_plan import BucketPlan +from .cloudflare_r_2_bucket_plan import CloudflareR2BucketPlan +from .create_anthropic_bedrock_credential_dto_authentication_plan import ( + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, +) +from .create_anthropic_bedrock_credential_dto_region import CreateAnthropicBedrockCredentialDtoRegion +from .create_azure_credential_dto_region import CreateAzureCredentialDtoRegion +from .create_azure_credential_dto_service import CreateAzureCredentialDtoService +from .create_azure_open_ai_credential_dto_models_item import CreateAzureOpenAiCredentialDtoModelsItem +from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion +from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan +from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl +from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan +from .gcp_key import GcpKey +from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan +from .oauth_2_authentication_session import Oauth2AuthenticationSession +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan +from .sip_trunk_gateway import SipTrunkGateway +from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan +from .supabase_bucket_plan import SupabaseBucketPlan + + +class AssistantDraftCredentialsItem_11Labs(UncheckedBaseModel): + provider: typing.Literal["11labs"] = "11labs" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None + name: 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 AssistantDraftCredentialsItem_Anthropic(UncheckedBaseModel): + provider: typing.Literal["anthropic"] = "anthropic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_AnthropicBedrock(UncheckedBaseModel): + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + region: CreateAnthropicBedrockCredentialDtoRegion + authentication_plan: typing_extensions.Annotated[ + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 AssistantDraftCredentialsItem_Anyscale(UncheckedBaseModel): + provider: typing.Literal["anyscale"] = "anyscale" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_AssemblyAi(UncheckedBaseModel): + provider: typing.Literal["assembly-ai"] = "assembly-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_AzureOpenai(UncheckedBaseModel): + provider: typing.Literal["azure-openai"] = "azure-openai" + region: CreateAzureOpenAiCredentialDtoRegion + models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] + open_ai_key: typing_extensions.Annotated[str, FieldMetadata(alias="openAIKey"), pydantic.Field(alias="openAIKey")] + ocp_apim_subscription_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="ocpApimSubscriptionKey"), + pydantic.Field(alias="ocpApimSubscriptionKey"), + ] = None + open_ai_endpoint: typing_extensions.Annotated[ + str, FieldMetadata(alias="openAIEndpoint"), pydantic.Field(alias="openAIEndpoint") + ] + name: 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 AssistantDraftCredentialsItem_Azure(UncheckedBaseModel): + provider: typing.Literal["azure"] = "azure" + service: CreateAzureCredentialDtoService + region: typing.Optional[CreateAzureCredentialDtoRegion] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[AzureBlobStorageBucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field(alias="bucketPlan"), + ] = None + name: 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 AssistantDraftCredentialsItem_ByoSipTrunk(UncheckedBaseModel): + provider: typing.Literal["byo-sip-trunk"] = "byo-sip-trunk" + gateways: typing.List[SipTrunkGateway] + outbound_authentication_plan: typing_extensions.Annotated[ + typing.Optional[SipTrunkOutboundAuthenticationPlan], + FieldMetadata(alias="outboundAuthenticationPlan"), + pydantic.Field(alias="outboundAuthenticationPlan"), + ] = None + outbound_leading_plus_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="outboundLeadingPlusEnabled"), + pydantic.Field(alias="outboundLeadingPlusEnabled"), + ] = None + tech_prefix: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="techPrefix"), pydantic.Field(alias="techPrefix") + ] = None + sip_diversion_header: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") + ] = None + name: 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 AssistantDraftCredentialsItem_Cartesia(UncheckedBaseModel): + provider: typing.Literal["cartesia"] = "cartesia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantDraftCredentialsItem_Cerebras(UncheckedBaseModel): + provider: typing.Literal["cerebras"] = "cerebras" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Cloudflare(UncheckedBaseModel): + provider: typing.Literal["cloudflare"] = "cloudflare" + account_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountId"), pydantic.Field(alias="accountId") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + account_email: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountEmail"), pydantic.Field(alias="accountEmail") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[CloudflareR2BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantDraftCredentialsItem_CustomLlm(UncheckedBaseModel): + provider: typing.Literal["custom-llm"] = "custom-llm" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + authentication_plan: typing_extensions.Annotated[ + typing.Optional[OAuth2AuthenticationPlan], + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] = None + name: 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 AssistantDraftCredentialsItem_Deepgram(UncheckedBaseModel): + provider: typing.Literal["deepgram"] = "deepgram" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantDraftCredentialsItem_Deepinfra(UncheckedBaseModel): + provider: typing.Literal["deepinfra"] = "deepinfra" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_DeepSeek(UncheckedBaseModel): + provider: typing.Literal["deep-seek"] = "deep-seek" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Gcp(UncheckedBaseModel): + provider: typing.Literal["gcp"] = "gcp" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + gcp_key: typing_extensions.Annotated[GcpKey, FieldMetadata(alias="gcpKey"), pydantic.Field(alias="gcpKey")] + region: typing.Optional[str] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantDraftCredentialsItem_Gladia(UncheckedBaseModel): + provider: typing.Literal["gladia"] = "gladia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Gohighlevel(UncheckedBaseModel): + provider: typing.Literal["gohighlevel"] = "gohighlevel" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Google(UncheckedBaseModel): + provider: typing.Literal["google"] = "google" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Groq(UncheckedBaseModel): + provider: typing.Literal["groq"] = "groq" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_InflectionAi(UncheckedBaseModel): + provider: typing.Literal["inflection-ai"] = "inflection-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Langfuse(UncheckedBaseModel): + provider: typing.Literal["langfuse"] = "langfuse" + public_key: typing_extensions.Annotated[str, FieldMetadata(alias="publicKey"), pydantic.Field(alias="publicKey")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[str, FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl")] + name: 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 AssistantDraftCredentialsItem_Lmnt(UncheckedBaseModel): + provider: typing.Literal["lmnt"] = "lmnt" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Make(UncheckedBaseModel): + provider: typing.Literal["make"] = "make" + team_id: typing_extensions.Annotated[str, FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId")] + region: str + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Openai(UncheckedBaseModel): + provider: typing.Literal["openai"] = "openai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Openrouter(UncheckedBaseModel): + provider: typing.Literal["openrouter"] = "openrouter" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_PerplexityAi(UncheckedBaseModel): + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Playht(UncheckedBaseModel): + provider: typing.Literal["playht"] = "playht" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId"), pydantic.Field(alias="userId")] + name: 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 AssistantDraftCredentialsItem_RimeAi(UncheckedBaseModel): + provider: typing.Literal["rime-ai"] = "rime-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Runpod(UncheckedBaseModel): + provider: typing.Literal["runpod"] = "runpod" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_S3(UncheckedBaseModel): + provider: typing.Literal["s3"] = "s3" + aws_access_key_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsAccessKeyId"), pydantic.Field(alias="awsAccessKeyId") + ] + aws_secret_access_key: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsSecretAccessKey"), pydantic.Field(alias="awsSecretAccessKey") + ] + region: str + s_3_bucket_name: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3BucketName"), pydantic.Field(alias="s3BucketName") + ] + s_3_path_prefix: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3PathPrefix"), pydantic.Field(alias="s3PathPrefix") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantDraftCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantDraftCredentialsItem_Supabase(UncheckedBaseModel): + provider: typing.Literal["supabase"] = "supabase" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[SupabaseBucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantDraftCredentialsItem_SmallestAi(UncheckedBaseModel): + provider: typing.Literal["smallest-ai"] = "smallest-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Tavus(UncheckedBaseModel): + provider: typing.Literal["tavus"] = "tavus" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_TogetherAi(UncheckedBaseModel): + provider: typing.Literal["together-ai"] = "together-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Twilio(UncheckedBaseModel): + provider: typing.Literal["twilio"] = "twilio" + auth_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="authToken"), pydantic.Field(alias="authToken") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + api_secret: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret") + ] = None + account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid")] + name: 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 AssistantDraftCredentialsItem_Vonage(UncheckedBaseModel): + provider: typing.Literal["vonage"] = "vonage" + api_secret: typing_extensions.Annotated[str, FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Webhook(UncheckedBaseModel): + provider: typing.Literal["webhook"] = "webhook" + authentication_plan: typing_extensions.Annotated[ + CreateWebhookCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 AssistantDraftCredentialsItem_CustomCredential(UncheckedBaseModel): + provider: typing.Literal["custom-credential"] = "custom-credential" + authentication_plan: typing_extensions.Annotated[ + CreateCustomCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + encryption_plan: typing_extensions.Annotated[ + typing.Optional[CreateCustomCredentialDtoEncryptionPlan], + FieldMetadata(alias="encryptionPlan"), + pydantic.Field(alias="encryptionPlan"), + ] = None + name: 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 AssistantDraftCredentialsItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None + name: 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 AssistantDraftCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantDraftCredentialsItem_GoogleCalendarOauth2Client(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-client"] = "google.calendar.oauth2-client" + name: 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 AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-authorization"] = "google.calendar.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.sheets.oauth2-authorization"] = "google.sheets.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantDraftCredentialsItem_SlackOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["slack.oauth2-authorization"] = "slack.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantDraftCredentialsItem_GhlOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["ghl.oauth2-authorization"] = "ghl.oauth2-authorization" + authentication_session: typing_extensions.Annotated[ + Oauth2AuthenticationSession, + FieldMetadata(alias="authenticationSession"), + pydantic.Field(alias="authenticationSession"), + ] + name: 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 AssistantDraftCredentialsItem_Inworld(UncheckedBaseModel): + provider: typing.Literal["inworld"] = "inworld" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Minimax(UncheckedBaseModel): + provider: typing.Literal["minimax"] = "minimax" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + group_id: typing_extensions.Annotated[str, FieldMetadata(alias="groupId"), pydantic.Field(alias="groupId")] + name: 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 AssistantDraftCredentialsItem_Wellsaid(UncheckedBaseModel): + provider: typing.Literal["wellsaid"] = "wellsaid" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantDraftCredentialsItem_Email(UncheckedBaseModel): + provider: typing.Literal["email"] = "email" + email: str + name: 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 AssistantDraftCredentialsItem_SlackWebhook(UncheckedBaseModel): + provider: typing.Literal["slack-webhook"] = "slack-webhook" + webhook_url: typing_extensions.Annotated[str, FieldMetadata(alias="webhookUrl"), pydantic.Field(alias="webhookUrl")] + name: 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 + + +AssistantDraftCredentialsItem = typing_extensions.Annotated[ + typing.Union[ + AssistantDraftCredentialsItem_11Labs, + AssistantDraftCredentialsItem_Anthropic, + AssistantDraftCredentialsItem_AnthropicBedrock, + AssistantDraftCredentialsItem_Anyscale, + AssistantDraftCredentialsItem_AssemblyAi, + AssistantDraftCredentialsItem_AzureOpenai, + AssistantDraftCredentialsItem_Azure, + AssistantDraftCredentialsItem_ByoSipTrunk, + AssistantDraftCredentialsItem_Cartesia, + AssistantDraftCredentialsItem_Cerebras, + AssistantDraftCredentialsItem_Cloudflare, + AssistantDraftCredentialsItem_CustomLlm, + AssistantDraftCredentialsItem_Deepgram, + AssistantDraftCredentialsItem_Deepinfra, + AssistantDraftCredentialsItem_DeepSeek, + AssistantDraftCredentialsItem_Gcp, + AssistantDraftCredentialsItem_Gladia, + AssistantDraftCredentialsItem_Gohighlevel, + AssistantDraftCredentialsItem_Google, + AssistantDraftCredentialsItem_Groq, + AssistantDraftCredentialsItem_InflectionAi, + AssistantDraftCredentialsItem_Langfuse, + AssistantDraftCredentialsItem_Lmnt, + AssistantDraftCredentialsItem_Make, + AssistantDraftCredentialsItem_Openai, + AssistantDraftCredentialsItem_Openrouter, + AssistantDraftCredentialsItem_PerplexityAi, + AssistantDraftCredentialsItem_Playht, + AssistantDraftCredentialsItem_RimeAi, + AssistantDraftCredentialsItem_Runpod, + AssistantDraftCredentialsItem_S3, + AssistantDraftCredentialsItem_S3Compatible, + AssistantDraftCredentialsItem_Supabase, + AssistantDraftCredentialsItem_SmallestAi, + AssistantDraftCredentialsItem_Tavus, + AssistantDraftCredentialsItem_TogetherAi, + AssistantDraftCredentialsItem_Twilio, + AssistantDraftCredentialsItem_Vonage, + AssistantDraftCredentialsItem_Webhook, + AssistantDraftCredentialsItem_CustomCredential, + AssistantDraftCredentialsItem_Xai, + AssistantDraftCredentialsItem_Microsoft, + AssistantDraftCredentialsItem_Neuphonic, + AssistantDraftCredentialsItem_Hume, + AssistantDraftCredentialsItem_Mistral, + AssistantDraftCredentialsItem_Speechmatics, + AssistantDraftCredentialsItem_Soniox, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Client, + AssistantDraftCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantDraftCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantDraftCredentialsItem_SlackOauth2Authorization, + AssistantDraftCredentialsItem_GhlOauth2Authorization, + AssistantDraftCredentialsItem_Inworld, + AssistantDraftCredentialsItem_Minimax, + AssistantDraftCredentialsItem_Wellsaid, + AssistantDraftCredentialsItem_Email, + AssistantDraftCredentialsItem_SlackWebhook, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_draft_first_message_mode.py b/src/vapi/types/assistant_draft_first_message_mode.py new file mode 100644 index 00000000..416be71e --- /dev/null +++ b/src/vapi/types/assistant_draft_first_message_mode.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantDraftFirstMessageMode = typing.Union[ + typing.Literal[ + "assistant-speaks-first", "assistant-speaks-first-with-model-generated-message", "assistant-waits-for-user" + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_draft_hooks_item.py b/src/vapi/types/assistant_draft_hooks_item.py new file mode 100644 index 00000000..521c167e --- /dev/null +++ b/src/vapi/types/assistant_draft_hooks_item.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted +from .call_hook_call_ending import CallHookCallEnding +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout +from .session_created_hook import SessionCreatedHook + +AssistantDraftHooksItem = typing.Union[ + CallHookCallEnding, + CallHookAssistantSpeechInterrupted, + CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechTimeout, + SessionCreatedHook, +] diff --git a/src/vapi/types/assistant_draft_model.py b/src/vapi/types/assistant_draft_model.py new file mode 100644 index 00000000..5d132357 --- /dev/null +++ b/src/vapi/types/assistant_draft_model.py @@ -0,0 +1,2093 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_model_model import AnthropicModelModel +from .anthropic_thinking_config import AnthropicThinkingConfig +from .cerebras_model_model import CerebrasModelModel +from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto +from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode +from .deep_seek_model_model import DeepSeekModelModel +from .google_model_model import GoogleModelModel +from .google_realtime_config import GoogleRealtimeConfig +from .groq_model_model import GroqModelModel +from .inflection_ai_model_model import InflectionAiModelModel +from .minimax_llm_model_model import MinimaxLlmModelModel +from .open_ai_message import OpenAiMessage +from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem +from .open_ai_model_model import OpenAiModelModel +from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort +from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion +from .xai_model_model import XaiModelModel + + +class AssistantDraftModel_Anthropic(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_AnthropicBedrock(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicBedrockModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicBedrockModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Anyscale(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anyscale"] = "anyscale" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnyscaleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Cerebras(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["cerebras"] = "cerebras" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CerebrasModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: CerebrasModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_CustomLlm(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CustomLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + metadata_send_mode: typing_extensions.Annotated[ + typing.Optional[CustomLlmModelMetadataSendMode], + FieldMetadata(alias="metadataSendMode"), + pydantic.Field(alias="metadataSendMode"), + ] = None + headers: typing.Optional[typing.Dict[str, str]] = None + url: str + word_level_confidence_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="wordLevelConfidenceEnabled"), + pydantic.Field(alias="wordLevelConfidenceEnabled"), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Deepinfra(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deepinfra"] = "deepinfra" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepInfraModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_DeepSeek(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deep-seek"] = "deep-seek" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepSeekModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: DeepSeekModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Google(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GoogleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GoogleModelModel + realtime_config: typing_extensions.Annotated[ + typing.Optional[GoogleRealtimeConfig], + FieldMetadata(alias="realtimeConfig"), + pydantic.Field(alias="realtimeConfig"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Groq(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["groq"] = "groq" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GroqModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GroqModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_InflectionAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["inflection-ai"] = "inflection-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["InflectionAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: InflectionAiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["minimax"] = "minimax" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["MinimaxLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: MinimaxLlmModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: OpenAiModelModel + fallback_models: typing_extensions.Annotated[ + typing.Optional[typing.List[OpenAiModelFallbackModelsItem]], + FieldMetadata(alias="fallbackModels"), + pydantic.Field(alias="fallbackModels"), + ] = None + tool_strict_compatibility_mode: typing_extensions.Annotated[ + typing.Optional[OpenAiModelToolStrictCompatibilityMode], + FieldMetadata(alias="toolStrictCompatibilityMode"), + pydantic.Field(alias="toolStrictCompatibilityMode"), + ] = None + prompt_cache_retention: typing_extensions.Annotated[ + typing.Optional[OpenAiModelPromptCacheRetention], + FieldMetadata(alias="promptCacheRetention"), + pydantic.Field(alias="promptCacheRetention"), + ] = None + prompt_cache_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") + ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Openrouter(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openrouter"] = "openrouter" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenRouterModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_PerplexityAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["PerplexityAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_TogetherAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["together-ai"] = "together-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["TogetherAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["xai"] = "xai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["XaiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: XaiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantDraftModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + +AssistantDraftModel = typing_extensions.Annotated[ + typing.Union[ + AssistantDraftModel_Anthropic, + AssistantDraftModel_AnthropicBedrock, + AssistantDraftModel_Anyscale, + AssistantDraftModel_Cerebras, + AssistantDraftModel_CustomLlm, + AssistantDraftModel_Deepinfra, + AssistantDraftModel_DeepSeek, + AssistantDraftModel_Google, + AssistantDraftModel_Groq, + AssistantDraftModel_InflectionAi, + AssistantDraftModel_Minimax, + AssistantDraftModel_Openai, + AssistantDraftModel_Openrouter, + AssistantDraftModel_PerplexityAi, + AssistantDraftModel_TogetherAi, + AssistantDraftModel_Xai, + AssistantDraftModel_Vapi, + ], + UnionMetadata(discriminant="provider"), +] +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 + +update_forward_refs( + AssistantDraftModel_Anthropic, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_AnthropicBedrock, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Anyscale, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Cerebras, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_CustomLlm, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Deepinfra, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_DeepSeek, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Google, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Groq, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_InflectionAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Minimax, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Openai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Openrouter, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_PerplexityAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_TogetherAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Xai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantDraftModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/assistant_draft_paginated_metadata.py b/src/vapi/types/assistant_draft_paginated_metadata.py new file mode 100644 index 00000000..3d949b8c --- /dev/null +++ b/src/vapi/types/assistant_draft_paginated_metadata.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class AssistantDraftPaginatedMetadata(UncheckedBaseModel): + next_cursor: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="nextCursor"), pydantic.Field(alias="nextCursor") + ] = None + has_next_page: typing_extensions.Annotated[ + bool, FieldMetadata(alias="hasNextPage"), pydantic.Field(alias="hasNextPage") + ] + limit: 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/vapi/types/assistant_draft_paginated_response.py b/src/vapi/types/assistant_draft_paginated_response.py new file mode 100644 index 00000000..599b2d37 --- /dev/null +++ b/src/vapi/types/assistant_draft_paginated_response.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.unchecked_base_model import UncheckedBaseModel +from .assistant_draft import AssistantDraft +from .assistant_draft_paginated_metadata import AssistantDraftPaginatedMetadata + + +class AssistantDraftPaginatedResponse(UncheckedBaseModel): + results: typing.List[AssistantDraft] + metadata: AssistantDraftPaginatedMetadata + + 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 + + +update_forward_refs(AssistantDraftPaginatedResponse) diff --git a/src/vapi/types/assistant_draft_server_messages_item.py b/src/vapi/types/assistant_draft_server_messages_item.py new file mode 100644 index 00000000..c19df89a --- /dev/null +++ b/src/vapi/types/assistant_draft_server_messages_item.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantDraftServerMessagesItem = typing.Union[ + typing.Literal[ + "assistant.started", + "assistant.speechStarted", + "conversation-update", + "end-of-call-report", + "function-call", + "hang", + "language-changed", + "language-change-detected", + "model-output", + "phone-call-control", + "speech-update", + "status-update", + "transcript", + 'transcript[transcriptType="final"]', + "tool-calls", + "transfer-destination-request", + "handoff-destination-request", + "transfer-update", + "user-interrupted", + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted", + "call.deleted", + "call.delete.failed", + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_draft_transcriber.py b/src/vapi/types/assistant_draft_transcriber.py new file mode 100644 index 00000000..1f0063a5 --- /dev/null +++ b/src/vapi/types/assistant_draft_transcriber.py @@ -0,0 +1,604 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .assembly_ai_transcriber_language import AssemblyAiTranscriberLanguage +from .assembly_ai_transcriber_speech_model import AssemblyAiTranscriberSpeechModel +from .azure_speech_transcriber_language import AzureSpeechTranscriberLanguage +from .azure_speech_transcriber_segmentation_strategy import AzureSpeechTranscriberSegmentationStrategy +from .cartesia_transcriber_language import CartesiaTranscriberLanguage +from .cartesia_transcriber_model import CartesiaTranscriberModel +from .deepgram_transcriber_language import DeepgramTranscriberLanguage +from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem +from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage +from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel +from .fallback_transcriber_plan import FallbackTranscriberPlan +from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto +from .gladia_transcriber_language import GladiaTranscriberLanguage +from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem +from .gladia_transcriber_model import GladiaTranscriberModel +from .gladia_transcriber_region import GladiaTranscriberRegion +from .google_transcriber_language import GoogleTranscriberLanguage +from .google_transcriber_model import GoogleTranscriberModel +from .open_ai_transcriber_language import OpenAiTranscriberLanguage +from .open_ai_transcriber_model import OpenAiTranscriberModel +from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem +from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem +from .soniox_transcriber_model import SonioxTranscriberModel +from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem +from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage +from .speechmatics_transcriber_model import SpeechmaticsTranscriberModel +from .speechmatics_transcriber_numeral_style import SpeechmaticsTranscriberNumeralStyle +from .speechmatics_transcriber_operating_point import SpeechmaticsTranscriberOperatingPoint +from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion +from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage +from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel + + +class AssistantDraftTranscriber_AssemblyAi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["assembly-ai"] = "assembly-ai" + language: typing.Optional[AssemblyAiTranscriberLanguage] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + format_turns: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="formatTurns"), pydantic.Field(alias="formatTurns") + ] = None + end_of_turn_confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnConfidenceThreshold"), + pydantic.Field(alias="endOfTurnConfidenceThreshold"), + ] = None + min_end_of_turn_silence_when_confident: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minEndOfTurnSilenceWhenConfident"), + pydantic.Field(alias="minEndOfTurnSilenceWhenConfident"), + ] = None + word_finalization_max_wait_time: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="wordFinalizationMaxWaitTime"), + pydantic.Field(alias="wordFinalizationMaxWaitTime"), + ] = None + max_turn_silence: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTurnSilence"), pydantic.Field(alias="maxTurnSilence") + ] = None + vad_assisted_endpointing_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="vadAssistedEndpointingEnabled"), + pydantic.Field(alias="vadAssistedEndpointingEnabled"), + ] = None + speech_model: typing_extensions.Annotated[ + typing.Optional[AssemblyAiTranscriberSpeechModel], + FieldMetadata(alias="speechModel"), + pydantic.Field(alias="speechModel"), + ] = None + realtime_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="realtimeUrl"), pydantic.Field(alias="realtimeUrl") + ] = None + word_boost: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="wordBoost"), pydantic.Field(alias="wordBoost") + ] = None + keyterms_prompt: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="keytermsPrompt"), pydantic.Field(alias="keytermsPrompt") + ] = None + end_utterance_silence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endUtteranceSilenceThreshold"), + pydantic.Field(alias="endUtteranceSilenceThreshold"), + ] = None + disable_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="disablePartialTranscripts"), + pydantic.Field(alias="disablePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["azure"] = "azure" + language: typing.Optional[AzureSpeechTranscriberLanguage] = None + segmentation_strategy: typing_extensions.Annotated[ + typing.Optional[AzureSpeechTranscriberSegmentationStrategy], + FieldMetadata(alias="segmentationStrategy"), + pydantic.Field(alias="segmentationStrategy"), + ] = None + segmentation_silence_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationSilenceTimeoutMs"), + pydantic.Field(alias="segmentationSilenceTimeoutMs"), + ] = None + segmentation_maximum_time_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationMaximumTimeMs"), + pydantic.Field(alias="segmentationMaximumTimeMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_CustomTranscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["custom-transcriber"] = "custom-transcriber" + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + model: typing.Optional[DeepgramTranscriberModel] = None + language: typing.Optional[DeepgramTranscriberLanguage] = None + smart_format: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="smartFormat"), pydantic.Field(alias="smartFormat") + ] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + numerals: typing.Optional[bool] = None + profanity_filter: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") + ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + eot_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") + ] = None + eot_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") + ] = None + languages: typing.Optional[typing.List[str]] = None + keywords: typing.Optional[typing.List[str]] = None + keyterm: typing.Optional[typing.List[str]] = None + endpointing: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["11labs"] = "11labs" + model: typing.Optional[ElevenLabsTranscriberModel] = None + language: typing.Optional[ElevenLabsTranscriberLanguage] = None + silence_threshold_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="silenceThresholdSeconds"), + pydantic.Field(alias="silenceThresholdSeconds"), + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + min_speech_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="minSpeechDurationMs"), pydantic.Field(alias="minSpeechDurationMs") + ] = None + min_silence_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minSilenceDurationMs"), + pydantic.Field(alias="minSilenceDurationMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Gladia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["gladia"] = "gladia" + model: typing.Optional[GladiaTranscriberModel] = None + language_behaviour: typing_extensions.Annotated[ + typing.Optional[GladiaTranscriberLanguageBehaviour], + FieldMetadata(alias="languageBehaviour"), + pydantic.Field(alias="languageBehaviour"), + ] = None + language: typing.Optional[GladiaTranscriberLanguage] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None + transcription_hint: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") + ] = None + prosody: typing.Optional[bool] = None + audio_enhancer: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="audioEnhancer"), pydantic.Field(alias="audioEnhancer") + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + endpointing: typing.Optional[float] = None + speech_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speechThreshold"), pydantic.Field(alias="speechThreshold") + ] = None + custom_vocabulary_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="customVocabularyEnabled"), + pydantic.Field(alias="customVocabularyEnabled"), + ] = None + custom_vocabulary_config: typing_extensions.Annotated[ + typing.Optional[GladiaCustomVocabularyConfigDto], + FieldMetadata(alias="customVocabularyConfig"), + pydantic.Field(alias="customVocabularyConfig"), + ] = None + region: typing.Optional[GladiaTranscriberRegion] = None + receive_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="receivePartialTranscripts"), + pydantic.Field(alias="receivePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Google(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["google"] = "google" + model: typing.Optional[GoogleTranscriberModel] = None + language: typing.Optional[GoogleTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Speechmatics(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["speechmatics"] = "speechmatics" + model: typing.Optional[SpeechmaticsTranscriberModel] = None + language: typing.Optional[SpeechmaticsTranscriberLanguage] = None + operating_point: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberOperatingPoint], + FieldMetadata(alias="operatingPoint"), + pydantic.Field(alias="operatingPoint"), + ] = None + region: typing.Optional[SpeechmaticsTranscriberRegion] = None + enable_diarization: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableDiarization"), pydantic.Field(alias="enableDiarization") + ] = None + max_delay: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxDelay"), pydantic.Field(alias="maxDelay") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.List[SpeechmaticsCustomVocabularyItem], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] + numeral_style: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberNumeralStyle], + FieldMetadata(alias="numeralStyle"), + pydantic.Field(alias="numeralStyle"), + ] = None + end_of_turn_sensitivity: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnSensitivity"), + pydantic.Field(alias="endOfTurnSensitivity"), + ] = None + remove_disfluencies: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="removeDisfluencies"), pydantic.Field(alias="removeDisfluencies") + ] = None + minimum_speech_duration: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minimumSpeechDuration"), + pydantic.Field(alias="minimumSpeechDuration"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Talkscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["talkscriber"] = "talkscriber" + model: typing.Optional[TalkscriberTranscriberModel] = None + language: typing.Optional[TalkscriberTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["openai"] = "openai" + model: OpenAiTranscriberModel + language: typing.Optional[OpenAiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + model: typing.Optional[CartesiaTranscriberModel] = None + language: typing.Optional[CartesiaTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Soniox(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["soniox"] = "soniox" + model: typing.Optional[SonioxTranscriberModel] = None + language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None + language_hints_strict: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") + ] = None + max_endpoint_delay_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxEndpointDelayMs"), pydantic.Field(alias="maxEndpointDelayMs") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantDraftTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + +AssistantDraftTranscriber = typing_extensions.Annotated[ + typing.Union[ + AssistantDraftTranscriber_AssemblyAi, + AssistantDraftTranscriber_Azure, + AssistantDraftTranscriber_CustomTranscriber, + AssistantDraftTranscriber_Deepgram, + AssistantDraftTranscriber_11Labs, + AssistantDraftTranscriber_Gladia, + AssistantDraftTranscriber_Google, + AssistantDraftTranscriber_Speechmatics, + AssistantDraftTranscriber_Talkscriber, + AssistantDraftTranscriber_Openai, + AssistantDraftTranscriber_Cartesia, + AssistantDraftTranscriber_Soniox, + AssistantDraftTranscriber_Xai, + AssistantDraftTranscriber_Vapi, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_draft_voice.py b/src/vapi/types/assistant_draft_voice.py new file mode 100644 index 00000000..e0eb71ce --- /dev/null +++ b/src/vapi/types/assistant_draft_voice.py @@ -0,0 +1,814 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_voice_id import AzureVoiceId +from .cartesia_experimental_controls import CartesiaExperimentalControls +from .cartesia_generation_config import CartesiaGenerationConfig +from .cartesia_voice_language import CartesiaVoiceLanguage +from .cartesia_voice_model import CartesiaVoiceModel +from .chunk_plan import ChunkPlan +from .deepgram_voice_id import DeepgramVoiceId +from .deepgram_voice_model import DeepgramVoiceModel +from .eleven_labs_pronunciation_dictionary_locator import ElevenLabsPronunciationDictionaryLocator +from .eleven_labs_voice_id import ElevenLabsVoiceId +from .eleven_labs_voice_model import ElevenLabsVoiceModel +from .fallback_plan import FallbackPlan +from .hume_voice_model import HumeVoiceModel +from .inworld_voice_language_code import InworldVoiceLanguageCode +from .inworld_voice_model import InworldVoiceModel +from .inworld_voice_voice_id import InworldVoiceVoiceId +from .lmnt_voice_id import LmntVoiceId +from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId +from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost +from .minimax_voice_model import MinimaxVoiceModel +from .minimax_voice_region import MinimaxVoiceRegion +from .minimax_voice_subtitle_type import MinimaxVoiceSubtitleType +from .neuphonic_voice_model import NeuphonicVoiceModel +from .open_ai_voice_id import OpenAiVoiceId +from .open_ai_voice_model import OpenAiVoiceModel +from .play_ht_voice_emotion import PlayHtVoiceEmotion +from .play_ht_voice_id import PlayHtVoiceId +from .play_ht_voice_language import PlayHtVoiceLanguage +from .play_ht_voice_model import PlayHtVoiceModel +from .rime_ai_voice_id import RimeAiVoiceId +from .rime_ai_voice_language import RimeAiVoiceLanguage +from .rime_ai_voice_model import RimeAiVoiceModel +from .server import Server +from .sesame_voice_model import SesameVoiceModel +from .smallest_ai_voice_id import SmallestAiVoiceId +from .smallest_ai_voice_model import SmallestAiVoiceModel +from .tavus_conversation_properties import TavusConversationProperties +from .tavus_voice_voice_id import TavusVoiceVoiceId +from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion +from .vapi_voice_voice_id import VapiVoiceVoiceId +from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId + + +class AssistantDraftVoice_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["azure"] = "azure" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[AzureVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[CartesiaVoiceModel] = None + language: typing.Optional[CartesiaVoiceLanguage] = None + experimental_controls: typing_extensions.Annotated[ + typing.Optional[CartesiaExperimentalControls], + FieldMetadata(alias="experimentalControls"), + pydantic.Field(alias="experimentalControls"), + ] = None + generation_config: typing_extensions.Annotated[ + typing.Optional[CartesiaGenerationConfig], + FieldMetadata(alias="generationConfig"), + pydantic.Field(alias="generationConfig"), + ] = None + pronunciation_dict_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="pronunciationDictId"), pydantic.Field(alias="pronunciationDictId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_CustomVoice(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["custom-voice"] = "custom-voice" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + DeepgramVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[DeepgramVoiceModel] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["11labs"] = "11labs" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + ElevenLabsVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + stability: typing.Optional[float] = None + similarity_boost: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="similarityBoost"), pydantic.Field(alias="similarityBoost") + ] = None + style: typing.Optional[float] = None + use_speaker_boost: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="useSpeakerBoost"), pydantic.Field(alias="useSpeakerBoost") + ] = None + speed: typing.Optional[float] = None + optimize_streaming_latency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="optimizeStreamingLatency"), + pydantic.Field(alias="optimizeStreamingLatency"), + ] = None + enable_ssml_parsing: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsmlParsing"), pydantic.Field(alias="enableSsmlParsing") + ] = None + auto_mode: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="autoMode"), pydantic.Field(alias="autoMode") + ] = None + model: typing.Optional[ElevenLabsVoiceModel] = None + language: typing.Optional[str] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + pronunciation_dictionary_locators: typing_extensions.Annotated[ + typing.Optional[typing.List[ElevenLabsPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionaryLocators"), + pydantic.Field(alias="pronunciationDictionaryLocators"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Hume(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["hume"] = "hume" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + model: typing.Optional[HumeVoiceModel] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + is_custom_hume_voice: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="isCustomHumeVoice"), pydantic.Field(alias="isCustomHumeVoice") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + description: typing.Optional[str] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Lmnt(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["lmnt"] = "lmnt" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[LmntVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + speed: typing.Optional[float] = None + language: typing.Optional[LmntVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Neuphonic(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["neuphonic"] = "neuphonic" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[NeuphonicVoiceModel] = None + language: typing.Dict[str, typing.Any] + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["openai"] = "openai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + OpenAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[OpenAiVoiceModel] = None + instructions: typing.Optional[str] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Playht(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["playht"] = "playht" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + PlayHtVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + speed: typing.Optional[float] = None + temperature: typing.Optional[float] = None + emotion: typing.Optional[PlayHtVoiceEmotion] = None + voice_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="voiceGuidance"), pydantic.Field(alias="voiceGuidance") + ] = None + style_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleGuidance"), pydantic.Field(alias="styleGuidance") + ] = None + text_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="textGuidance"), pydantic.Field(alias="textGuidance") + ] = None + model: typing.Optional[PlayHtVoiceModel] = None + language: typing.Optional[PlayHtVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Wellsaid(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["wellsaid"] = "wellsaid" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[WellSaidVoiceModel] = None + enable_ssml: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsml"), pydantic.Field(alias="enableSsml") + ] = None + library_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="libraryIds"), pydantic.Field(alias="libraryIds") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_RimeAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["rime-ai"] = "rime-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + RimeAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[RimeAiVoiceModel] = None + speed: typing.Optional[float] = None + pause_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="pauseBetweenBrackets"), pydantic.Field(alias="pauseBetweenBrackets") + ] = None + phonemize_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="phonemizeBetweenBrackets"), + pydantic.Field(alias="phonemizeBetweenBrackets"), + ] = None + reduce_latency: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="reduceLatency"), pydantic.Field(alias="reduceLatency") + ] = None + inline_speed_alpha: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="inlineSpeedAlpha"), pydantic.Field(alias="inlineSpeedAlpha") + ] = None + language: typing.Optional[RimeAiVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_SmallestAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["smallest-ai"] = "smallest-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + SmallestAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[SmallestAiVoiceModel] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Tavus(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["tavus"] = "tavus" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + TavusVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + persona_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="personaId"), pydantic.Field(alias="personaId") + ] = None + callback_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callbackUrl"), pydantic.Field(alias="callbackUrl") + ] = None + conversation_name: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationName"), pydantic.Field(alias="conversationName") + ] = None + conversational_context: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="conversationalContext"), + pydantic.Field(alias="conversationalContext"), + ] = None + custom_greeting: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="customGreeting"), pydantic.Field(alias="customGreeting") + ] = None + properties: typing.Optional[TavusConversationProperties] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["vapi"] = "vapi" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + version: typing.Optional[VapiVoiceVersion] = None + speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None + pronunciation_dictionary: typing_extensions.Annotated[ + typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionary"), + pydantic.Field(alias="pronunciationDictionary"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 AssistantDraftVoice_Sesame(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["sesame"] = "sesame" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: SesameVoiceModel + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Inworld(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["inworld"] = "inworld" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + InworldVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[InworldVoiceModel] = None + language_code: typing_extensions.Annotated[ + typing.Optional[InworldVoiceLanguageCode], + FieldMetadata(alias="languageCode"), + pydantic.Field(alias="languageCode"), + ] = None + temperature: typing.Optional[float] = None + speaking_rate: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speakingRate"), pydantic.Field(alias="speakingRate") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["minimax"] = "minimax" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[MinimaxVoiceModel] = None + emotion: typing.Optional[str] = None + subtitle_type: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceSubtitleType], + FieldMetadata(alias="subtitleType"), + pydantic.Field(alias="subtitleType"), + ] = None + pitch: typing.Optional[float] = None + speed: typing.Optional[float] = None + volume: typing.Optional[float] = None + region: typing.Optional[MinimaxVoiceRegion] = None + language_boost: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceLanguageBoost], + FieldMetadata(alias="languageBoost"), + pydantic.Field(alias="languageBoost"), + ] = None + text_normalization_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="textNormalizationEnabled"), + pydantic.Field(alias="textNormalizationEnabled"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantDraftVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + +AssistantDraftVoice = typing_extensions.Annotated[ + typing.Union[ + AssistantDraftVoice_Azure, + AssistantDraftVoice_Cartesia, + AssistantDraftVoice_CustomVoice, + AssistantDraftVoice_Deepgram, + AssistantDraftVoice_11Labs, + AssistantDraftVoice_Hume, + AssistantDraftVoice_Lmnt, + AssistantDraftVoice_Neuphonic, + AssistantDraftVoice_Openai, + AssistantDraftVoice_Playht, + AssistantDraftVoice_Wellsaid, + AssistantDraftVoice_RimeAi, + AssistantDraftVoice_SmallestAi, + AssistantDraftVoice_Tavus, + AssistantDraftVoice_Vapi, + AssistantDraftVoice_Sesame, + AssistantDraftVoice_Inworld, + AssistantDraftVoice_Minimax, + AssistantDraftVoice_Xai, + AssistantDraftVoice_Microsoft, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_draft_voicemail_detection.py b/src/vapi/types/assistant_draft_voicemail_detection.py new file mode 100644 index 00000000..40eb6550 --- /dev/null +++ b/src/vapi/types/assistant_draft_voicemail_detection.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .assistant_draft_voicemail_detection_zero import AssistantDraftVoicemailDetectionZero +from .google_voicemail_detection_plan import GoogleVoicemailDetectionPlan +from .open_ai_voicemail_detection_plan import OpenAiVoicemailDetectionPlan +from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan +from .vapi_voicemail_detection_plan import VapiVoicemailDetectionPlan + +AssistantDraftVoicemailDetection = typing.Union[ + AssistantDraftVoicemailDetectionZero, + GoogleVoicemailDetectionPlan, + OpenAiVoicemailDetectionPlan, + TwilioVoicemailDetectionPlan, + VapiVoicemailDetectionPlan, +] diff --git a/src/vapi/types/assistant_draft_voicemail_detection_zero.py b/src/vapi/types/assistant_draft_voicemail_detection_zero.py new file mode 100644 index 00000000..3cf1c1ca --- /dev/null +++ b/src/vapi/types/assistant_draft_voicemail_detection_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantDraftVoicemailDetectionZero = typing.Union[typing.Literal["off"], typing.Any] diff --git a/src/vapi/types/assistant_message.py b/src/vapi/types/assistant_message.py index d1e29293..4f333363 100644 --- a/src/vapi/types/assistant_message.py +++ b/src/vapi/types/assistant_message.py @@ -10,6 +10,10 @@ class AssistantMessage(UncheckedBaseModel): + """ + An assistant-authored message, including content, refusal text, tool calls, participant name, and metadata. + """ + role: AssistantMessageRole = pydantic.Field() """ This is the role of the message author diff --git a/src/vapi/types/assistant_message_evaluation_continue_plan.py b/src/vapi/types/assistant_message_evaluation_continue_plan.py index 722a3359..9ecaeebe 100644 --- a/src/vapi/types/assistant_message_evaluation_continue_plan.py +++ b/src/vapi/types/assistant_message_evaluation_continue_plan.py @@ -11,6 +11,10 @@ class AssistantMessageEvaluationContinuePlan(UncheckedBaseModel): + """ + Controls how an evaluation proceeds after judging an assistant message, including failure handling and optional message overrides. + """ + exit_on_failure_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="exitOnFailureEnabled"), diff --git a/src/vapi/types/assistant_message_judge_plan_ai.py b/src/vapi/types/assistant_message_judge_plan_ai.py index 0d5bdb8a..d0265fd3 100644 --- a/src/vapi/types/assistant_message_judge_plan_ai.py +++ b/src/vapi/types/assistant_message_judge_plan_ai.py @@ -12,6 +12,10 @@ class AssistantMessageJudgePlanAi(UncheckedBaseModel): + """ + Evaluates an assistant message with an LLM judge and a configured evaluation model. + """ + model: AssistantMessageJudgePlanAiModel = pydantic.Field() """ This is the model to use for the LLM-as-a-judge. diff --git a/src/vapi/types/assistant_message_judge_plan_exact.py b/src/vapi/types/assistant_message_judge_plan_exact.py index 74fd1e17..9ebe315c 100644 --- a/src/vapi/types/assistant_message_judge_plan_exact.py +++ b/src/vapi/types/assistant_message_judge_plan_exact.py @@ -11,6 +11,10 @@ class AssistantMessageJudgePlanExact(UncheckedBaseModel): + """ + Evaluates an assistant message using case-insensitive exact content matching and expected tool calls. + """ + content: str = pydantic.Field() """ This is what that will be used to evaluate the model's message content. diff --git a/src/vapi/types/assistant_message_judge_plan_regex.py b/src/vapi/types/assistant_message_judge_plan_regex.py index ac23243a..9f6b48ce 100644 --- a/src/vapi/types/assistant_message_judge_plan_regex.py +++ b/src/vapi/types/assistant_message_judge_plan_regex.py @@ -11,6 +11,10 @@ class AssistantMessageJudgePlanRegex(UncheckedBaseModel): + """ + Evaluates assistant-message content and tool-call arguments using regular-expression patterns. + """ + content: str = pydantic.Field() """ This is what that will be used to evaluate the model's message content. diff --git a/src/vapi/types/assistant_model.py b/src/vapi/types/assistant_model.py index 537c460e..f875577c 100644 --- a/src/vapi/types/assistant_model.py +++ b/src/vapi/types/assistant_model.py @@ -25,7 +25,10 @@ from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from .open_ai_model_model import OpenAiModelModel from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion from .xai_model_model import XaiModelModel @@ -40,6 +43,9 @@ class AssistantModel_Anthropic(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -81,6 +87,9 @@ class AssistantModel_AnthropicBedrock(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -122,6 +131,9 @@ class AssistantModel_Anyscale(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -162,6 +174,9 @@ class AssistantModel_Cerebras(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -202,6 +217,9 @@ class AssistantModel_CustomLlm(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -257,6 +275,9 @@ class AssistantModel_Deepinfra(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -297,6 +318,9 @@ class AssistantModel_DeepSeek(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -337,6 +361,9 @@ class AssistantModel_Google(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -382,6 +409,9 @@ class AssistantModel_Groq(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -422,6 +452,9 @@ class AssistantModel_InflectionAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -462,6 +495,9 @@ class AssistantModel_Minimax(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -502,6 +538,9 @@ class AssistantModel_Openai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -526,6 +565,11 @@ class AssistantModel_Openai(UncheckedBaseModel): prompt_cache_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") @@ -560,6 +604,9 @@ class AssistantModel_Openrouter(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -600,6 +647,9 @@ class AssistantModel_PerplexityAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -640,6 +690,9 @@ class AssistantModel_TogetherAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -680,6 +733,9 @@ class AssistantModel_Xai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -709,6 +765,51 @@ class Config: extra = pydantic.Extra.allow +class AssistantModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + AssistantModel = typing_extensions.Annotated[ typing.Union[ AssistantModel_Anthropic, @@ -727,6 +828,7 @@ class Config: AssistantModel_PerplexityAi, AssistantModel_TogetherAi, AssistantModel_Xai, + AssistantModel_Vapi, ], UnionMetadata(discriminant="provider"), ] @@ -747,8 +849,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -784,6 +890,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .anthropic_model import AnthropicModel # noqa: E402, I001 @@ -807,8 +920,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -844,6 +961,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -866,8 +990,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -903,6 +1031,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -925,8 +1060,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -962,6 +1101,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -985,7 +1131,11 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1021,6 +1171,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1044,8 +1201,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1080,6 +1241,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1103,8 +1271,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1139,6 +1311,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1162,8 +1341,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1198,6 +1381,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1221,8 +1411,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1257,6 +1451,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1280,8 +1481,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1316,6 +1521,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1339,8 +1551,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1375,6 +1591,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1398,8 +1621,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1434,6 +1661,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1457,8 +1691,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1493,6 +1731,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1516,8 +1761,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1552,6 +1801,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1575,8 +1831,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1611,6 +1871,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1634,8 +1901,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1670,6 +1941,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1693,8 +1971,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1730,5 +2012,82 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/assistant_overrides.py b/src/vapi/types/assistant_overrides.py index f575189f..93aaa31f 100644 --- a/src/vapi/types/assistant_overrides.py +++ b/src/vapi/types/assistant_overrides.py @@ -31,6 +31,10 @@ class AssistantOverrides(UncheckedBaseModel): + """ + Per-call or handoff overrides for an assistant's providers, messages, tools, credentials, call behavior, and server configuration. + """ + transcriber: typing.Optional[AssistantOverridesTranscriber] = pydantic.Field(default=None) """ These are the options for the assistant's transcriber. @@ -57,7 +61,10 @@ class AssistantOverrides(UncheckedBaseModel): first_message_interruptions_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="firstMessageInterruptionsEnabled"), - pydantic.Field(alias="firstMessageInterruptionsEnabled"), + pydantic.Field( + alias="firstMessageInterruptionsEnabled", + description="Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`.", + ), ] = None first_message_mode: typing_extensions.Annotated[ typing.Optional[AssistantOverridesFirstMessageMode], @@ -144,7 +151,9 @@ class AssistantOverrides(UncheckedBaseModel): tools_append: typing_extensions.Annotated[ typing.Optional[typing.List["AssistantOverridesToolsAppendItem"]], FieldMetadata(alias="tools:append"), - pydantic.Field(alias="tools:append"), + pydantic.Field( + alias="tools:append", description="Tools to append to the assistant's existing tool configuration." + ), ] = None variable_values: typing_extensions.Annotated[ typing.Optional[typing.Dict[str, typing.Any]], @@ -186,7 +195,12 @@ class AssistantOverrides(UncheckedBaseModel): ), ] = None compliance_plan: typing_extensions.Annotated[ - typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + typing.Optional[CompliancePlan], + FieldMetadata(alias="compliancePlan"), + pydantic.Field( + alias="compliancePlan", + description="Compliance settings to apply, including HIPAA and PCI behavior, security filtering, and recording consent.", + ), ] = None metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ @@ -263,7 +277,9 @@ class AssistantOverrides(UncheckedBaseModel): keypad_input_plan: typing_extensions.Annotated[ typing.Optional[KeypadInputPlan], FieldMetadata(alias="keypadInputPlan"), - pydantic.Field(alias="keypadInputPlan"), + pydantic.Field( + alias="keypadInputPlan", description="Configuration for collecting and processing DTMF keypad input." + ), ] = None if IS_PYDANTIC_V2: @@ -293,8 +309,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -330,6 +350,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -352,8 +379,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -389,6 +420,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/assistant_overrides_credentials_item.py b/src/vapi/types/assistant_overrides_credentials_item.py index c868b438..228ac770 100644 --- a/src/vapi/types/assistant_overrides_credentials_item.py +++ b/src/vapi/types/assistant_overrides_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class AssistantOverridesCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class AssistantOverridesCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class AssistantOverridesCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class AssistantOverridesCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantOverridesCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class AssistantOverridesCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class AssistantOverridesCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class AssistantOverridesCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class AssistantOverridesCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class AssistantOverridesCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class AssistantOverridesCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class AssistantOverridesCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: AssistantOverridesCredentialsItem_RimeAi, AssistantOverridesCredentialsItem_Runpod, AssistantOverridesCredentialsItem_S3, + AssistantOverridesCredentialsItem_S3Compatible, AssistantOverridesCredentialsItem_Supabase, AssistantOverridesCredentialsItem_SmallestAi, AssistantOverridesCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: AssistantOverridesCredentialsItem_Webhook, AssistantOverridesCredentialsItem_CustomCredential, AssistantOverridesCredentialsItem_Xai, + AssistantOverridesCredentialsItem_Microsoft, AssistantOverridesCredentialsItem_Neuphonic, AssistantOverridesCredentialsItem_Hume, AssistantOverridesCredentialsItem_Mistral, AssistantOverridesCredentialsItem_Speechmatics, AssistantOverridesCredentialsItem_Soniox, - AssistantOverridesCredentialsItem_Trieve, AssistantOverridesCredentialsItem_GoogleCalendarOauth2Client, AssistantOverridesCredentialsItem_GoogleCalendarOauth2Authorization, AssistantOverridesCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/assistant_overrides_model.py b/src/vapi/types/assistant_overrides_model.py index c1079428..346c6ff5 100644 --- a/src/vapi/types/assistant_overrides_model.py +++ b/src/vapi/types/assistant_overrides_model.py @@ -25,7 +25,10 @@ from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from .open_ai_model_model import OpenAiModelModel from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion from .xai_model_model import XaiModelModel @@ -40,6 +43,9 @@ class AssistantOverridesModel_Anthropic(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -81,6 +87,9 @@ class AssistantOverridesModel_AnthropicBedrock(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -122,6 +131,9 @@ class AssistantOverridesModel_Anyscale(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -162,6 +174,9 @@ class AssistantOverridesModel_Cerebras(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -202,6 +217,9 @@ class AssistantOverridesModel_CustomLlm(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -257,6 +275,9 @@ class AssistantOverridesModel_Deepinfra(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -297,6 +318,9 @@ class AssistantOverridesModel_DeepSeek(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -337,6 +361,9 @@ class AssistantOverridesModel_Google(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -382,6 +409,9 @@ class AssistantOverridesModel_Groq(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -422,6 +452,9 @@ class AssistantOverridesModel_InflectionAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -462,6 +495,9 @@ class AssistantOverridesModel_Minimax(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -502,6 +538,9 @@ class AssistantOverridesModel_Openai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -526,6 +565,11 @@ class AssistantOverridesModel_Openai(UncheckedBaseModel): prompt_cache_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") @@ -560,6 +604,9 @@ class AssistantOverridesModel_Openrouter(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -600,6 +647,9 @@ class AssistantOverridesModel_PerplexityAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -640,6 +690,9 @@ class AssistantOverridesModel_TogetherAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -680,6 +733,9 @@ class AssistantOverridesModel_Xai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -709,6 +765,51 @@ class Config: extra = pydantic.Extra.allow +class AssistantOverridesModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + AssistantOverridesModel = typing_extensions.Annotated[ typing.Union[ AssistantOverridesModel_Anthropic, @@ -727,6 +828,7 @@ class Config: AssistantOverridesModel_PerplexityAi, AssistantOverridesModel_TogetherAi, AssistantOverridesModel_Xai, + AssistantOverridesModel_Vapi, ], UnionMetadata(discriminant="provider"), ] @@ -746,8 +848,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -783,6 +889,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .anthropic_model import AnthropicModel # noqa: E402, I001 @@ -806,8 +919,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -843,6 +960,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -865,8 +989,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -902,6 +1030,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -924,8 +1059,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -961,6 +1100,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -984,7 +1130,11 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1020,6 +1170,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1043,8 +1200,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1079,6 +1240,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1102,8 +1270,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1138,6 +1310,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1161,8 +1340,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1197,6 +1380,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1220,8 +1410,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1256,6 +1450,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1279,8 +1480,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1315,6 +1520,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1338,8 +1550,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1374,6 +1590,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1397,8 +1620,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1433,6 +1660,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1456,8 +1690,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1492,6 +1730,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1515,8 +1760,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1551,6 +1800,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1574,8 +1830,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1610,6 +1870,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1633,8 +1900,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1669,6 +1940,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1692,8 +1970,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1729,5 +2011,82 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantOverridesModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/assistant_overrides_tools_append_item.py b/src/vapi/types/assistant_overrides_tools_append_item.py index bfd9b792..a94c1142 100644 --- a/src/vapi/types/assistant_overrides_tools_append_item.py +++ b/src/vapi/types/assistant_overrides_tools_append_item.py @@ -67,6 +67,7 @@ class AssistantOverridesToolsAppendItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class AssistantOverridesToolsAppendItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -609,8 +609,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/assistant_overrides_transcriber.py b/src/vapi/types/assistant_overrides_transcriber.py index 5cfe10c4..a71972ae 100644 --- a/src/vapi/types/assistant_overrides_transcriber.py +++ b/src/vapi/types/assistant_overrides_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class AssistantOverridesTranscriber_AssemblyAi(UncheckedBaseModel): @@ -198,18 +207,17 @@ class AssistantOverridesTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -282,7 +290,7 @@ class AssistantOverridesTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -492,6 +500,7 @@ class AssistantOverridesTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -503,6 +512,11 @@ class AssistantOverridesTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -519,6 +533,56 @@ class Config: extra = pydantic.Extra.allow +class AssistantOverridesTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantOverridesTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + AssistantOverridesTranscriber = typing_extensions.Annotated[ typing.Union[ AssistantOverridesTranscriber_AssemblyAi, @@ -533,6 +597,8 @@ class Config: AssistantOverridesTranscriber_Openai, AssistantOverridesTranscriber_Cartesia, AssistantOverridesTranscriber_Soniox, + AssistantOverridesTranscriber_Xai, + AssistantOverridesTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/assistant_overrides_voice.py b/src/vapi/types/assistant_overrides_voice.py index e21f113b..7be8dbb8 100644 --- a/src/vapi/types/assistant_overrides_voice.py +++ b/src/vapi/types/assistant_overrides_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class AssistantOverridesVoice_Azure(UncheckedBaseModel): @@ -577,7 +584,9 @@ class AssistantOverridesVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -586,9 +595,6 @@ class AssistantOverridesVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -715,6 +721,72 @@ class Config: extra = pydantic.Extra.allow +class AssistantOverridesVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantOverridesVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + AssistantOverridesVoice = typing_extensions.Annotated[ typing.Union[ AssistantOverridesVoice_Azure, @@ -735,6 +807,8 @@ class Config: AssistantOverridesVoice_Sesame, AssistantOverridesVoice_Inworld, AssistantOverridesVoice_Minimax, + AssistantOverridesVoice_Xai, + AssistantOverridesVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/assistant_pinned_conflict_response_dto.py b/src/vapi/types/assistant_pinned_conflict_response_dto.py new file mode 100644 index 00000000..5585a63f --- /dev/null +++ b/src/vapi/types/assistant_pinned_conflict_response_dto.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 +from .assistant_pinned_conflict_response_dto_error import AssistantPinnedConflictResponseDtoError + + +class AssistantPinnedConflictResponseDto(UncheckedBaseModel): + error: AssistantPinnedConflictResponseDtoError + message: str = pydantic.Field() + """ + Human-readable reason the parent-assistant delete was rejected. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/assistant_pinned_conflict_response_dto_error.py b/src/vapi/types/assistant_pinned_conflict_response_dto_error.py new file mode 100644 index 00000000..6737e7bd --- /dev/null +++ b/src/vapi/types/assistant_pinned_conflict_response_dto_error.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantPinnedConflictResponseDtoError = typing.Union[typing.Literal["assistant_pinned"], typing.Any] diff --git a/src/vapi/types/assistant_transcriber.py b/src/vapi/types/assistant_transcriber.py index 41247666..c71b227b 100644 --- a/src/vapi/types/assistant_transcriber.py +++ b/src/vapi/types/assistant_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class AssistantTranscriber_AssemblyAi(UncheckedBaseModel): @@ -198,18 +207,17 @@ class AssistantTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -282,7 +290,7 @@ class AssistantTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -492,6 +500,7 @@ class AssistantTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -503,6 +512,11 @@ class AssistantTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -519,6 +533,56 @@ class Config: extra = pydantic.Extra.allow +class AssistantTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + AssistantTranscriber = typing_extensions.Annotated[ typing.Union[ AssistantTranscriber_AssemblyAi, @@ -533,6 +597,8 @@ class Config: AssistantTranscriber_Openai, AssistantTranscriber_Cartesia, AssistantTranscriber_Soniox, + AssistantTranscriber_Xai, + AssistantTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/assistant_version.py b/src/vapi/types/assistant_version.py new file mode 100644 index 00000000..03cf387a --- /dev/null +++ b/src/vapi/types/assistant_version.py @@ -0,0 +1,342 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .analysis_plan import AnalysisPlan +from .artifact_plan import ArtifactPlan +from .assistant_version_background_sound import AssistantVersionBackgroundSound +from .assistant_version_client_messages_item import AssistantVersionClientMessagesItem +from .assistant_version_credentials_item import AssistantVersionCredentialsItem +from .assistant_version_first_message_mode import AssistantVersionFirstMessageMode +from .assistant_version_hooks_item import AssistantVersionHooksItem +from .assistant_version_model import AssistantVersionModel +from .assistant_version_server_messages_item import AssistantVersionServerMessagesItem +from .assistant_version_transcriber import AssistantVersionTranscriber +from .assistant_version_voice import AssistantVersionVoice +from .assistant_version_voicemail_detection import AssistantVersionVoicemailDetection +from .background_speech_denoising_plan import BackgroundSpeechDenoisingPlan +from .compliance_plan import CompliancePlan +from .keypad_input_plan import KeypadInputPlan +from .langfuse_observability_plan import LangfuseObservabilityPlan +from .monitor_plan import MonitorPlan +from .server import Server +from .start_speaking_plan import StartSpeakingPlan +from .stop_speaking_plan import StopSpeakingPlan +from .transport_configuration_twilio import TransportConfigurationTwilio + + +class AssistantVersion(UncheckedBaseModel): + transcriber: typing.Optional[AssistantVersionTranscriber] = pydantic.Field(default=None) + """ + These are the options for the assistant's transcriber. + """ + + model: typing.Optional[AssistantVersionModel] = pydantic.Field(default=None) + """ + These are the options for the assistant's LLM. + """ + + voice: typing.Optional[AssistantVersionVoice] = pydantic.Field(default=None) + """ + These are the options for the assistant's voice. + """ + + first_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="firstMessage"), + pydantic.Field( + alias="firstMessage", + description="This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).\n\nIf unspecified, assistant will wait for user to speak and use the model to respond once they speak.", + ), + ] = None + first_message_interruptions_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="firstMessageInterruptionsEnabled"), + pydantic.Field(alias="firstMessageInterruptionsEnabled"), + ] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[AssistantVersionFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This is the mode for the first message. Default is 'assistant-speaks-first'.\n\nUse:\n- 'assistant-speaks-first' to have the assistant speak first.\n- 'assistant-waits-for-user' to have the assistant wait for the user to speak first.\n- 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).\n\n@default 'assistant-speaks-first'", + ), + ] = None + voicemail_detection: typing_extensions.Annotated[ + typing.Optional[AssistantVersionVoicemailDetection], + FieldMetadata(alias="voicemailDetection"), + pydantic.Field( + alias="voicemailDetection", + description="These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nBy default, voicemail detection is disabled.", + ), + ] = None + client_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[AssistantVersionClientMessagesItem]], + FieldMetadata(alias="clientMessages"), + pydantic.Field( + alias="clientMessages", + description="These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema.", + ), + ] = None + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[AssistantVersionServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", + description="These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema.", + ), + ] = None + max_duration_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxDurationSeconds"), + pydantic.Field( + alias="maxDurationSeconds", + description="This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.\n\n@default 600 (10 minutes)", + ), + ] = None + background_sound: typing_extensions.Annotated[ + typing.Optional[AssistantVersionBackgroundSound], + FieldMetadata(alias="backgroundSound"), + pydantic.Field( + alias="backgroundSound", + description="This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + ), + ] = None + model_output_in_messages_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="modelOutputInMessagesEnabled"), + pydantic.Field( + alias="modelOutputInMessagesEnabled", + description="This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\n@default false", + ), + ] = None + transport_configurations: typing_extensions.Annotated[ + typing.Optional[typing.List[TransportConfigurationTwilio]], + FieldMetadata(alias="transportConfigurations"), + pydantic.Field( + alias="transportConfigurations", + description="These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.", + ), + ] = None + observability_plan: typing_extensions.Annotated[ + typing.Optional[LangfuseObservabilityPlan], + FieldMetadata(alias="observabilityPlan"), + pydantic.Field( + alias="observabilityPlan", + description="This is the plan for observability of assistant's calls.\n\nCurrently, only Langfuse is supported.", + ), + ] = None + credentials: typing.Optional[typing.List[AssistantVersionCredentialsItem]] = pydantic.Field(default=None) + """ + These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. + """ + + hooks: typing.Optional[typing.List[AssistantVersionHooksItem]] = pydantic.Field(default=None) + """ + This is a set of actions that will be performed on certain events. + """ + + version_name: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionName"), + pydantic.Field( + alias="versionName", description="Optional human-readable label for this version. Pass `null` to clear." + ), + ] = None + version_description: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionDescription"), + pydantic.Field( + alias="versionDescription", description="Optional description for this version. Pass `null` to clear." + ), + ] = None + id: str = pydantic.Field() + """ + This is the unique identifier for the version row. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="This is the unique identifier for the org that owns this version."), + ] + assistant_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="assistantId"), + pydantic.Field( + alias="assistantId", + description="This is the unique identifier for the assistant this version was snapshotted from.", + ), + ] + version: str = pydantic.Field() + """ + This is the public monotonic version label, e.g. "v1". + System-owned and incremented per assistant; never user-supplied. + """ + + config_hash: typing_extensions.Annotated[ + str, + FieldMetadata(alias="configHash"), + pydantic.Field( + alias="configHash", + description="This is the SHA-256 hex of the snapshotted content used for no-op detection.", + ), + ] + parent_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="parentVersion"), + pydantic.Field( + alias="parentVersion", description="This is the prior version label (vN-1). Null on v1 or for branch roots." + ), + ] = None + created_by: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="createdBy"), + pydantic.Field( + alias="createdBy", + description="This is the actor that wrote this version. Email when created via JWT, null when created via API.", + ), + ] = None + deleted_at: typing_extensions.Annotated[ + typing.Optional[dt.datetime], + FieldMetadata(alias="deletedAt"), + pydantic.Field(alias="deletedAt", description="This is the soft-delete timestamp. Null when active."), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field( + alias="createdAt", description="This is the ISO 8601 date-time string of when the version was created." + ), + ] + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the assistant. + + This is required when you want to transfer between assistants in a call. + """ + + voicemail_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="voicemailMessage"), + pydantic.Field( + alias="voicemailMessage", + description="This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", + ), + ] = None + end_call_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="endCallMessage"), + pydantic.Field( + alias="endCallMessage", + description="This is the message that the assistant will say if it ends the call.\n\nIf unspecified, it will hang up without saying anything.", + ), + ] = None + end_call_phrases: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="endCallPhrases"), + pydantic.Field( + alias="endCallPhrases", + description="This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive.", + ), + ] = None + compliance_plan: typing_extensions.Annotated[ + typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + ] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is for metadata you want to store on the assistant. + """ + + background_speech_denoising_plan: typing_extensions.Annotated[ + typing.Optional[BackgroundSpeechDenoisingPlan], + FieldMetadata(alias="backgroundSpeechDenoisingPlan"), + pydantic.Field( + alias="backgroundSpeechDenoisingPlan", + description="This enables filtering of noise and background speech while the user is talking.\n\nFeatures:\n- Smart denoising using Krisp\n- Fourier denoising\n\nSmart denoising can be combined with or used independently of Fourier denoising.\n\nOrder of precedence:\n- Smart denoising\n- Fourier denoising", + ), + ] = None + analysis_plan: typing_extensions.Annotated[ + typing.Optional[AnalysisPlan], + FieldMetadata(alias="analysisPlan"), + pydantic.Field( + alias="analysisPlan", + description="This is the plan for analysis of assistant's calls. Stored in `call.analysis`.", + ), + ] = None + artifact_plan: typing_extensions.Annotated[ + typing.Optional[ArtifactPlan], + FieldMetadata(alias="artifactPlan"), + pydantic.Field( + alias="artifactPlan", + description="This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.", + ), + ] = None + start_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StartSpeakingPlan], + FieldMetadata(alias="startSpeakingPlan"), + pydantic.Field( + alias="startSpeakingPlan", + description="This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", + ), + ] = None + stop_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StopSpeakingPlan], + FieldMetadata(alias="stopSpeakingPlan"), + pydantic.Field( + alias="stopSpeakingPlan", + description="This is the plan for when assistant should stop talking on customer interruption.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to recognize customer's interruption.\n- The assistant is too fast to recognize customer's interruption.\n- The assistant is getting interrupted by phrases that are just acknowledgments.\n- The assistant is getting interrupted by background noises.\n- The assistant is not properly stopping -- it starts talking right after getting interrupted.", + ), + ] = None + monitor_plan: typing_extensions.Annotated[ + typing.Optional[MonitorPlan], + FieldMetadata(alias="monitorPlan"), + pydantic.Field( + alias="monitorPlan", + description="This is the plan for real-time monitoring of the assistant's calls.\n\nUsage:\n- To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.\n- To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.\n- To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.", + ), + ] = None + credential_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="credentialIds"), + pydantic.Field( + alias="credentialIds", + description="These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema. + + The order of precedence is: + + 1. assistant.server.url + 2. phoneNumber.serverUrl + 3. org.serverUrl + """ + + keypad_input_plan: typing_extensions.Annotated[ + typing.Optional[KeypadInputPlan], + FieldMetadata(alias="keypadInputPlan"), + pydantic.Field(alias="keypadInputPlan"), + ] = 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 + + +update_forward_refs(AssistantVersion) diff --git a/src/vapi/types/assistant_version_background_sound.py b/src/vapi/types/assistant_version_background_sound.py new file mode 100644 index 00000000..8b74651f --- /dev/null +++ b/src/vapi/types/assistant_version_background_sound.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .assistant_version_background_sound_zero import AssistantVersionBackgroundSoundZero + +AssistantVersionBackgroundSound = typing.Union[AssistantVersionBackgroundSoundZero, str] diff --git a/src/vapi/types/assistant_version_background_sound_zero.py b/src/vapi/types/assistant_version_background_sound_zero.py new file mode 100644 index 00000000..9f565270 --- /dev/null +++ b/src/vapi/types/assistant_version_background_sound_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantVersionBackgroundSoundZero = typing.Union[typing.Literal["off", "office"], typing.Any] diff --git a/src/vapi/types/assistant_version_client_messages_item.py b/src/vapi/types/assistant_version_client_messages_item.py new file mode 100644 index 00000000..85b89a05 --- /dev/null +++ b/src/vapi/types/assistant_version_client_messages_item.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantVersionClientMessagesItem = typing.Union[ + typing.Literal[ + "conversation-update", + "assistant.speechStarted", + "function-call", + "function-call-result", + "hang", + "language-changed", + "metadata", + "model-output", + "speech-update", + "status-update", + "transcript", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "voice-input", + "workflow.node.started", + "assistant.started", + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_version_credentials_item.py b/src/vapi/types/assistant_version_credentials_item.py new file mode 100644 index 00000000..319612a5 --- /dev/null +++ b/src/vapi/types/assistant_version_credentials_item.py @@ -0,0 +1,1099 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_blob_storage_bucket_plan import AzureBlobStorageBucketPlan +from .bucket_plan import BucketPlan +from .cloudflare_r_2_bucket_plan import CloudflareR2BucketPlan +from .create_anthropic_bedrock_credential_dto_authentication_plan import ( + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, +) +from .create_anthropic_bedrock_credential_dto_region import CreateAnthropicBedrockCredentialDtoRegion +from .create_azure_credential_dto_region import CreateAzureCredentialDtoRegion +from .create_azure_credential_dto_service import CreateAzureCredentialDtoService +from .create_azure_open_ai_credential_dto_models_item import CreateAzureOpenAiCredentialDtoModelsItem +from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion +from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan +from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl +from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan +from .gcp_key import GcpKey +from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan +from .oauth_2_authentication_session import Oauth2AuthenticationSession +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan +from .sip_trunk_gateway import SipTrunkGateway +from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan +from .supabase_bucket_plan import SupabaseBucketPlan + + +class AssistantVersionCredentialsItem_11Labs(UncheckedBaseModel): + provider: typing.Literal["11labs"] = "11labs" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None + name: 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 AssistantVersionCredentialsItem_Anthropic(UncheckedBaseModel): + provider: typing.Literal["anthropic"] = "anthropic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_AnthropicBedrock(UncheckedBaseModel): + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + region: CreateAnthropicBedrockCredentialDtoRegion + authentication_plan: typing_extensions.Annotated[ + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 AssistantVersionCredentialsItem_Anyscale(UncheckedBaseModel): + provider: typing.Literal["anyscale"] = "anyscale" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_AssemblyAi(UncheckedBaseModel): + provider: typing.Literal["assembly-ai"] = "assembly-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_AzureOpenai(UncheckedBaseModel): + provider: typing.Literal["azure-openai"] = "azure-openai" + region: CreateAzureOpenAiCredentialDtoRegion + models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] + open_ai_key: typing_extensions.Annotated[str, FieldMetadata(alias="openAIKey"), pydantic.Field(alias="openAIKey")] + ocp_apim_subscription_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="ocpApimSubscriptionKey"), + pydantic.Field(alias="ocpApimSubscriptionKey"), + ] = None + open_ai_endpoint: typing_extensions.Annotated[ + str, FieldMetadata(alias="openAIEndpoint"), pydantic.Field(alias="openAIEndpoint") + ] + name: 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 AssistantVersionCredentialsItem_Azure(UncheckedBaseModel): + provider: typing.Literal["azure"] = "azure" + service: CreateAzureCredentialDtoService + region: typing.Optional[CreateAzureCredentialDtoRegion] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[AzureBlobStorageBucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field(alias="bucketPlan"), + ] = None + name: 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 AssistantVersionCredentialsItem_ByoSipTrunk(UncheckedBaseModel): + provider: typing.Literal["byo-sip-trunk"] = "byo-sip-trunk" + gateways: typing.List[SipTrunkGateway] + outbound_authentication_plan: typing_extensions.Annotated[ + typing.Optional[SipTrunkOutboundAuthenticationPlan], + FieldMetadata(alias="outboundAuthenticationPlan"), + pydantic.Field(alias="outboundAuthenticationPlan"), + ] = None + outbound_leading_plus_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="outboundLeadingPlusEnabled"), + pydantic.Field(alias="outboundLeadingPlusEnabled"), + ] = None + tech_prefix: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="techPrefix"), pydantic.Field(alias="techPrefix") + ] = None + sip_diversion_header: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") + ] = None + name: 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 AssistantVersionCredentialsItem_Cartesia(UncheckedBaseModel): + provider: typing.Literal["cartesia"] = "cartesia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantVersionCredentialsItem_Cerebras(UncheckedBaseModel): + provider: typing.Literal["cerebras"] = "cerebras" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Cloudflare(UncheckedBaseModel): + provider: typing.Literal["cloudflare"] = "cloudflare" + account_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountId"), pydantic.Field(alias="accountId") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + account_email: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountEmail"), pydantic.Field(alias="accountEmail") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[CloudflareR2BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantVersionCredentialsItem_CustomLlm(UncheckedBaseModel): + provider: typing.Literal["custom-llm"] = "custom-llm" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + authentication_plan: typing_extensions.Annotated[ + typing.Optional[OAuth2AuthenticationPlan], + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] = None + name: 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 AssistantVersionCredentialsItem_Deepgram(UncheckedBaseModel): + provider: typing.Literal["deepgram"] = "deepgram" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantVersionCredentialsItem_Deepinfra(UncheckedBaseModel): + provider: typing.Literal["deepinfra"] = "deepinfra" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_DeepSeek(UncheckedBaseModel): + provider: typing.Literal["deep-seek"] = "deep-seek" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Gcp(UncheckedBaseModel): + provider: typing.Literal["gcp"] = "gcp" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + gcp_key: typing_extensions.Annotated[GcpKey, FieldMetadata(alias="gcpKey"), pydantic.Field(alias="gcpKey")] + region: typing.Optional[str] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantVersionCredentialsItem_Gladia(UncheckedBaseModel): + provider: typing.Literal["gladia"] = "gladia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Gohighlevel(UncheckedBaseModel): + provider: typing.Literal["gohighlevel"] = "gohighlevel" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Google(UncheckedBaseModel): + provider: typing.Literal["google"] = "google" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Groq(UncheckedBaseModel): + provider: typing.Literal["groq"] = "groq" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_InflectionAi(UncheckedBaseModel): + provider: typing.Literal["inflection-ai"] = "inflection-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Langfuse(UncheckedBaseModel): + provider: typing.Literal["langfuse"] = "langfuse" + public_key: typing_extensions.Annotated[str, FieldMetadata(alias="publicKey"), pydantic.Field(alias="publicKey")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[str, FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl")] + name: 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 AssistantVersionCredentialsItem_Lmnt(UncheckedBaseModel): + provider: typing.Literal["lmnt"] = "lmnt" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Make(UncheckedBaseModel): + provider: typing.Literal["make"] = "make" + team_id: typing_extensions.Annotated[str, FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId")] + region: str + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Openai(UncheckedBaseModel): + provider: typing.Literal["openai"] = "openai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Openrouter(UncheckedBaseModel): + provider: typing.Literal["openrouter"] = "openrouter" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_PerplexityAi(UncheckedBaseModel): + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Playht(UncheckedBaseModel): + provider: typing.Literal["playht"] = "playht" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId"), pydantic.Field(alias="userId")] + name: 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 AssistantVersionCredentialsItem_RimeAi(UncheckedBaseModel): + provider: typing.Literal["rime-ai"] = "rime-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Runpod(UncheckedBaseModel): + provider: typing.Literal["runpod"] = "runpod" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_S3(UncheckedBaseModel): + provider: typing.Literal["s3"] = "s3" + aws_access_key_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsAccessKeyId"), pydantic.Field(alias="awsAccessKeyId") + ] + aws_secret_access_key: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsSecretAccessKey"), pydantic.Field(alias="awsSecretAccessKey") + ] + region: str + s_3_bucket_name: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3BucketName"), pydantic.Field(alias="s3BucketName") + ] + s_3_path_prefix: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3PathPrefix"), pydantic.Field(alias="s3PathPrefix") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantVersionCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 AssistantVersionCredentialsItem_Supabase(UncheckedBaseModel): + provider: typing.Literal["supabase"] = "supabase" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[SupabaseBucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 AssistantVersionCredentialsItem_SmallestAi(UncheckedBaseModel): + provider: typing.Literal["smallest-ai"] = "smallest-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Tavus(UncheckedBaseModel): + provider: typing.Literal["tavus"] = "tavus" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_TogetherAi(UncheckedBaseModel): + provider: typing.Literal["together-ai"] = "together-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Twilio(UncheckedBaseModel): + provider: typing.Literal["twilio"] = "twilio" + auth_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="authToken"), pydantic.Field(alias="authToken") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + api_secret: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret") + ] = None + account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid")] + name: 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 AssistantVersionCredentialsItem_Vonage(UncheckedBaseModel): + provider: typing.Literal["vonage"] = "vonage" + api_secret: typing_extensions.Annotated[str, FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Webhook(UncheckedBaseModel): + provider: typing.Literal["webhook"] = "webhook" + authentication_plan: typing_extensions.Annotated[ + CreateWebhookCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 AssistantVersionCredentialsItem_CustomCredential(UncheckedBaseModel): + provider: typing.Literal["custom-credential"] = "custom-credential" + authentication_plan: typing_extensions.Annotated[ + CreateCustomCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + encryption_plan: typing_extensions.Annotated[ + typing.Optional[CreateCustomCredentialDtoEncryptionPlan], + FieldMetadata(alias="encryptionPlan"), + pydantic.Field(alias="encryptionPlan"), + ] = None + name: 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 AssistantVersionCredentialsItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None + name: 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 AssistantVersionCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 AssistantVersionCredentialsItem_GoogleCalendarOauth2Client(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-client"] = "google.calendar.oauth2-client" + name: 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 AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-authorization"] = "google.calendar.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.sheets.oauth2-authorization"] = "google.sheets.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantVersionCredentialsItem_SlackOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["slack.oauth2-authorization"] = "slack.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 AssistantVersionCredentialsItem_GhlOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["ghl.oauth2-authorization"] = "ghl.oauth2-authorization" + authentication_session: typing_extensions.Annotated[ + Oauth2AuthenticationSession, + FieldMetadata(alias="authenticationSession"), + pydantic.Field(alias="authenticationSession"), + ] + name: 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 AssistantVersionCredentialsItem_Inworld(UncheckedBaseModel): + provider: typing.Literal["inworld"] = "inworld" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Minimax(UncheckedBaseModel): + provider: typing.Literal["minimax"] = "minimax" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + group_id: typing_extensions.Annotated[str, FieldMetadata(alias="groupId"), pydantic.Field(alias="groupId")] + name: 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 AssistantVersionCredentialsItem_Wellsaid(UncheckedBaseModel): + provider: typing.Literal["wellsaid"] = "wellsaid" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 AssistantVersionCredentialsItem_Email(UncheckedBaseModel): + provider: typing.Literal["email"] = "email" + email: str + name: 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 AssistantVersionCredentialsItem_SlackWebhook(UncheckedBaseModel): + provider: typing.Literal["slack-webhook"] = "slack-webhook" + webhook_url: typing_extensions.Annotated[str, FieldMetadata(alias="webhookUrl"), pydantic.Field(alias="webhookUrl")] + name: 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 + + +AssistantVersionCredentialsItem = typing_extensions.Annotated[ + typing.Union[ + AssistantVersionCredentialsItem_11Labs, + AssistantVersionCredentialsItem_Anthropic, + AssistantVersionCredentialsItem_AnthropicBedrock, + AssistantVersionCredentialsItem_Anyscale, + AssistantVersionCredentialsItem_AssemblyAi, + AssistantVersionCredentialsItem_AzureOpenai, + AssistantVersionCredentialsItem_Azure, + AssistantVersionCredentialsItem_ByoSipTrunk, + AssistantVersionCredentialsItem_Cartesia, + AssistantVersionCredentialsItem_Cerebras, + AssistantVersionCredentialsItem_Cloudflare, + AssistantVersionCredentialsItem_CustomLlm, + AssistantVersionCredentialsItem_Deepgram, + AssistantVersionCredentialsItem_Deepinfra, + AssistantVersionCredentialsItem_DeepSeek, + AssistantVersionCredentialsItem_Gcp, + AssistantVersionCredentialsItem_Gladia, + AssistantVersionCredentialsItem_Gohighlevel, + AssistantVersionCredentialsItem_Google, + AssistantVersionCredentialsItem_Groq, + AssistantVersionCredentialsItem_InflectionAi, + AssistantVersionCredentialsItem_Langfuse, + AssistantVersionCredentialsItem_Lmnt, + AssistantVersionCredentialsItem_Make, + AssistantVersionCredentialsItem_Openai, + AssistantVersionCredentialsItem_Openrouter, + AssistantVersionCredentialsItem_PerplexityAi, + AssistantVersionCredentialsItem_Playht, + AssistantVersionCredentialsItem_RimeAi, + AssistantVersionCredentialsItem_Runpod, + AssistantVersionCredentialsItem_S3, + AssistantVersionCredentialsItem_S3Compatible, + AssistantVersionCredentialsItem_Supabase, + AssistantVersionCredentialsItem_SmallestAi, + AssistantVersionCredentialsItem_Tavus, + AssistantVersionCredentialsItem_TogetherAi, + AssistantVersionCredentialsItem_Twilio, + AssistantVersionCredentialsItem_Vonage, + AssistantVersionCredentialsItem_Webhook, + AssistantVersionCredentialsItem_CustomCredential, + AssistantVersionCredentialsItem_Xai, + AssistantVersionCredentialsItem_Microsoft, + AssistantVersionCredentialsItem_Neuphonic, + AssistantVersionCredentialsItem_Hume, + AssistantVersionCredentialsItem_Mistral, + AssistantVersionCredentialsItem_Speechmatics, + AssistantVersionCredentialsItem_Soniox, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Client, + AssistantVersionCredentialsItem_GoogleCalendarOauth2Authorization, + AssistantVersionCredentialsItem_GoogleSheetsOauth2Authorization, + AssistantVersionCredentialsItem_SlackOauth2Authorization, + AssistantVersionCredentialsItem_GhlOauth2Authorization, + AssistantVersionCredentialsItem_Inworld, + AssistantVersionCredentialsItem_Minimax, + AssistantVersionCredentialsItem_Wellsaid, + AssistantVersionCredentialsItem_Email, + AssistantVersionCredentialsItem_SlackWebhook, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_version_first_message_mode.py b/src/vapi/types/assistant_version_first_message_mode.py new file mode 100644 index 00000000..2fa37d41 --- /dev/null +++ b/src/vapi/types/assistant_version_first_message_mode.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantVersionFirstMessageMode = typing.Union[ + typing.Literal[ + "assistant-speaks-first", "assistant-speaks-first-with-model-generated-message", "assistant-waits-for-user" + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_version_hooks_item.py b/src/vapi/types/assistant_version_hooks_item.py new file mode 100644 index 00000000..9093bc3e --- /dev/null +++ b/src/vapi/types/assistant_version_hooks_item.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted +from .call_hook_call_ending import CallHookCallEnding +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout +from .session_created_hook import SessionCreatedHook + +AssistantVersionHooksItem = typing.Union[ + CallHookCallEnding, + CallHookAssistantSpeechInterrupted, + CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechTimeout, + SessionCreatedHook, +] diff --git a/src/vapi/types/assistant_version_model.py b/src/vapi/types/assistant_version_model.py new file mode 100644 index 00000000..6136f3ef --- /dev/null +++ b/src/vapi/types/assistant_version_model.py @@ -0,0 +1,2093 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_model_model import AnthropicModelModel +from .anthropic_thinking_config import AnthropicThinkingConfig +from .cerebras_model_model import CerebrasModelModel +from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto +from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode +from .deep_seek_model_model import DeepSeekModelModel +from .google_model_model import GoogleModelModel +from .google_realtime_config import GoogleRealtimeConfig +from .groq_model_model import GroqModelModel +from .inflection_ai_model_model import InflectionAiModelModel +from .minimax_llm_model_model import MinimaxLlmModelModel +from .open_ai_message import OpenAiMessage +from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem +from .open_ai_model_model import OpenAiModelModel +from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort +from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion +from .xai_model_model import XaiModelModel + + +class AssistantVersionModel_Anthropic(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_AnthropicBedrock(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicBedrockModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicBedrockModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Anyscale(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anyscale"] = "anyscale" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnyscaleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Cerebras(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["cerebras"] = "cerebras" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CerebrasModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: CerebrasModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_CustomLlm(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CustomLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + metadata_send_mode: typing_extensions.Annotated[ + typing.Optional[CustomLlmModelMetadataSendMode], + FieldMetadata(alias="metadataSendMode"), + pydantic.Field(alias="metadataSendMode"), + ] = None + headers: typing.Optional[typing.Dict[str, str]] = None + url: str + word_level_confidence_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="wordLevelConfidenceEnabled"), + pydantic.Field(alias="wordLevelConfidenceEnabled"), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Deepinfra(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deepinfra"] = "deepinfra" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepInfraModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_DeepSeek(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deep-seek"] = "deep-seek" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepSeekModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: DeepSeekModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Google(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GoogleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GoogleModelModel + realtime_config: typing_extensions.Annotated[ + typing.Optional[GoogleRealtimeConfig], + FieldMetadata(alias="realtimeConfig"), + pydantic.Field(alias="realtimeConfig"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Groq(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["groq"] = "groq" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GroqModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GroqModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_InflectionAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["inflection-ai"] = "inflection-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["InflectionAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: InflectionAiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["minimax"] = "minimax" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["MinimaxLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: MinimaxLlmModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: OpenAiModelModel + fallback_models: typing_extensions.Annotated[ + typing.Optional[typing.List[OpenAiModelFallbackModelsItem]], + FieldMetadata(alias="fallbackModels"), + pydantic.Field(alias="fallbackModels"), + ] = None + tool_strict_compatibility_mode: typing_extensions.Annotated[ + typing.Optional[OpenAiModelToolStrictCompatibilityMode], + FieldMetadata(alias="toolStrictCompatibilityMode"), + pydantic.Field(alias="toolStrictCompatibilityMode"), + ] = None + prompt_cache_retention: typing_extensions.Annotated[ + typing.Optional[OpenAiModelPromptCacheRetention], + FieldMetadata(alias="promptCacheRetention"), + pydantic.Field(alias="promptCacheRetention"), + ] = None + prompt_cache_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") + ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Openrouter(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openrouter"] = "openrouter" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenRouterModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_PerplexityAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["PerplexityAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_TogetherAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["together-ai"] = "together-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["TogetherAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["xai"] = "xai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["XaiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: XaiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 AssistantVersionModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + +AssistantVersionModel = typing_extensions.Annotated[ + typing.Union[ + AssistantVersionModel_Anthropic, + AssistantVersionModel_AnthropicBedrock, + AssistantVersionModel_Anyscale, + AssistantVersionModel_Cerebras, + AssistantVersionModel_CustomLlm, + AssistantVersionModel_Deepinfra, + AssistantVersionModel_DeepSeek, + AssistantVersionModel_Google, + AssistantVersionModel_Groq, + AssistantVersionModel_InflectionAi, + AssistantVersionModel_Minimax, + AssistantVersionModel_Openai, + AssistantVersionModel_Openrouter, + AssistantVersionModel_PerplexityAi, + AssistantVersionModel_TogetherAi, + AssistantVersionModel_Xai, + AssistantVersionModel_Vapi, + ], + UnionMetadata(discriminant="provider"), +] +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 + +update_forward_refs( + AssistantVersionModel_Anthropic, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_AnthropicBedrock, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Anyscale, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Cerebras, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_CustomLlm, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Deepinfra, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_DeepSeek, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Google, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Groq, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_InflectionAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Minimax, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Openai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Openrouter, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_PerplexityAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_TogetherAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Xai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + AssistantVersionModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/assistant_version_paginated_metadata.py b/src/vapi/types/assistant_version_paginated_metadata.py new file mode 100644 index 00000000..6296a42d --- /dev/null +++ b/src/vapi/types/assistant_version_paginated_metadata.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class AssistantVersionPaginatedMetadata(UncheckedBaseModel): + next_cursor: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="nextCursor"), pydantic.Field(alias="nextCursor") + ] = None + has_next_page: typing_extensions.Annotated[ + bool, FieldMetadata(alias="hasNextPage"), pydantic.Field(alias="hasNextPage") + ] + limit: 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/vapi/types/assistant_version_paginated_response.py b/src/vapi/types/assistant_version_paginated_response.py index 1b8e260b..e0b2cb05 100644 --- a/src/vapi/types/assistant_version_paginated_response.py +++ b/src/vapi/types/assistant_version_paginated_response.py @@ -1,21 +1,19 @@ # 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.serialization import FieldMetadata +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.unchecked_base_model import UncheckedBaseModel -from .pagination_meta import PaginationMeta +from .assistant_version import AssistantVersion +from .assistant_version_paginated_metadata import AssistantVersionPaginatedMetadata class AssistantVersionPaginatedResponse(UncheckedBaseModel): - results: typing.List[typing.Any] - metadata: PaginationMeta - next_page_state: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="nextPageState"), pydantic.Field(alias="nextPageState") - ] = None + results: typing.List[AssistantVersion] + metadata: AssistantVersionPaginatedMetadata if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -25,3 +23,6 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +update_forward_refs(AssistantVersionPaginatedResponse) diff --git a/src/vapi/types/assistant_version_server_messages_item.py b/src/vapi/types/assistant_version_server_messages_item.py new file mode 100644 index 00000000..8cb33654 --- /dev/null +++ b/src/vapi/types/assistant_version_server_messages_item.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantVersionServerMessagesItem = typing.Union[ + typing.Literal[ + "assistant.started", + "assistant.speechStarted", + "conversation-update", + "end-of-call-report", + "function-call", + "hang", + "language-changed", + "language-change-detected", + "model-output", + "phone-call-control", + "speech-update", + "status-update", + "transcript", + 'transcript[transcriptType="final"]', + "tool-calls", + "transfer-destination-request", + "handoff-destination-request", + "transfer-update", + "user-interrupted", + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted", + "call.deleted", + "call.delete.failed", + ], + typing.Any, +] diff --git a/src/vapi/types/assistant_version_transcriber.py b/src/vapi/types/assistant_version_transcriber.py new file mode 100644 index 00000000..cc7449e1 --- /dev/null +++ b/src/vapi/types/assistant_version_transcriber.py @@ -0,0 +1,604 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .assembly_ai_transcriber_language import AssemblyAiTranscriberLanguage +from .assembly_ai_transcriber_speech_model import AssemblyAiTranscriberSpeechModel +from .azure_speech_transcriber_language import AzureSpeechTranscriberLanguage +from .azure_speech_transcriber_segmentation_strategy import AzureSpeechTranscriberSegmentationStrategy +from .cartesia_transcriber_language import CartesiaTranscriberLanguage +from .cartesia_transcriber_model import CartesiaTranscriberModel +from .deepgram_transcriber_language import DeepgramTranscriberLanguage +from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem +from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage +from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel +from .fallback_transcriber_plan import FallbackTranscriberPlan +from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto +from .gladia_transcriber_language import GladiaTranscriberLanguage +from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem +from .gladia_transcriber_model import GladiaTranscriberModel +from .gladia_transcriber_region import GladiaTranscriberRegion +from .google_transcriber_language import GoogleTranscriberLanguage +from .google_transcriber_model import GoogleTranscriberModel +from .open_ai_transcriber_language import OpenAiTranscriberLanguage +from .open_ai_transcriber_model import OpenAiTranscriberModel +from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem +from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem +from .soniox_transcriber_model import SonioxTranscriberModel +from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem +from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage +from .speechmatics_transcriber_model import SpeechmaticsTranscriberModel +from .speechmatics_transcriber_numeral_style import SpeechmaticsTranscriberNumeralStyle +from .speechmatics_transcriber_operating_point import SpeechmaticsTranscriberOperatingPoint +from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion +from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage +from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel + + +class AssistantVersionTranscriber_AssemblyAi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["assembly-ai"] = "assembly-ai" + language: typing.Optional[AssemblyAiTranscriberLanguage] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + format_turns: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="formatTurns"), pydantic.Field(alias="formatTurns") + ] = None + end_of_turn_confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnConfidenceThreshold"), + pydantic.Field(alias="endOfTurnConfidenceThreshold"), + ] = None + min_end_of_turn_silence_when_confident: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minEndOfTurnSilenceWhenConfident"), + pydantic.Field(alias="minEndOfTurnSilenceWhenConfident"), + ] = None + word_finalization_max_wait_time: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="wordFinalizationMaxWaitTime"), + pydantic.Field(alias="wordFinalizationMaxWaitTime"), + ] = None + max_turn_silence: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTurnSilence"), pydantic.Field(alias="maxTurnSilence") + ] = None + vad_assisted_endpointing_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="vadAssistedEndpointingEnabled"), + pydantic.Field(alias="vadAssistedEndpointingEnabled"), + ] = None + speech_model: typing_extensions.Annotated[ + typing.Optional[AssemblyAiTranscriberSpeechModel], + FieldMetadata(alias="speechModel"), + pydantic.Field(alias="speechModel"), + ] = None + realtime_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="realtimeUrl"), pydantic.Field(alias="realtimeUrl") + ] = None + word_boost: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="wordBoost"), pydantic.Field(alias="wordBoost") + ] = None + keyterms_prompt: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="keytermsPrompt"), pydantic.Field(alias="keytermsPrompt") + ] = None + end_utterance_silence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endUtteranceSilenceThreshold"), + pydantic.Field(alias="endUtteranceSilenceThreshold"), + ] = None + disable_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="disablePartialTranscripts"), + pydantic.Field(alias="disablePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["azure"] = "azure" + language: typing.Optional[AzureSpeechTranscriberLanguage] = None + segmentation_strategy: typing_extensions.Annotated[ + typing.Optional[AzureSpeechTranscriberSegmentationStrategy], + FieldMetadata(alias="segmentationStrategy"), + pydantic.Field(alias="segmentationStrategy"), + ] = None + segmentation_silence_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationSilenceTimeoutMs"), + pydantic.Field(alias="segmentationSilenceTimeoutMs"), + ] = None + segmentation_maximum_time_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationMaximumTimeMs"), + pydantic.Field(alias="segmentationMaximumTimeMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_CustomTranscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["custom-transcriber"] = "custom-transcriber" + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + model: typing.Optional[DeepgramTranscriberModel] = None + language: typing.Optional[DeepgramTranscriberLanguage] = None + smart_format: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="smartFormat"), pydantic.Field(alias="smartFormat") + ] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + numerals: typing.Optional[bool] = None + profanity_filter: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") + ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + eot_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") + ] = None + eot_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") + ] = None + languages: typing.Optional[typing.List[str]] = None + keywords: typing.Optional[typing.List[str]] = None + keyterm: typing.Optional[typing.List[str]] = None + endpointing: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["11labs"] = "11labs" + model: typing.Optional[ElevenLabsTranscriberModel] = None + language: typing.Optional[ElevenLabsTranscriberLanguage] = None + silence_threshold_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="silenceThresholdSeconds"), + pydantic.Field(alias="silenceThresholdSeconds"), + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + min_speech_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="minSpeechDurationMs"), pydantic.Field(alias="minSpeechDurationMs") + ] = None + min_silence_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minSilenceDurationMs"), + pydantic.Field(alias="minSilenceDurationMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Gladia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["gladia"] = "gladia" + model: typing.Optional[GladiaTranscriberModel] = None + language_behaviour: typing_extensions.Annotated[ + typing.Optional[GladiaTranscriberLanguageBehaviour], + FieldMetadata(alias="languageBehaviour"), + pydantic.Field(alias="languageBehaviour"), + ] = None + language: typing.Optional[GladiaTranscriberLanguage] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None + transcription_hint: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") + ] = None + prosody: typing.Optional[bool] = None + audio_enhancer: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="audioEnhancer"), pydantic.Field(alias="audioEnhancer") + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + endpointing: typing.Optional[float] = None + speech_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speechThreshold"), pydantic.Field(alias="speechThreshold") + ] = None + custom_vocabulary_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="customVocabularyEnabled"), + pydantic.Field(alias="customVocabularyEnabled"), + ] = None + custom_vocabulary_config: typing_extensions.Annotated[ + typing.Optional[GladiaCustomVocabularyConfigDto], + FieldMetadata(alias="customVocabularyConfig"), + pydantic.Field(alias="customVocabularyConfig"), + ] = None + region: typing.Optional[GladiaTranscriberRegion] = None + receive_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="receivePartialTranscripts"), + pydantic.Field(alias="receivePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Google(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["google"] = "google" + model: typing.Optional[GoogleTranscriberModel] = None + language: typing.Optional[GoogleTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Speechmatics(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["speechmatics"] = "speechmatics" + model: typing.Optional[SpeechmaticsTranscriberModel] = None + language: typing.Optional[SpeechmaticsTranscriberLanguage] = None + operating_point: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberOperatingPoint], + FieldMetadata(alias="operatingPoint"), + pydantic.Field(alias="operatingPoint"), + ] = None + region: typing.Optional[SpeechmaticsTranscriberRegion] = None + enable_diarization: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableDiarization"), pydantic.Field(alias="enableDiarization") + ] = None + max_delay: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxDelay"), pydantic.Field(alias="maxDelay") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.List[SpeechmaticsCustomVocabularyItem], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] + numeral_style: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberNumeralStyle], + FieldMetadata(alias="numeralStyle"), + pydantic.Field(alias="numeralStyle"), + ] = None + end_of_turn_sensitivity: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnSensitivity"), + pydantic.Field(alias="endOfTurnSensitivity"), + ] = None + remove_disfluencies: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="removeDisfluencies"), pydantic.Field(alias="removeDisfluencies") + ] = None + minimum_speech_duration: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minimumSpeechDuration"), + pydantic.Field(alias="minimumSpeechDuration"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Talkscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["talkscriber"] = "talkscriber" + model: typing.Optional[TalkscriberTranscriberModel] = None + language: typing.Optional[TalkscriberTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["openai"] = "openai" + model: OpenAiTranscriberModel + language: typing.Optional[OpenAiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + model: typing.Optional[CartesiaTranscriberModel] = None + language: typing.Optional[CartesiaTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Soniox(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["soniox"] = "soniox" + model: typing.Optional[SonioxTranscriberModel] = None + language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None + language_hints_strict: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") + ] = None + max_endpoint_delay_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxEndpointDelayMs"), pydantic.Field(alias="maxEndpointDelayMs") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 AssistantVersionTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + +AssistantVersionTranscriber = typing_extensions.Annotated[ + typing.Union[ + AssistantVersionTranscriber_AssemblyAi, + AssistantVersionTranscriber_Azure, + AssistantVersionTranscriber_CustomTranscriber, + AssistantVersionTranscriber_Deepgram, + AssistantVersionTranscriber_11Labs, + AssistantVersionTranscriber_Gladia, + AssistantVersionTranscriber_Google, + AssistantVersionTranscriber_Speechmatics, + AssistantVersionTranscriber_Talkscriber, + AssistantVersionTranscriber_Openai, + AssistantVersionTranscriber_Cartesia, + AssistantVersionTranscriber_Soniox, + AssistantVersionTranscriber_Xai, + AssistantVersionTranscriber_Vapi, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_version_voice.py b/src/vapi/types/assistant_version_voice.py new file mode 100644 index 00000000..d1742b63 --- /dev/null +++ b/src/vapi/types/assistant_version_voice.py @@ -0,0 +1,814 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_voice_id import AzureVoiceId +from .cartesia_experimental_controls import CartesiaExperimentalControls +from .cartesia_generation_config import CartesiaGenerationConfig +from .cartesia_voice_language import CartesiaVoiceLanguage +from .cartesia_voice_model import CartesiaVoiceModel +from .chunk_plan import ChunkPlan +from .deepgram_voice_id import DeepgramVoiceId +from .deepgram_voice_model import DeepgramVoiceModel +from .eleven_labs_pronunciation_dictionary_locator import ElevenLabsPronunciationDictionaryLocator +from .eleven_labs_voice_id import ElevenLabsVoiceId +from .eleven_labs_voice_model import ElevenLabsVoiceModel +from .fallback_plan import FallbackPlan +from .hume_voice_model import HumeVoiceModel +from .inworld_voice_language_code import InworldVoiceLanguageCode +from .inworld_voice_model import InworldVoiceModel +from .inworld_voice_voice_id import InworldVoiceVoiceId +from .lmnt_voice_id import LmntVoiceId +from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId +from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost +from .minimax_voice_model import MinimaxVoiceModel +from .minimax_voice_region import MinimaxVoiceRegion +from .minimax_voice_subtitle_type import MinimaxVoiceSubtitleType +from .neuphonic_voice_model import NeuphonicVoiceModel +from .open_ai_voice_id import OpenAiVoiceId +from .open_ai_voice_model import OpenAiVoiceModel +from .play_ht_voice_emotion import PlayHtVoiceEmotion +from .play_ht_voice_id import PlayHtVoiceId +from .play_ht_voice_language import PlayHtVoiceLanguage +from .play_ht_voice_model import PlayHtVoiceModel +from .rime_ai_voice_id import RimeAiVoiceId +from .rime_ai_voice_language import RimeAiVoiceLanguage +from .rime_ai_voice_model import RimeAiVoiceModel +from .server import Server +from .sesame_voice_model import SesameVoiceModel +from .smallest_ai_voice_id import SmallestAiVoiceId +from .smallest_ai_voice_model import SmallestAiVoiceModel +from .tavus_conversation_properties import TavusConversationProperties +from .tavus_voice_voice_id import TavusVoiceVoiceId +from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion +from .vapi_voice_voice_id import VapiVoiceVoiceId +from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId + + +class AssistantVersionVoice_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["azure"] = "azure" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[AzureVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[CartesiaVoiceModel] = None + language: typing.Optional[CartesiaVoiceLanguage] = None + experimental_controls: typing_extensions.Annotated[ + typing.Optional[CartesiaExperimentalControls], + FieldMetadata(alias="experimentalControls"), + pydantic.Field(alias="experimentalControls"), + ] = None + generation_config: typing_extensions.Annotated[ + typing.Optional[CartesiaGenerationConfig], + FieldMetadata(alias="generationConfig"), + pydantic.Field(alias="generationConfig"), + ] = None + pronunciation_dict_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="pronunciationDictId"), pydantic.Field(alias="pronunciationDictId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_CustomVoice(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["custom-voice"] = "custom-voice" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + DeepgramVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[DeepgramVoiceModel] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["11labs"] = "11labs" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + ElevenLabsVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + stability: typing.Optional[float] = None + similarity_boost: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="similarityBoost"), pydantic.Field(alias="similarityBoost") + ] = None + style: typing.Optional[float] = None + use_speaker_boost: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="useSpeakerBoost"), pydantic.Field(alias="useSpeakerBoost") + ] = None + speed: typing.Optional[float] = None + optimize_streaming_latency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="optimizeStreamingLatency"), + pydantic.Field(alias="optimizeStreamingLatency"), + ] = None + enable_ssml_parsing: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsmlParsing"), pydantic.Field(alias="enableSsmlParsing") + ] = None + auto_mode: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="autoMode"), pydantic.Field(alias="autoMode") + ] = None + model: typing.Optional[ElevenLabsVoiceModel] = None + language: typing.Optional[str] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + pronunciation_dictionary_locators: typing_extensions.Annotated[ + typing.Optional[typing.List[ElevenLabsPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionaryLocators"), + pydantic.Field(alias="pronunciationDictionaryLocators"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Hume(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["hume"] = "hume" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + model: typing.Optional[HumeVoiceModel] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + is_custom_hume_voice: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="isCustomHumeVoice"), pydantic.Field(alias="isCustomHumeVoice") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + description: typing.Optional[str] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Lmnt(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["lmnt"] = "lmnt" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[LmntVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + speed: typing.Optional[float] = None + language: typing.Optional[LmntVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Neuphonic(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["neuphonic"] = "neuphonic" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[NeuphonicVoiceModel] = None + language: typing.Dict[str, typing.Any] + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["openai"] = "openai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + OpenAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[OpenAiVoiceModel] = None + instructions: typing.Optional[str] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Playht(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["playht"] = "playht" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + PlayHtVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + speed: typing.Optional[float] = None + temperature: typing.Optional[float] = None + emotion: typing.Optional[PlayHtVoiceEmotion] = None + voice_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="voiceGuidance"), pydantic.Field(alias="voiceGuidance") + ] = None + style_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleGuidance"), pydantic.Field(alias="styleGuidance") + ] = None + text_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="textGuidance"), pydantic.Field(alias="textGuidance") + ] = None + model: typing.Optional[PlayHtVoiceModel] = None + language: typing.Optional[PlayHtVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Wellsaid(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["wellsaid"] = "wellsaid" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[WellSaidVoiceModel] = None + enable_ssml: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsml"), pydantic.Field(alias="enableSsml") + ] = None + library_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="libraryIds"), pydantic.Field(alias="libraryIds") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_RimeAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["rime-ai"] = "rime-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + RimeAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[RimeAiVoiceModel] = None + speed: typing.Optional[float] = None + pause_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="pauseBetweenBrackets"), pydantic.Field(alias="pauseBetweenBrackets") + ] = None + phonemize_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="phonemizeBetweenBrackets"), + pydantic.Field(alias="phonemizeBetweenBrackets"), + ] = None + reduce_latency: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="reduceLatency"), pydantic.Field(alias="reduceLatency") + ] = None + inline_speed_alpha: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="inlineSpeedAlpha"), pydantic.Field(alias="inlineSpeedAlpha") + ] = None + language: typing.Optional[RimeAiVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_SmallestAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["smallest-ai"] = "smallest-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + SmallestAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[SmallestAiVoiceModel] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Tavus(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["tavus"] = "tavus" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + TavusVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + persona_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="personaId"), pydantic.Field(alias="personaId") + ] = None + callback_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callbackUrl"), pydantic.Field(alias="callbackUrl") + ] = None + conversation_name: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationName"), pydantic.Field(alias="conversationName") + ] = None + conversational_context: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="conversationalContext"), + pydantic.Field(alias="conversationalContext"), + ] = None + custom_greeting: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="customGreeting"), pydantic.Field(alias="customGreeting") + ] = None + properties: typing.Optional[TavusConversationProperties] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["vapi"] = "vapi" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + version: typing.Optional[VapiVoiceVersion] = None + speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None + pronunciation_dictionary: typing_extensions.Annotated[ + typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionary"), + pydantic.Field(alias="pronunciationDictionary"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 AssistantVersionVoice_Sesame(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["sesame"] = "sesame" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: SesameVoiceModel + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Inworld(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["inworld"] = "inworld" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + InworldVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[InworldVoiceModel] = None + language_code: typing_extensions.Annotated[ + typing.Optional[InworldVoiceLanguageCode], + FieldMetadata(alias="languageCode"), + pydantic.Field(alias="languageCode"), + ] = None + temperature: typing.Optional[float] = None + speaking_rate: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speakingRate"), pydantic.Field(alias="speakingRate") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["minimax"] = "minimax" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[MinimaxVoiceModel] = None + emotion: typing.Optional[str] = None + subtitle_type: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceSubtitleType], + FieldMetadata(alias="subtitleType"), + pydantic.Field(alias="subtitleType"), + ] = None + pitch: typing.Optional[float] = None + speed: typing.Optional[float] = None + volume: typing.Optional[float] = None + region: typing.Optional[MinimaxVoiceRegion] = None + language_boost: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceLanguageBoost], + FieldMetadata(alias="languageBoost"), + pydantic.Field(alias="languageBoost"), + ] = None + text_normalization_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="textNormalizationEnabled"), + pydantic.Field(alias="textNormalizationEnabled"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVersionVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + +AssistantVersionVoice = typing_extensions.Annotated[ + typing.Union[ + AssistantVersionVoice_Azure, + AssistantVersionVoice_Cartesia, + AssistantVersionVoice_CustomVoice, + AssistantVersionVoice_Deepgram, + AssistantVersionVoice_11Labs, + AssistantVersionVoice_Hume, + AssistantVersionVoice_Lmnt, + AssistantVersionVoice_Neuphonic, + AssistantVersionVoice_Openai, + AssistantVersionVoice_Playht, + AssistantVersionVoice_Wellsaid, + AssistantVersionVoice_RimeAi, + AssistantVersionVoice_SmallestAi, + AssistantVersionVoice_Tavus, + AssistantVersionVoice_Vapi, + AssistantVersionVoice_Sesame, + AssistantVersionVoice_Inworld, + AssistantVersionVoice_Minimax, + AssistantVersionVoice_Xai, + AssistantVersionVoice_Microsoft, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/assistant_version_voicemail_detection.py b/src/vapi/types/assistant_version_voicemail_detection.py new file mode 100644 index 00000000..fc762f02 --- /dev/null +++ b/src/vapi/types/assistant_version_voicemail_detection.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .assistant_version_voicemail_detection_zero import AssistantVersionVoicemailDetectionZero +from .google_voicemail_detection_plan import GoogleVoicemailDetectionPlan +from .open_ai_voicemail_detection_plan import OpenAiVoicemailDetectionPlan +from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan +from .vapi_voicemail_detection_plan import VapiVoicemailDetectionPlan + +AssistantVersionVoicemailDetection = typing.Union[ + AssistantVersionVoicemailDetectionZero, + GoogleVoicemailDetectionPlan, + OpenAiVoicemailDetectionPlan, + TwilioVoicemailDetectionPlan, + VapiVoicemailDetectionPlan, +] diff --git a/src/vapi/types/assistant_version_voicemail_detection_zero.py b/src/vapi/types/assistant_version_voicemail_detection_zero.py new file mode 100644 index 00000000..618d2601 --- /dev/null +++ b/src/vapi/types/assistant_version_voicemail_detection_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AssistantVersionVoicemailDetectionZero = typing.Union[typing.Literal["off"], typing.Any] diff --git a/src/vapi/types/assistant_voice.py b/src/vapi/types/assistant_voice.py index f0bc9e44..724ef7f2 100644 --- a/src/vapi/types/assistant_voice.py +++ b/src/vapi/types/assistant_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class AssistantVoice_Azure(UncheckedBaseModel): @@ -577,7 +584,9 @@ class AssistantVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -586,9 +595,6 @@ class AssistantVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -715,6 +721,72 @@ class Config: extra = pydantic.Extra.allow +class AssistantVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 AssistantVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + AssistantVoice = typing_extensions.Annotated[ typing.Union[ AssistantVoice_Azure, @@ -735,6 +807,8 @@ class Config: AssistantVoice_Sesame, AssistantVoice_Inworld, AssistantVoice_Minimax, + AssistantVoice_Xai, + AssistantVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/audio_format.py b/src/vapi/types/audio_format.py new file mode 100644 index 00000000..64ad3471 --- /dev/null +++ b/src/vapi/types/audio_format.py @@ -0,0 +1,40 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .audio_format_container import AudioFormatContainer + + +class AudioFormat(UncheckedBaseModel): + sample_rate: typing_extensions.Annotated[ + float, + FieldMetadata(alias="sampleRate"), + pydantic.Field(alias="sampleRate", description="This is the sample rate of the call.\n\n@default 16000"), + ] + format: typing.Dict[str, typing.Any] = pydantic.Field() + """ + This is the audio format of the call. + + @default 'pcm_s16le' + """ + + container: typing.Optional[AudioFormatContainer] = pydantic.Field(default=None) + """ + This is the container format of the call. + + @default 'raw' + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/campaigns/types/update_campaign_dto_status.py b/src/vapi/types/audio_format_container.py similarity index 51% rename from src/vapi/campaigns/types/update_campaign_dto_status.py rename to src/vapi/types/audio_format_container.py index a8ebb9d2..21a70ea6 100644 --- a/src/vapi/campaigns/types/update_campaign_dto_status.py +++ b/src/vapi/types/audio_format_container.py @@ -2,4 +2,4 @@ import typing -UpdateCampaignDtoStatus = typing.Union[typing.Literal["ended"], typing.Any] +AudioFormatContainer = typing.Union[typing.Literal["raw"], typing.Any] diff --git a/src/vapi/types/aws_sts_authentication_plan.py b/src/vapi/types/aws_sts_authentication_plan.py index ed4d0648..08d7837f 100644 --- a/src/vapi/types/aws_sts_authentication_plan.py +++ b/src/vapi/types/aws_sts_authentication_plan.py @@ -10,6 +10,10 @@ class AwsStsAuthenticationPlan(UncheckedBaseModel): + """ + AWS Security Token Service role-assumption configuration used to authenticate requests. + """ + role_arn: typing_extensions.Annotated[ str, FieldMetadata(alias="roleArn"), diff --git a/src/vapi/types/awsiam_credentials_authentication_plan.py b/src/vapi/types/awsiam_credentials_authentication_plan.py index 27430cc4..243d8e22 100644 --- a/src/vapi/types/awsiam_credentials_authentication_plan.py +++ b/src/vapi/types/awsiam_credentials_authentication_plan.py @@ -10,6 +10,10 @@ class AwsiamCredentialsAuthenticationPlan(UncheckedBaseModel): + """ + Direct AWS IAM credentials used to authenticate requests. + """ + aws_access_key_id: typing_extensions.Annotated[ str, FieldMetadata(alias="awsAccessKeyId"), diff --git a/src/vapi/types/azure_blob_storage_bucket_plan.py b/src/vapi/types/azure_blob_storage_bucket_plan.py index 70ce8f98..46b697f7 100644 --- a/src/vapi/types/azure_blob_storage_bucket_plan.py +++ b/src/vapi/types/azure_blob_storage_bucket_plan.py @@ -10,6 +10,10 @@ class AzureBlobStorageBucketPlan(UncheckedBaseModel): + """ + Azure Blob Storage container configuration for call artifacts, including its connection string, container name, and storage path. + """ + connection_string: typing_extensions.Annotated[ str, FieldMetadata(alias="connectionString"), diff --git a/src/vapi/types/azure_credential_region.py b/src/vapi/types/azure_credential_region.py index f1444bd5..345ff4ce 100644 --- a/src/vapi/types/azure_credential_region.py +++ b/src/vapi/types/azure_credential_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/azure_open_ai_credential_models_item.py b/src/vapi/types/azure_open_ai_credential_models_item.py index ee8c6008..fb55c49b 100644 --- a/src/vapi/types/azure_open_ai_credential_models_item.py +++ b/src/vapi/types/azure_open_ai_credential_models_item.py @@ -27,6 +27,9 @@ "gpt-4-0613", "gpt-35-turbo-0125", "gpt-35-turbo-1106", + "gpt-4o", + "gpt-4.1", + "gpt-5.4-mini-2026-03-17", ], typing.Any, ] diff --git a/src/vapi/types/azure_open_ai_credential_region.py b/src/vapi/types/azure_open_ai_credential_region.py index dc6c825c..10cdb50c 100644 --- a/src/vapi/types/azure_open_ai_credential_region.py +++ b/src/vapi/types/azure_open_ai_credential_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/azure_speech_transcriber.py b/src/vapi/types/azure_speech_transcriber.py index 0593f9d6..9fbb3e87 100644 --- a/src/vapi/types/azure_speech_transcriber.py +++ b/src/vapi/types/azure_speech_transcriber.py @@ -13,6 +13,10 @@ class AzureSpeechTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Azure Speech, including language, segmentation, and fallback settings. + """ + language: typing.Optional[AzureSpeechTranscriberLanguage] = pydantic.Field(default=None) """ This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt diff --git a/src/vapi/types/azure_voice.py b/src/vapi/types/azure_voice.py index 9ad031db..fb98c2f8 100644 --- a/src/vapi/types/azure_voice.py +++ b/src/vapi/types/azure_voice.py @@ -13,6 +13,10 @@ class AzureVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Azure, including voice selection, speed, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/background_speech_denoising_plan.py b/src/vapi/types/background_speech_denoising_plan.py index 32956773..953b4d7a 100644 --- a/src/vapi/types/background_speech_denoising_plan.py +++ b/src/vapi/types/background_speech_denoising_plan.py @@ -12,6 +12,10 @@ class BackgroundSpeechDenoisingPlan(UncheckedBaseModel): + """ + Controls smart and Fourier denoising applied to customer audio before transcription. + """ + smart_denoising_plan: typing_extensions.Annotated[ typing.Optional[SmartDenoisingPlan], FieldMetadata(alias="smartDenoisingPlan"), diff --git a/src/vapi/types/backoff_plan.py b/src/vapi/types/backoff_plan.py index 55faa4f0..a9398bf3 100644 --- a/src/vapi/types/backoff_plan.py +++ b/src/vapi/types/backoff_plan.py @@ -10,6 +10,10 @@ class BackoffPlan(UncheckedBaseModel): + """ + Controls retry behavior for failed server requests, including strategy, maximum retries, base delay, and status codes excluded from retries. + """ + type: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the type of backoff plan to use. Defaults to fixed. @@ -30,7 +34,7 @@ class BackoffPlan(UncheckedBaseModel): FieldMetadata(alias="baseDelaySeconds"), pydantic.Field( alias="baseDelaySeconds", - description="This is the base delay in seconds. For linear backoff, this is the delay between each retry. For exponential backoff, this is the initial delay.", + description="Base delay in seconds. For fixed backoff, this is the delay between retries. For exponential backoff, this is the initial delay.", ), ] excluded_status_codes: typing_extensions.Annotated[ @@ -38,7 +42,7 @@ class BackoffPlan(UncheckedBaseModel): FieldMetadata(alias="excludedStatusCodes"), pydantic.Field( alias="excludedStatusCodes", - description="This is the excluded status codes. If the response status code is in this list, the request will not be retried.\nBy default, the request will be retried for any non-2xx status code.", + description="HTTP status codes that should not trigger a retry. By default, any non-2xx status code not listed here can be retried.", ), ] = None diff --git a/src/vapi/types/bar_insight.py b/src/vapi/types/bar_insight.py index 26ce9e24..4ea818d6 100644 --- a/src/vapi/types/bar_insight.py +++ b/src/vapi/types/bar_insight.py @@ -16,6 +16,10 @@ class BarInsight(UncheckedBaseModel): + """ + A saved bar-chart insight containing its call-data queries, formulas, grouping, stepped time range, metadata, and lifecycle information. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -46,7 +50,11 @@ class BarInsight(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the bar-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[BarInsightGroupBy], @@ -87,6 +95,11 @@ class BarInsight(UncheckedBaseModel): alias="updatedAt", description="This is the ISO 8601 date-time string of when the Insight was last updated." ), ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field(alias="systemKey", description="Stable server-owned identifier for system-created insights."), + ] = 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/vapi/types/bar_insight_metadata.py b/src/vapi/types/bar_insight_metadata.py index ce11229e..1b8a5f45 100644 --- a/src/vapi/types/bar_insight_metadata.py +++ b/src/vapi/types/bar_insight_metadata.py @@ -10,19 +10,34 @@ class BarInsightMetadata(UncheckedBaseModel): + """ + Display settings for a bar insight, including chart name, axis labels, and optional y-axis bounds. + """ + x_axis_label: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="xAxisLabel"), pydantic.Field(alias="xAxisLabel") + typing.Optional[str], + FieldMetadata(alias="xAxisLabel"), + pydantic.Field(alias="xAxisLabel", description="Label displayed on the chart's x-axis."), ] = None y_axis_label: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="yAxisLabel"), pydantic.Field(alias="yAxisLabel") + typing.Optional[str], + FieldMetadata(alias="yAxisLabel"), + pydantic.Field(alias="yAxisLabel", description="Label displayed on the chart's y-axis."), ] = None y_axis_min: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="yAxisMin"), pydantic.Field(alias="yAxisMin") + typing.Optional[float], + FieldMetadata(alias="yAxisMin"), + pydantic.Field(alias="yAxisMin", description="Minimum value displayed on the chart's y-axis."), ] = None y_axis_max: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="yAxisMax"), pydantic.Field(alias="yAxisMax") + typing.Optional[float], + FieldMetadata(alias="yAxisMax"), + pydantic.Field(alias="yAxisMax", description="Maximum value displayed on the chart's y-axis."), ] = None - name: typing.Optional[str] = None + name: typing.Optional[str] = pydantic.Field(default=None) + """ + Display name for the insight chart. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/bash_tool.py b/src/vapi/types/bash_tool.py index 2f476bc7..61a55d17 100644 --- a/src/vapi/types/bash_tool.py +++ b/src/vapi/types/bash_tool.py @@ -18,11 +18,16 @@ class BashTool(UncheckedBaseModel): + """ + A reusable tool that executes shell commands in a configured environment. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[BashToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/bash_tool_messages_item.py b/src/vapi/types/bash_tool_messages_item.py index 2c0baa72..ed829cf3 100644 --- a/src/vapi/types/bash_tool_messages_item.py +++ b/src/vapi/types/bash_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class BashToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class BashToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/bash_tool_with_tool_call.py b/src/vapi/types/bash_tool_with_tool_call.py index 0ca0d6a6..0b0c97db 100644 --- a/src/vapi/types/bash_tool_with_tool_call.py +++ b/src/vapi/types/bash_tool_with_tool_call.py @@ -20,9 +20,7 @@ class BashToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[BashToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/bash_tool_with_tool_call_messages_item.py b/src/vapi/types/bash_tool_with_tool_call_messages_item.py index 53549d58..547acb93 100644 --- a/src/vapi/types/bash_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/bash_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class BashToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class BashToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/bearer_authentication_plan.py b/src/vapi/types/bearer_authentication_plan.py index d7fec9b1..6d016539 100644 --- a/src/vapi/types/bearer_authentication_plan.py +++ b/src/vapi/types/bearer_authentication_plan.py @@ -10,6 +10,10 @@ class BearerAuthenticationPlan(UncheckedBaseModel): + """ + Configuration for authenticating outbound requests with a bearer token, including header name and optional `Bearer` prefix. + """ + token: str = pydantic.Field() """ This is the bearer token value. diff --git a/src/vapi/types/board.py b/src/vapi/types/board.py new file mode 100644 index 00000000..3df17f90 --- /dev/null +++ b/src/vapi/types/board.py @@ -0,0 +1,82 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .board_items_item import BoardItemsItem +from .board_layout import BoardLayout +from .insight_time_range_with_step import InsightTimeRangeWithStep + + +class Board(UncheckedBaseModel): + items: typing.Optional[typing.List[BoardItemsItem]] = pydantic.Field(default=None) + """ + This is the contents of the Board, which is an array of objects defining the type, contents, and position of the widgets on the Board. + """ + + id: str = pydantic.Field() + """ + This is the unique identifier for the Board. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field( + alias="orgId", description="This is the unique identifier for the org that this Board belongs to." + ), + ] + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field( + alias="createdAt", description="This is the ISO 8601 date-time string of when the Board was created." + ), + ] + updated_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field( + alias="updatedAt", description="This is the ISO 8601 date-time string of when the Board was last updated." + ), + ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field( + alias="systemKey", + description="Server-owned key for system-provisioned boards. User create/update DTOs do\nnot accept this field.", + ), + ] = None + name: str = pydantic.Field() + """ + This is the name of the Board. + """ + + layout: BoardLayout = pydantic.Field() + """ + This is the layout of the Board. + """ + + time_range_override: typing_extensions.Annotated[ + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRangeOverride"), + pydantic.Field( + alias="timeRangeOverride", + description="This is the timerange override for the board.\nBy default, individual insights have their own timerange.\nThis is a global override for the board which will be passed to all insights on the board.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/board_insight_item.py b/src/vapi/types/board_insight_item.py new file mode 100644 index 00000000..7ccc0134 --- /dev/null +++ b/src/vapi/types/board_insight_item.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .board_insight_item_type import BoardInsightItemType +from .board_item_position import BoardItemPosition +from .board_item_size import BoardItemSize + + +class BoardInsightItem(UncheckedBaseModel): + type: BoardInsightItemType + insight_id: typing_extensions.Annotated[str, FieldMetadata(alias="insightId"), pydantic.Field(alias="insightId")] + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None + position: BoardItemPosition + size: BoardItemSize + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/trieve_credential_provider.py b/src/vapi/types/board_insight_item_type.py similarity index 50% rename from src/vapi/types/trieve_credential_provider.py rename to src/vapi/types/board_insight_item_type.py index 7f50b3b2..fecbfb30 100644 --- a/src/vapi/types/trieve_credential_provider.py +++ b/src/vapi/types/board_insight_item_type.py @@ -2,4 +2,4 @@ import typing -TrieveCredentialProvider = typing.Union[typing.Literal["trieve"], typing.Any] +BoardInsightItemType = typing.Union[typing.Literal["insight"], typing.Any] diff --git a/src/vapi/types/board_item_position.py b/src/vapi/types/board_item_position.py new file mode 100644 index 00000000..e4cab269 --- /dev/null +++ b/src/vapi/types/board_item_position.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 BoardItemPosition(UncheckedBaseModel): + x: float + 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/vapi/types/board_item_size.py b/src/vapi/types/board_item_size.py new file mode 100644 index 00000000..d97bf7ee --- /dev/null +++ b/src/vapi/types/board_item_size.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 BoardItemSize(UncheckedBaseModel): + width: float + height: 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/vapi/types/board_items_item.py b/src/vapi/types/board_items_item.py new file mode 100644 index 00000000..84b0061e --- /dev/null +++ b/src/vapi/types/board_items_item.py @@ -0,0 +1,8 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .board_insight_item import BoardInsightItem +from .board_metric_widget_item import BoardMetricWidgetItem + +BoardItemsItem = typing.Union[BoardInsightItem, BoardMetricWidgetItem] diff --git a/src/vapi/types/board_layout.py b/src/vapi/types/board_layout.py new file mode 100644 index 00000000..c3f4da14 --- /dev/null +++ b/src/vapi/types/board_layout.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 + + +class BoardLayout(UncheckedBaseModel): + columns: float = pydantic.Field() + """ + This is the number of columns in the Board. + For now, it is fixed to 6. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/board_metric_widget_item.py b/src/vapi/types/board_metric_widget_item.py new file mode 100644 index 00000000..0b18e2d5 --- /dev/null +++ b/src/vapi/types/board_metric_widget_item.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .board_item_position import BoardItemPosition +from .board_item_size import BoardItemSize +from .board_metric_widget_item_type import BoardMetricWidgetItemType + + +class BoardMetricWidgetItem(UncheckedBaseModel): + type: BoardMetricWidgetItemType + position: BoardItemPosition + size: BoardItemSize + insight_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="insightId"), pydantic.Field(alias="insightId") + ] = None + system_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="systemKey"), pydantic.Field(alias="systemKey") + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/board_metric_widget_item_type.py b/src/vapi/types/board_metric_widget_item_type.py new file mode 100644 index 00000000..48b0f69b --- /dev/null +++ b/src/vapi/types/board_metric_widget_item_type.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BoardMetricWidgetItemType = typing.Union[ + typing.Literal["failed_calls_list", "concurrency_chart", "average_cost_breakdown_chart"], typing.Any +] diff --git a/src/vapi/types/board_paginated_response.py b/src/vapi/types/board_paginated_response.py new file mode 100644 index 00000000..b53e7eb8 --- /dev/null +++ b/src/vapi/types/board_paginated_response.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 .board import Board +from .pagination_meta import PaginationMeta + + +class BoardPaginatedResponse(UncheckedBaseModel): + results: typing.List[Board] + metadata: PaginationMeta + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/boolean_comparator_scorecard_metric_condition.py b/src/vapi/types/boolean_comparator_scorecard_metric_condition.py new file mode 100644 index 00000000..dd8934c8 --- /dev/null +++ b/src/vapi/types/boolean_comparator_scorecard_metric_condition.py @@ -0,0 +1,44 @@ +# 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 .boolean_comparator_scorecard_metric_condition_comparator import ( + BooleanComparatorScorecardMetricConditionComparator, +) +from .boolean_comparator_scorecard_metric_condition_type import BooleanComparatorScorecardMetricConditionType + + +class BooleanComparatorScorecardMetricCondition(UncheckedBaseModel): + type: BooleanComparatorScorecardMetricConditionType = pydantic.Field() + """ + This is the type of the condition. Currently only 'comparator' is supported. + """ + + comparator: BooleanComparatorScorecardMetricConditionComparator = pydantic.Field() + """ + The comparator can only be '=' for boolean conditions. + """ + + value: bool = pydantic.Field() + """ + This is the value that will be used to compare the result of the structured output with the comparator. + If the result of the comparison is true, the points will be added to the overall score. + """ + + points: float = pydantic.Field() + """ + These are the points that will be added to the overall score if the condition is met. + The points must be between 0 and 100. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.py b/src/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.py new file mode 100644 index 00000000..54c92a56 --- /dev/null +++ b/src/vapi/types/boolean_comparator_scorecard_metric_condition_comparator.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BooleanComparatorScorecardMetricConditionComparator = typing.Union[typing.Literal["="], typing.Any] diff --git a/src/vapi/types/boolean_comparator_scorecard_metric_condition_type.py b/src/vapi/types/boolean_comparator_scorecard_metric_condition_type.py new file mode 100644 index 00000000..7878f8ab --- /dev/null +++ b/src/vapi/types/boolean_comparator_scorecard_metric_condition_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BooleanComparatorScorecardMetricConditionType = typing.Union[typing.Literal["comparator"], typing.Any] diff --git a/src/vapi/types/bot_message.py b/src/vapi/types/bot_message.py index 68c810a5..e315f682 100644 --- a/src/vapi/types/bot_message.py +++ b/src/vapi/types/bot_message.py @@ -10,6 +10,10 @@ class BotMessage(UncheckedBaseModel): + """ + An assistant-authored entry in the call message history, including content, timing, source, and duration. + """ + role: str = pydantic.Field() """ The role of the bot in the conversation. @@ -47,6 +51,23 @@ class BotMessage(UncheckedBaseModel): The duration of the message in seconds. """ + assistant_name: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantName"), + pydantic.Field( + alias="assistantName", + description="The name of the assistant that produced this message. In a squad or\nhandoff call this is the specific sub-agent active when the message was\nspoken, letting the transcript label each message by speaker.", + ), + ] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantId"), + pydantic.Field( + alias="assistantId", + description="The ID of the assistant that produced this message. Stable reference for\nthe assistant named in `assistantName`.", + ), + ] = None + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/both_custom_endpointing_rule.py b/src/vapi/types/both_custom_endpointing_rule.py index 1a09a4e0..5472dcf4 100644 --- a/src/vapi/types/both_custom_endpointing_rule.py +++ b/src/vapi/types/both_custom_endpointing_rule.py @@ -11,6 +11,10 @@ class BothCustomEndpointingRule(UncheckedBaseModel): + """ + A custom endpointing rule that matches both the assistant's last message and the customer's current speech before applying a configured timeout. + """ + assistant_regex: typing_extensions.Annotated[ str, FieldMetadata(alias="assistantRegex"), @@ -28,7 +32,11 @@ class BothCustomEndpointingRule(UncheckedBaseModel): ), ] = None customer_regex: typing_extensions.Annotated[ - str, FieldMetadata(alias="customerRegex"), pydantic.Field(alias="customerRegex") + str, + FieldMetadata(alias="customerRegex"), + pydantic.Field( + alias="customerRegex", description="The regular expression pattern matched against the customer's speech." + ), ] customer_regex_options: typing_extensions.Annotated[ typing.Optional[typing.List[RegexOption]], diff --git a/src/vapi/types/bucket_plan.py b/src/vapi/types/bucket_plan.py index 0a668671..9d667974 100644 --- a/src/vapi/types/bucket_plan.py +++ b/src/vapi/types/bucket_plan.py @@ -10,6 +10,10 @@ class BucketPlan(UncheckedBaseModel): + """ + Google Cloud Storage bucket configuration for call artifacts, including bucket name, region, path, and optional HMAC credentials. + """ + name: str = pydantic.Field() """ This is the name of the bucket. diff --git a/src/vapi/types/byo_phone_number.py b/src/vapi/types/byo_phone_number.py index b64d9b8f..0c62f839 100644 --- a/src/vapi/types/byo_phone_number.py +++ b/src/vapi/types/byo_phone_number.py @@ -15,6 +15,10 @@ class ByoPhoneNumber(UncheckedBaseModel): + """ + A phone number connected to Vapi through a bring-your-own telephony provider, including its credential, routing, hooks, server settings, and lifecycle metadata. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[ByoPhoneNumberFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/byo_sip_trunk_credential.py b/src/vapi/types/byo_sip_trunk_credential.py index 54d3f72d..3dd8babd 100644 --- a/src/vapi/types/byo_sip_trunk_credential.py +++ b/src/vapi/types/byo_sip_trunk_credential.py @@ -9,7 +9,6 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .byo_sip_trunk_credential_provider import ByoSipTrunkCredentialProvider -from .sbc_configuration import SbcConfiguration from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan @@ -89,14 +88,6 @@ class ByoSipTrunkCredential(UncheckedBaseModel): description="This can be used to enable the SIP diversion header for authenticating the calling number if the SIP trunk supports it. This is an advanced property.", ), ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field( - alias="sbcConfiguration", - description="This is an advanced configuration for enterprise deployments. This uses the onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC provided by Vapi.", - ), - ] = 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/vapi/types/call.py b/src/vapi/types/call.py index af2283a1..c86adcd9 100644 --- a/src/vapi/types/call.py +++ b/src/vapi/types/call.py @@ -20,6 +20,7 @@ from .call_phone_call_provider import CallPhoneCallProvider from .call_phone_call_transport import CallPhoneCallTransport from .call_status import CallStatus +from .call_transport import CallTransport from .call_type import CallType from .compliance import Compliance from .cost_breakdown import CostBreakdown @@ -28,11 +29,14 @@ from .import_twilio_phone_number_dto import ImportTwilioPhoneNumberDto from .monitor import Monitor from .schedule_plan import SchedulePlan -from .subscription_limits import SubscriptionLimits from .workflow_overrides import WorkflowOverrides class Call(UncheckedBaseModel): + """ + A call record returned by Vapi. It contains the configuration and resources used for the call, its lifecycle status and timestamps, conversation messages, artifacts, analysis, and costs. + """ + type: typing.Optional[CallType] = pydantic.Field(default=None) """ This is the type of call. @@ -43,7 +47,11 @@ class Call(UncheckedBaseModel): These are the costs of individual components of the call in USD. """ - messages: typing.Optional[typing.List[CallMessagesItem]] = None + messages: typing.Optional[typing.List[CallMessagesItem]] = pydantic.Field(default=None) + """ + Messages exchanged during the call, including user, assistant, system, tool-call, and tool-result messages. + """ + phone_call_provider: typing_extensions.Annotated[ typing.Optional[CallPhoneCallProvider], FieldMetadata(alias="phoneCallProvider"), @@ -83,6 +91,19 @@ class Call(UncheckedBaseModel): This is the destination where the call ended up being transferred to. If the call was not transferred, this will be empty. """ + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the assistant version to use for this call. Supported only with\ndirect `assistantId`. Omit to follow the latest version.", + ), + ] = None + transport: typing.Optional[CallTransport] = pydantic.Field(default=None) + """ + This is the transport of the call. + """ + id: str = pydantic.Field() """ This is the unique identifier for the call. @@ -293,19 +314,6 @@ class Call(UncheckedBaseModel): FieldMetadata(alias="schedulePlan"), pydantic.Field(alias="schedulePlan", description="This is the schedule plan of the call."), ] = None - transport: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) - """ - This is the transport of the call. - """ - - subscription_limits: typing_extensions.Annotated[ - typing.Optional[SubscriptionLimits], - FieldMetadata(alias="subscriptionLimits"), - pydantic.Field( - alias="subscriptionLimits", - description="These are the subscription limits for the org at the time of the call. Includes concurrency limit information.", - ), - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -335,8 +343,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -372,6 +384,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -395,8 +414,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -432,6 +455,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_batch_error.py b/src/vapi/types/call_batch_error.py index 024a5a58..24d7797b 100644 --- a/src/vapi/types/call_batch_error.py +++ b/src/vapi/types/call_batch_error.py @@ -11,8 +11,19 @@ class CallBatchError(UncheckedBaseModel): - customer: CreateCustomerDto - error: str + """ + Error returned for one customer entry in a batch call request. + """ + + customer: CreateCustomerDto = pydantic.Field() + """ + Customer configuration associated with the failed call. + """ + + error: str = pydantic.Field() + """ + Error message explaining why the call could not be created. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/call_batch_response.py b/src/vapi/types/call_batch_response.py index 985f1285..39f61a59 100644 --- a/src/vapi/types/call_batch_response.py +++ b/src/vapi/types/call_batch_response.py @@ -15,6 +15,10 @@ class CallBatchResponse(UncheckedBaseModel): + """ + The result of a batch call creation request, containing successfully created calls, per-call failures, and subscription limits recorded at the end of the batch. + """ + subscription_limits: typing_extensions.Annotated[ typing.Optional[SubscriptionLimits], FieldMetadata(alias="subscriptionLimits"), diff --git a/src/vapi/types/call_costs_item.py b/src/vapi/types/call_costs_item.py index e9610aed..d73e7334 100644 --- a/src/vapi/types/call_costs_item.py +++ b/src/vapi/types/call_costs_item.py @@ -59,6 +59,9 @@ class CallCostsItem_Model(UncheckedBaseModel): cached_prompt_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="cachedPromptTokens"), pydantic.Field(alias="cachedPromptTokens") ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/call_ended_reason.py b/src/vapi/types/call_ended_reason.py index d09b537c..1aba8a7d 100644 --- a/src/vapi/types/call_ended_reason.py +++ b/src/vapi/types/call_ended_reason.py @@ -28,6 +28,7 @@ "call.start.error-subscription-upgrade-failed", "call.start.error-subscription-concurrency-limit-reached", "call.start.error-enterprise-feature-not-available-recording-consent", + "call.start.assistant-version-error-validation", "assistant-not-valid", "call.start.error-vapifault-database-error", "assistant-not-found", @@ -47,6 +48,9 @@ "pipeline-error-inworld-voice-failed", "pipeline-error-minimax-voice-failed", "pipeline-error-wellsaid-voice-failed", + "pipeline-error-xai-voice-failed", + "pipeline-error-microsoft-voice-failed", + "pipeline-error-microsoft-voice-request-canceled", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -64,6 +68,8 @@ "call.in-progress.error-vapifault-inworld-voice-failed", "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-wellsaid-voice-failed", + "call.in-progress.error-vapifault-xai-voice-failed", + "call.in-progress.error-vapifault-microsoft-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -73,12 +79,17 @@ "pipeline-error-vapi-500-server-error", "pipeline-error-vapi-503-server-overloaded-error", "call.in-progress.error-providerfault-vapi-llm-failed", + "call.in-progress.error-vapifault-vapi-llm-failed", "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed", "call.in-progress.error-vapifault-vapi-401-unauthorized", "call.in-progress.error-vapifault-vapi-403-model-access-denied", "call.in-progress.error-vapifault-vapi-429-exceeded-quota", "call.in-progress.error-providerfault-vapi-500-server-error", "call.in-progress.error-providerfault-vapi-503-server-overloaded-error", + "pipeline-error-vapi-transcriber-failed", + "call.in-progress.error-vapifault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-voice-failed", "pipeline-error-deepgram-transcriber-failed", "pipeline-error-deepgram-transcriber-api-key-missing", "call.in-progress.error-vapifault-deepgram-transcriber-failed", @@ -118,6 +129,18 @@ "call.in-progress.error-vapifault-soniox-transcriber-invalid-config", "call.in-progress.error-vapifault-soniox-transcriber-server-error", "call.in-progress.error-vapifault-soniox-transcriber-failed", + "pipeline-error-xai-transcriber-auth-failed", + "pipeline-error-xai-transcriber-rate-limited", + "pipeline-error-xai-transcriber-invalid-config", + "pipeline-error-xai-transcriber-server-error", + "pipeline-error-xai-transcriber-failed", + "call.in-progress.error-vapifault-xai-transcriber-auth-failed", + "call.in-progress.error-vapifault-xai-transcriber-rate-limited", + "call.in-progress.error-vapifault-xai-transcriber-invalid-config", + "call.in-progress.error-vapifault-xai-transcriber-server-error", + "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-cartesia-transcriber-failed", + "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", "worker-shutdown", "vonage-disconnected", @@ -560,6 +583,7 @@ "manually-canceled", "phone-call-provider-closed-websocket", "call.forwarding.operator-busy", + "call.forwarding.no-answer", "silence-timed-out", "call.in-progress.error-providerfault-outbound-sip-403-forbidden", "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required", diff --git a/src/vapi/types/call_hook_assistant_speech_interrupted.py b/src/vapi/types/call_hook_assistant_speech_interrupted.py index b54f6135..053cf30e 100644 --- a/src/vapi/types/call_hook_assistant_speech_interrupted.py +++ b/src/vapi/types/call_hook_assistant_speech_interrupted.py @@ -11,6 +11,10 @@ class CallHookAssistantSpeechInterrupted(UncheckedBaseModel): + """ + Runs configured actions when the customer's speech interrupts the assistant. + """ + on: CallHookAssistantSpeechInterruptedOn = pydantic.Field() """ This is the event that triggers this hook @@ -48,8 +52,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -85,6 +93,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -107,8 +122,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -144,6 +163,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_assistant_speech_interrupted_do_item.py b/src/vapi/types/call_hook_assistant_speech_interrupted_do_item.py index d2931480..24838fca 100644 --- a/src/vapi/types/call_hook_assistant_speech_interrupted_do_item.py +++ b/src/vapi/types/call_hook_assistant_speech_interrupted_do_item.py @@ -10,13 +10,14 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .open_ai_message import OpenAiMessage +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class CallHookAssistantSpeechInterruptedDoItem_Say(UncheckedBaseModel): type: typing.Literal["say"] = "say" + exact: typing.Optional[SayHookActionExact] = None prompt: typing.Optional[SayHookActionPrompt] = None - exact: typing.Optional[typing.Dict[str, typing.Any]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -89,8 +90,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -125,6 +130,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -148,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -184,6 +200,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_call_ending.py b/src/vapi/types/call_hook_call_ending.py index 41dfca4a..780783d2 100644 --- a/src/vapi/types/call_hook_call_ending.py +++ b/src/vapi/types/call_hook_call_ending.py @@ -12,6 +12,10 @@ class CallHookCallEnding(UncheckedBaseModel): + """ + Runs configured actions when a call is ending, optionally only when its filters match. + """ + on: CallHookCallEndingOn = pydantic.Field() """ This is the event that triggers this hook @@ -54,8 +58,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -91,6 +99,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -113,8 +128,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -150,6 +169,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_call_ending_do_item.py b/src/vapi/types/call_hook_call_ending_do_item.py index 8dae9a9a..3fdad278 100644 --- a/src/vapi/types/call_hook_call_ending_do_item.py +++ b/src/vapi/types/call_hook_call_ending_do_item.py @@ -68,8 +68,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -104,6 +108,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -127,8 +138,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -163,6 +178,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_customer_speech_interrupted.py b/src/vapi/types/call_hook_customer_speech_interrupted.py index 7a8e50f8..14db599a 100644 --- a/src/vapi/types/call_hook_customer_speech_interrupted.py +++ b/src/vapi/types/call_hook_customer_speech_interrupted.py @@ -11,6 +11,10 @@ class CallHookCustomerSpeechInterrupted(UncheckedBaseModel): + """ + Runs configured actions when the assistant interrupts the customer's speech. + """ + on: CallHookCustomerSpeechInterruptedOn = pydantic.Field() """ This is the event that triggers this hook @@ -48,8 +52,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -85,6 +93,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -107,8 +122,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -144,6 +163,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_customer_speech_interrupted_do_item.py b/src/vapi/types/call_hook_customer_speech_interrupted_do_item.py index ba12d6cc..0158d58b 100644 --- a/src/vapi/types/call_hook_customer_speech_interrupted_do_item.py +++ b/src/vapi/types/call_hook_customer_speech_interrupted_do_item.py @@ -10,13 +10,14 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .open_ai_message import OpenAiMessage +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class CallHookCustomerSpeechInterruptedDoItem_Say(UncheckedBaseModel): type: typing.Literal["say"] = "say" + exact: typing.Optional[SayHookActionExact] = None prompt: typing.Optional[SayHookActionPrompt] = None - exact: typing.Optional[typing.Dict[str, typing.Any]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -89,8 +90,12 @@ class Config: from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -125,6 +130,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -148,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -184,6 +200,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_customer_speech_timeout.py b/src/vapi/types/call_hook_customer_speech_timeout.py index 6aa0557e..b8ffaf62 100644 --- a/src/vapi/types/call_hook_customer_speech_timeout.py +++ b/src/vapi/types/call_hook_customer_speech_timeout.py @@ -11,6 +11,10 @@ class CallHookCustomerSpeechTimeout(UncheckedBaseModel): + """ + Runs configured actions when the customer does not speak before the configured timeout, with support for trigger limits and named instances. + """ + on: str = pydantic.Field() """ Must be either "customer.speech.timeout" or match the pattern "customer.speech.timeout[property=value]" @@ -23,7 +27,7 @@ class CallHookCustomerSpeechTimeout(UncheckedBaseModel): options: typing.Optional[CustomerSpeechTimeoutOptions] = pydantic.Field(default=None) """ - This is the set of filters that must match for the hook to trigger + Controls the speech timeout, maximum trigger count, and counter reset behavior for this hook. """ name: typing.Optional[str] = pydantic.Field(default=None) @@ -61,8 +65,12 @@ class Config: from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -98,6 +106,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -120,8 +135,12 @@ class Config: CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -157,6 +176,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_customer_speech_timeout_do_item.py b/src/vapi/types/call_hook_customer_speech_timeout_do_item.py index e7d0aebf..6fd0070e 100644 --- a/src/vapi/types/call_hook_customer_speech_timeout_do_item.py +++ b/src/vapi/types/call_hook_customer_speech_timeout_do_item.py @@ -10,13 +10,14 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .open_ai_message import OpenAiMessage +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class CallHookCustomerSpeechTimeoutDoItem_Say(UncheckedBaseModel): type: typing.Literal["say"] = "say" + exact: typing.Optional[SayHookActionExact] = None prompt: typing.Optional[SayHookActionPrompt] = None - exact: typing.Optional[typing.Dict[str, typing.Any]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -89,8 +90,12 @@ class Config: from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -125,6 +130,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -148,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -184,6 +200,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_filter.py b/src/vapi/types/call_hook_filter.py index 247e25b1..e1e3471a 100644 --- a/src/vapi/types/call_hook_filter.py +++ b/src/vapi/types/call_hook_filter.py @@ -11,6 +11,10 @@ class CallHookFilter(UncheckedBaseModel): + """ + Matches a call field against one or more allowed values to determine whether a hook runs. + """ + type: CallHookFilterType = pydantic.Field() """ This is the type of filter - currently only "oneOf" is supported diff --git a/src/vapi/types/call_hook_model_response_timeout.py b/src/vapi/types/call_hook_model_response_timeout.py index cddf5520..be61ff8d 100644 --- a/src/vapi/types/call_hook_model_response_timeout.py +++ b/src/vapi/types/call_hook_model_response_timeout.py @@ -7,17 +7,20 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.unchecked_base_model import UncheckedBaseModel -from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem from .call_hook_model_response_timeout_on import CallHookModelResponseTimeoutOn class CallHookModelResponseTimeout(UncheckedBaseModel): + """ + Runs configured actions when the language model does not respond before its timeout. + """ + on: CallHookModelResponseTimeoutOn = pydantic.Field() """ This is the event that triggers this hook """ - do: typing.List[CallHookModelResponseTimeoutDoItem] = pydantic.Field() + do: typing.List["CallHookModelResponseTimeoutDoItem"] = pydantic.Field() """ This is the set of actions to perform when the hook triggers """ @@ -32,4 +35,141 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(CallHookModelResponseTimeout) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + CallHookModelResponseTimeout, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/call_hook_model_response_timeout_do_item.py b/src/vapi/types/call_hook_model_response_timeout_do_item.py index da3f92e5..895c2ec8 100644 --- a/src/vapi/types/call_hook_model_response_timeout_do_item.py +++ b/src/vapi/types/call_hook_model_response_timeout_do_item.py @@ -10,13 +10,14 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .open_ai_message import OpenAiMessage +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class CallHookModelResponseTimeoutDoItem_Say(UncheckedBaseModel): type: typing.Literal["say"] = "say" + exact: typing.Optional[SayHookActionExact] = None prompt: typing.Optional[SayHookActionPrompt] = None - exact: typing.Optional[typing.Dict[str, typing.Any]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -90,8 +91,11 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -126,6 +130,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -149,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -185,6 +200,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_hook_transcriber_endpointed_speech_low_confidence_do_item.py b/src/vapi/types/call_hook_transcriber_endpointed_speech_low_confidence_do_item.py index 7463e40e..619a25f0 100644 --- a/src/vapi/types/call_hook_transcriber_endpointed_speech_low_confidence_do_item.py +++ b/src/vapi/types/call_hook_transcriber_endpointed_speech_low_confidence_do_item.py @@ -10,13 +10,14 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .open_ai_message import OpenAiMessage +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class CallHookTranscriberEndpointedSpeechLowConfidenceDoItem_Say(UncheckedBaseModel): type: typing.Literal["say"] = "say" + exact: typing.Optional[SayHookActionExact] = None prompt: typing.Optional[SayHookActionPrompt] = None - exact: typing.Optional[typing.Dict[str, typing.Any]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -90,8 +91,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -126,6 +131,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -149,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -185,6 +201,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/call_transport.py b/src/vapi/types/call_transport.py new file mode 100644 index 00000000..acc7e1f2 --- /dev/null +++ b/src/vapi/types/call_transport.py @@ -0,0 +1,213 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .audio_format import AudioFormat +from .telnyx_transport_conversation_type import TelnyxTransportConversationType +from .twilio_transport_conversation_type import TwilioTransportConversationType +from .vapi_sip_transport_conversation_type import VapiSipTransportConversationType +from .vapi_web_call_transport_conversation_type import VapiWebCallTransportConversationType +from .vapi_websocket_transport_conversation_type import VapiWebsocketTransportConversationType +from .vonage_transport_conversation_type import VonageTransportConversationType + + +class CallTransport_VapiWebsocket(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.websocket"] = "vapi.websocket" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebsocketTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + audio_format: typing_extensions.Annotated[ + typing.Optional[AudioFormat], FieldMetadata(alias="audioFormat"), pydantic.Field(alias="audioFormat") + ] = 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 CallTransport_Vonage(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vonage"] = "vonage" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VonageTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + conversation_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationUUID"), pydantic.Field(alias="conversationUUID") + ] = None + call_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUUID"), pydantic.Field(alias="callUUID") + ] = 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 CallTransport_Twilio(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["twilio"] = "twilio" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TwilioTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + account_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = None + call_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callToken"), pydantic.Field(alias="callToken") + ] = None + forwarded_from: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="forwardedFrom"), pydantic.Field(alias="forwardedFrom") + ] = 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 CallTransport_VapiSip(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.sip"] = "vapi.sip" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiSipTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + dial_timeout: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="dialTimeout"), pydantic.Field(alias="dialTimeout") + ] = None + sbc_call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sbcCallSid"), pydantic.Field(alias="sbcCallSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = 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 CallTransport_Telnyx(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["telnyx"] = "telnyx" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TelnyxTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + call_control_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callControlId"), pydantic.Field(alias="callControlId") + ] = None + call_leg_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callLegId"), pydantic.Field(alias="callLegId") + ] = None + call_session_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSessionId"), pydantic.Field(alias="callSessionId") + ] = 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 CallTransport_Daily(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["daily"] = "daily" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebCallTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + room_delete_on_user_leave_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="roomDeleteOnUserLeaveEnabled"), + pydantic.Field(alias="roomDeleteOnUserLeaveEnabled"), + ] = None + call_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUrl"), pydantic.Field(alias="callUrl") + ] = None + call_sip_uri: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSipUri"), pydantic.Field(alias="callSipUri") + ] = 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 + + +CallTransport = typing_extensions.Annotated[ + typing.Union[ + CallTransport_VapiWebsocket, + CallTransport_Vonage, + CallTransport_Twilio, + CallTransport_VapiSip, + CallTransport_Telnyx, + CallTransport_Daily, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/campaign.py b/src/vapi/types/campaign.py index 53ce458f..fd3f0727 100644 --- a/src/vapi/types/campaign.py +++ b/src/vapi/types/campaign.py @@ -11,13 +11,20 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .campaign_ended_reason import CampaignEndedReason +from .campaign_predial_plan import CampaignPredialPlan +from .campaign_server_messages_item import CampaignServerMessagesItem from .campaign_status import CampaignStatus from .create_customer_dto import CreateCustomerDto from .dial_plan_entry import DialPlanEntry from .schedule_plan import SchedulePlan +from .server import Server class Campaign(UncheckedBaseModel): + """ + A saved outbound calling campaign, including its calling configuration, schedule, status, customers, calls, and call-progress counters. + """ + status: CampaignStatus = pydantic.Field() """ This is the status of the campaign. @@ -83,9 +90,53 @@ class Campaign(UncheckedBaseModel): ] = None customers: typing.Optional[typing.List[CreateCustomerDto]] = pydantic.Field(default=None) """ - These are the customers that will be called in the campaign. Required if dialPlan is not provided. + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + """ + + max_concurrency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxConcurrency"), + pydantic.Field( + alias="maxConcurrency", + description="This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10.", + ), + ] = None + assistant_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="assistantOverrides"), + pydantic.Field( + alias="assistantOverrides", + description="These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`.", + ), + ] = None + squad_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="squadOverrides"), + pydantic.Field( + alias="squadOverrides", + description="These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. """ + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[CampaignServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", description="These are the messages that will be sent to your Server URL." + ), + ] = None + predial_plan: typing_extensions.Annotated[ + typing.Optional[CampaignPredialPlan], + FieldMetadata(alias="predialPlan"), + pydantic.Field( + alias="predialPlan", + description="This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent.", + ), + ] = None id: str = pydantic.Field() """ This is the unique identifier for the campaign. @@ -161,4 +212,143 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(Campaign) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + Campaign, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/campaign_contact.py b/src/vapi/types/campaign_contact.py new file mode 100644 index 00000000..8400a275 --- /dev/null +++ b/src/vapi/types/campaign_contact.py @@ -0,0 +1,190 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class CampaignContact(UncheckedBaseModel): + id: str + campaign_id: typing_extensions.Annotated[str, FieldMetadata(alias="campaignId"), pydantic.Field(alias="campaignId")] + org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] + customer_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="customerId"), pydantic.Field(alias="customerId") + ] = None + number: str + name: typing.Optional[str] = None + assistant_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="assistantOverrides"), + pydantic.Field(alias="assistantOverrides"), + ] = None + squad_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="squadOverrides"), + pydantic.Field( + alias="squadOverrides", + description="Use this when the campaign targets a `squadId`. Mirrors the call-level `squadOverrides` field. Merged with the campaign-level squadOverrides at dispatch time.", + ), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + ] + + 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 + + +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + CampaignContact, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/campaign_paginated_response.py b/src/vapi/types/campaign_paginated_response.py index 86f02d0a..74caaba0 100644 --- a/src/vapi/types/campaign_paginated_response.py +++ b/src/vapi/types/campaign_paginated_response.py @@ -12,8 +12,19 @@ class CampaignPaginatedResponse(UncheckedBaseModel): - results: typing.List[Campaign] - metadata: PaginationMeta + """ + A paginated collection of outbound calling campaigns and metadata describing the result set. + """ + + results: typing.List[Campaign] = pydantic.Field() + """ + The campaigns returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the campaign result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/campaign_predial_plan.py b/src/vapi/types/campaign_predial_plan.py new file mode 100644 index 00000000..990678d8 --- /dev/null +++ b/src/vapi/types/campaign_predial_plan.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 CampaignPredialPlan(UncheckedBaseModel): + enabled: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether the pre-dial eligibility webhook is active. Defaults to true when `predialPlan` is set. Set to false to keep the plan without running the webhook (useful when duplicating a campaign). + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/campaign_server_messages_item.py b/src/vapi/types/campaign_server_messages_item.py new file mode 100644 index 00000000..986a9b76 --- /dev/null +++ b/src/vapi/types/campaign_server_messages_item.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CampaignServerMessagesItem = typing.Union[ + typing.Literal[ + "campaign.started", + "campaign.cancelled", + "campaign.ended", + "campaign.archived", + "campaign.unarchived", + "contact.dispatched", + "contact.completed", + "contact.failed", + "contact.skipped", + "contact.predial-failed", + "campaign.job.continued", + ], + typing.Any, +] diff --git a/src/vapi/types/campaign_status.py b/src/vapi/types/campaign_status.py index a9357df2..2e8041e0 100644 --- a/src/vapi/types/campaign_status.py +++ b/src/vapi/types/campaign_status.py @@ -2,4 +2,4 @@ import typing -CampaignStatus = typing.Union[typing.Literal["scheduled", "in-progress", "ended"], typing.Any] +CampaignStatus = typing.Union[typing.Literal["scheduled", "in-progress", "ended", "cancelled", "archived"], typing.Any] diff --git a/src/vapi/types/cartesia_credential.py b/src/vapi/types/cartesia_credential.py index 1771d712..b14e8859 100644 --- a/src/vapi/types/cartesia_credential.py +++ b/src/vapi/types/cartesia_credential.py @@ -50,6 +50,15 @@ class CartesiaCredential(UncheckedBaseModel): This is the name of credential. This is just for your reference. """ + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="This can be used to point to an onprem Cartesia instance. Defaults to api.cartesia.ai.", + ), + ] = None + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/cartesia_experimental_controls.py b/src/vapi/types/cartesia_experimental_controls.py index 4f47b795..300b8d12 100644 --- a/src/vapi/types/cartesia_experimental_controls.py +++ b/src/vapi/types/cartesia_experimental_controls.py @@ -10,8 +10,19 @@ class CartesiaExperimentalControls(UncheckedBaseModel): - speed: typing.Optional[CartesiaSpeedControl] = None - emotion: typing.Optional[CartesiaExperimentalControlsEmotion] = None + """ + Cartesia voice controls for speed and emotion. + """ + + speed: typing.Optional[CartesiaSpeedControl] = pydantic.Field(default=None) + """ + Speaking-speed control expressed as a preset or a value from -1 to 1. + """ + + emotion: typing.Optional[CartesiaExperimentalControlsEmotion] = pydantic.Field(default=None) + """ + Emotion and intensity applied to the Cartesia voice. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/cartesia_generation_config.py b/src/vapi/types/cartesia_generation_config.py index f030824f..73945525 100644 --- a/src/vapi/types/cartesia_generation_config.py +++ b/src/vapi/types/cartesia_generation_config.py @@ -9,6 +9,10 @@ class CartesiaGenerationConfig(UncheckedBaseModel): + """ + Generation controls for Cartesia Sonic 3 voices, including speed, volume, and accent localization. + """ + speed: typing.Optional[float] = pydantic.Field(default=None) """ Fine-grained speed control for sonic-3. Only available for sonic-3 model. diff --git a/src/vapi/types/cartesia_generation_config_experimental.py b/src/vapi/types/cartesia_generation_config_experimental.py index c07f2086..7155011b 100644 --- a/src/vapi/types/cartesia_generation_config_experimental.py +++ b/src/vapi/types/cartesia_generation_config_experimental.py @@ -10,6 +10,10 @@ class CartesiaGenerationConfigExperimental(UncheckedBaseModel): + """ + Cartesia Sonic 3 generation controls, including accent localization. + """ + accent_localization: typing_extensions.Annotated[ typing.Optional[int], FieldMetadata(alias="accentLocalization"), diff --git a/src/vapi/types/cartesia_transcriber.py b/src/vapi/types/cartesia_transcriber.py index e58ca77c..8feba54a 100644 --- a/src/vapi/types/cartesia_transcriber.py +++ b/src/vapi/types/cartesia_transcriber.py @@ -13,8 +13,20 @@ class CartesiaTranscriber(UncheckedBaseModel): - model: typing.Optional[CartesiaTranscriberModel] = None - language: typing.Optional[CartesiaTranscriberLanguage] = None + """ + Configuration for transcribing speech during assistant conversations with Cartesia, including model, language, and fallback settings. + """ + + model: typing.Optional[CartesiaTranscriberModel] = pydantic.Field(default=None) + """ + The Cartesia speech-to-text model used for transcription. + """ + + language: typing.Optional[CartesiaTranscriberLanguage] = pydantic.Field(default=None) + """ + The language code used for transcription. + """ + fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), diff --git a/src/vapi/types/cartesia_transcriber_model.py b/src/vapi/types/cartesia_transcriber_model.py index 762fdd3d..3da8eca1 100644 --- a/src/vapi/types/cartesia_transcriber_model.py +++ b/src/vapi/types/cartesia_transcriber_model.py @@ -2,4 +2,4 @@ import typing -CartesiaTranscriberModel = typing.Union[typing.Literal["ink-whisper"], typing.Any] +CartesiaTranscriberModel = typing.Union[typing.Literal["ink-whisper", "ink-2"], typing.Any] diff --git a/src/vapi/types/cartesia_voice.py b/src/vapi/types/cartesia_voice.py index 2e0f9a6a..0917a84e 100644 --- a/src/vapi/types/cartesia_voice.py +++ b/src/vapi/types/cartesia_voice.py @@ -16,6 +16,10 @@ class CartesiaVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Cartesia, including voice and model selection, language, generation controls, pronunciation dictionaries, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/cartesia_voice_model.py b/src/vapi/types/cartesia_voice_model.py index 67dcd88d..cffdb756 100644 --- a/src/vapi/types/cartesia_voice_model.py +++ b/src/vapi/types/cartesia_voice_model.py @@ -4,6 +4,8 @@ CartesiaVoiceModel = typing.Union[ typing.Literal[ + "sonic-3.5", + "sonic-3.5-2026-05-04", "sonic-3", "sonic-3-2026-01-12", "sonic-3-2025-10-27", diff --git a/src/vapi/types/cerebras_model.py b/src/vapi/types/cerebras_model.py index 363d20ef..14261bba 100644 --- a/src/vapi/types/cerebras_model.py +++ b/src/vapi/types/cerebras_model.py @@ -12,9 +12,14 @@ from .cerebras_model_model import CerebrasModelModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class CerebrasModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Cerebras, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class CerebrasModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class CerebrasModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,7 +116,11 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,7 +186,11 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -198,6 +226,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/cerebras_model_tools_item.py b/src/vapi/types/cerebras_model_tools_item.py index f691fa20..7f5e13e0 100644 --- a/src/vapi/types/cerebras_model_tools_item.py +++ b/src/vapi/types/cerebras_model_tools_item.py @@ -67,6 +67,7 @@ class CerebrasModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class CerebrasModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,7 +610,11 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/chat.py b/src/vapi/types/chat.py index e1fa9444..52c07108 100644 --- a/src/vapi/types/chat.py +++ b/src/vapi/types/chat.py @@ -159,8 +159,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -196,6 +200,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -219,8 +230,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -256,6 +271,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/chat_costs_item.py b/src/vapi/types/chat_costs_item.py index 93f7bb32..260f53d9 100644 --- a/src/vapi/types/chat_costs_item.py +++ b/src/vapi/types/chat_costs_item.py @@ -23,6 +23,9 @@ class ChatCostsItem_Model(UncheckedBaseModel): cached_prompt_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="cachedPromptTokens"), pydantic.Field(alias="cachedPromptTokens") ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/chat_eval_assistant_message_evaluation.py b/src/vapi/types/chat_eval_assistant_message_evaluation.py index fedf57ff..30915a0b 100644 --- a/src/vapi/types/chat_eval_assistant_message_evaluation.py +++ b/src/vapi/types/chat_eval_assistant_message_evaluation.py @@ -13,6 +13,10 @@ class ChatEvalAssistantMessageEvaluation(UncheckedBaseModel): + """ + An expected assistant turn in an evaluation, including the judge plan and how the evaluation should continue afterward. + """ + role: ChatEvalAssistantMessageEvaluationRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chat_eval_assistant_message_mock.py b/src/vapi/types/chat_eval_assistant_message_mock.py index ab77e789..f7887d88 100644 --- a/src/vapi/types/chat_eval_assistant_message_mock.py +++ b/src/vapi/types/chat_eval_assistant_message_mock.py @@ -12,6 +12,10 @@ class ChatEvalAssistantMessageMock(UncheckedBaseModel): + """ + A simulated assistant turn in an evaluation conversation, with optional message content and tool calls. + """ + role: ChatEvalAssistantMessageMockRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chat_eval_assistant_message_mock_tool_call.py b/src/vapi/types/chat_eval_assistant_message_mock_tool_call.py index b37c18ad..5876436b 100644 --- a/src/vapi/types/chat_eval_assistant_message_mock_tool_call.py +++ b/src/vapi/types/chat_eval_assistant_message_mock_tool_call.py @@ -8,6 +8,10 @@ class ChatEvalAssistantMessageMockToolCall(UncheckedBaseModel): + """ + A simulated assistant tool call with the tool name and optional arguments. + """ + name: str = pydantic.Field() """ This is the name of the tool that will be called. diff --git a/src/vapi/types/chat_eval_system_message_mock.py b/src/vapi/types/chat_eval_system_message_mock.py index 24f07060..1e25816f 100644 --- a/src/vapi/types/chat_eval_system_message_mock.py +++ b/src/vapi/types/chat_eval_system_message_mock.py @@ -9,6 +9,10 @@ class ChatEvalSystemMessageMock(UncheckedBaseModel): + """ + A simulated system message in an evaluation conversation. + """ + role: ChatEvalSystemMessageMockRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chat_eval_tool_response_message_evaluation.py b/src/vapi/types/chat_eval_tool_response_message_evaluation.py index fb3db59d..b68d8e97 100644 --- a/src/vapi/types/chat_eval_tool_response_message_evaluation.py +++ b/src/vapi/types/chat_eval_tool_response_message_evaluation.py @@ -12,6 +12,10 @@ class ChatEvalToolResponseMessageEvaluation(UncheckedBaseModel): + """ + An expected tool-response turn evaluated by a configured LLM judge. + """ + role: ChatEvalToolResponseMessageEvaluationRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chat_eval_tool_response_message_mock.py b/src/vapi/types/chat_eval_tool_response_message_mock.py index 0c9d8029..cc99208d 100644 --- a/src/vapi/types/chat_eval_tool_response_message_mock.py +++ b/src/vapi/types/chat_eval_tool_response_message_mock.py @@ -9,6 +9,10 @@ class ChatEvalToolResponseMessageMock(UncheckedBaseModel): + """ + A simulated tool response in an evaluation conversation. + """ + role: ChatEvalToolResponseMessageMockRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chat_eval_user_message_mock.py b/src/vapi/types/chat_eval_user_message_mock.py index 2026894f..3865ace1 100644 --- a/src/vapi/types/chat_eval_user_message_mock.py +++ b/src/vapi/types/chat_eval_user_message_mock.py @@ -9,6 +9,10 @@ class ChatEvalUserMessageMock(UncheckedBaseModel): + """ + A simulated user message in an evaluation conversation. + """ + role: ChatEvalUserMessageMockRole = pydantic.Field() """ This is the role of the message author. diff --git a/src/vapi/types/chunk_plan.py b/src/vapi/types/chunk_plan.py index f2eed292..5f28ea55 100644 --- a/src/vapi/types/chunk_plan.py +++ b/src/vapi/types/chunk_plan.py @@ -12,6 +12,10 @@ class ChunkPlan(UncheckedBaseModel): + """ + Controls how model output is split into chunks before voice synthesis, including minimum length, punctuation boundaries, and formatting. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ This determines whether the model output is chunked before being sent to the voice provider. Default `true`. diff --git a/src/vapi/types/client_message_assistant_speech.py b/src/vapi/types/client_message_assistant_speech.py index 5400d09c..9ea6dc87 100644 --- a/src/vapi/types/client_message_assistant_speech.py +++ b/src/vapi/types/client_message_assistant_speech.py @@ -25,6 +25,14 @@ class ClientMessageAssistantSpeech(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageAssistantSpeechType = pydantic.Field() """ This is the type of the message. "assistant-speech" is sent as assistant audio is being played. @@ -105,7 +113,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -125,6 +135,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -136,7 +149,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -153,6 +168,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -175,8 +194,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -212,6 +235,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_assistant_started.py b/src/vapi/types/client_message_assistant_started.py index b6b55f0a..3699aef5 100644 --- a/src/vapi/types/client_message_assistant_started.py +++ b/src/vapi/types/client_message_assistant_started.py @@ -23,6 +23,14 @@ class ClientMessageAssistantStarted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageAssistantStartedType = pydantic.Field() """ This is the type of the message. "assistant.started" is sent when the assistant is started. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_call_delete_failed.py b/src/vapi/types/client_message_call_delete_failed.py index d58fc8be..a2f3c7e9 100644 --- a/src/vapi/types/client_message_call_delete_failed.py +++ b/src/vapi/types/client_message_call_delete_failed.py @@ -23,6 +23,14 @@ class ClientMessageCallDeleteFailed(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageCallDeleteFailedType = pydantic.Field() """ This is the type of the message. "call.deleted" is sent when a call is deleted. @@ -66,7 +74,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -86,6 +96,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -97,7 +110,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -114,6 +129,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -136,8 +155,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -173,6 +196,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_call_deleted.py b/src/vapi/types/client_message_call_deleted.py index 3b988a2d..8dba84e6 100644 --- a/src/vapi/types/client_message_call_deleted.py +++ b/src/vapi/types/client_message_call_deleted.py @@ -23,6 +23,14 @@ class ClientMessageCallDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageCallDeletedType = pydantic.Field() """ This is the type of the message. "call.deleted" is sent when a call is deleted. @@ -66,7 +74,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -86,6 +96,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -97,7 +110,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -114,6 +129,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -136,8 +155,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -173,6 +196,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_chat_created.py b/src/vapi/types/client_message_chat_created.py index 57b8d3e8..ac1cefe8 100644 --- a/src/vapi/types/client_message_chat_created.py +++ b/src/vapi/types/client_message_chat_created.py @@ -24,6 +24,14 @@ class ClientMessageChatCreated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageChatCreatedType = pydantic.Field() """ This is the type of the message. "chat.created" is sent when a new chat is created. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_chat_deleted.py b/src/vapi/types/client_message_chat_deleted.py index 2530bcfb..d5c6ee74 100644 --- a/src/vapi/types/client_message_chat_deleted.py +++ b/src/vapi/types/client_message_chat_deleted.py @@ -24,6 +24,14 @@ class ClientMessageChatDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageChatDeletedType = pydantic.Field() """ This is the type of the message. "chat.deleted" is sent when a chat is deleted. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_conversation_update.py b/src/vapi/types/client_message_conversation_update.py index e0bba66d..61959036 100644 --- a/src/vapi/types/client_message_conversation_update.py +++ b/src/vapi/types/client_message_conversation_update.py @@ -25,6 +25,14 @@ class ClientMessageConversationUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageConversationUpdateType = pydantic.Field() """ This is the type of the message. "conversation-update" is sent when an update is committed to the conversation history. @@ -81,7 +89,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -101,6 +111,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -112,7 +125,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -129,6 +144,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -151,8 +170,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -188,6 +211,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_hang.py b/src/vapi/types/client_message_hang.py index e569eefc..32122ee4 100644 --- a/src/vapi/types/client_message_hang.py +++ b/src/vapi/types/client_message_hang.py @@ -23,6 +23,14 @@ class ClientMessageHang(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageHangType = pydantic.Field() """ This is the type of the message. "hang" is sent when the assistant is hanging due to a delay. The delay can be caused by many factors, such as: @@ -70,7 +78,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -90,6 +100,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -101,7 +114,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -118,6 +133,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -140,8 +159,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -177,6 +200,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_language_change_detected.py b/src/vapi/types/client_message_language_change_detected.py index 662fcf6d..4d765809 100644 --- a/src/vapi/types/client_message_language_change_detected.py +++ b/src/vapi/types/client_message_language_change_detected.py @@ -23,6 +23,14 @@ class ClientMessageLanguageChangeDetected(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageLanguageChangeDetectedType = pydantic.Field() """ This is the type of the message. "language-change-detected" is sent when the transcriber is automatically switched based on the detected language. @@ -71,7 +79,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -91,6 +101,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -102,7 +115,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -119,6 +134,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -141,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -178,6 +201,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_metadata.py b/src/vapi/types/client_message_metadata.py index 12a8582b..f603b355 100644 --- a/src/vapi/types/client_message_metadata.py +++ b/src/vapi/types/client_message_metadata.py @@ -23,6 +23,14 @@ class ClientMessageMetadata(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageMetadataType = pydantic.Field() """ This is the type of the message. "metadata" is sent to forward metadata to the client. @@ -71,7 +79,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -91,6 +101,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -102,7 +115,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -119,6 +134,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -141,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -178,6 +201,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_model_output.py b/src/vapi/types/client_message_model_output.py index e1ac2b14..0823af48 100644 --- a/src/vapi/types/client_message_model_output.py +++ b/src/vapi/types/client_message_model_output.py @@ -23,6 +23,14 @@ class ClientMessageModelOutput(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageModelOutputType = pydantic.Field() """ This is the type of the message. "model-output" is sent as the model outputs tokens. @@ -79,7 +87,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -99,6 +109,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -110,7 +123,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -127,6 +142,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -149,8 +168,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -186,6 +209,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_session_created.py b/src/vapi/types/client_message_session_created.py index 47c35240..c0ddafb1 100644 --- a/src/vapi/types/client_message_session_created.py +++ b/src/vapi/types/client_message_session_created.py @@ -24,6 +24,14 @@ class ClientMessageSessionCreated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageSessionCreatedType = pydantic.Field() """ This is the type of the message. "session.created" is sent when a new session is created. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_session_deleted.py b/src/vapi/types/client_message_session_deleted.py index 10391cfe..992981de 100644 --- a/src/vapi/types/client_message_session_deleted.py +++ b/src/vapi/types/client_message_session_deleted.py @@ -24,6 +24,14 @@ class ClientMessageSessionDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageSessionDeletedType = pydantic.Field() """ This is the type of the message. "session.deleted" is sent when a session is deleted. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_session_updated.py b/src/vapi/types/client_message_session_updated.py index ac4cf1c4..d67cc692 100644 --- a/src/vapi/types/client_message_session_updated.py +++ b/src/vapi/types/client_message_session_updated.py @@ -24,6 +24,14 @@ class ClientMessageSessionUpdated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageSessionUpdatedType = pydantic.Field() """ This is the type of the message. "session.updated" is sent when a session is updated. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_speech_update.py b/src/vapi/types/client_message_speech_update.py index 71b0ab5b..aba02f0e 100644 --- a/src/vapi/types/client_message_speech_update.py +++ b/src/vapi/types/client_message_speech_update.py @@ -25,6 +25,14 @@ class ClientMessageSpeechUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageSpeechUpdateType = pydantic.Field() """ This is the type of the message. "speech-update" is sent whenever assistant or user start or stop speaking. @@ -83,7 +91,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -103,6 +113,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -114,7 +127,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -131,6 +146,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -153,8 +172,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -190,6 +213,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_tool_calls.py b/src/vapi/types/client_message_tool_calls.py index 3a21d772..e1ae8390 100644 --- a/src/vapi/types/client_message_tool_calls.py +++ b/src/vapi/types/client_message_tool_calls.py @@ -25,6 +25,14 @@ class ClientMessageToolCalls(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: typing.Optional[ClientMessageToolCallsType] = pydantic.Field(default=None) """ This is the type of the message. "tool-calls" is sent to call a tool. @@ -84,7 +92,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -104,6 +114,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -115,7 +128,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -132,6 +147,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -154,8 +173,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -191,6 +214,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_tool_calls_result.py b/src/vapi/types/client_message_tool_calls_result.py index 8555e1b9..f39ed2f3 100644 --- a/src/vapi/types/client_message_tool_calls_result.py +++ b/src/vapi/types/client_message_tool_calls_result.py @@ -23,6 +23,14 @@ class ClientMessageToolCallsResult(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageToolCallsResultType = pydantic.Field() """ This is the type of the message. "tool-calls-result" is sent to forward the result of a tool call to the client. @@ -72,7 +80,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -92,6 +102,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -103,7 +116,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -120,6 +135,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -142,8 +161,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -179,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_transcript.py b/src/vapi/types/client_message_transcript.py index 5cf1ecd8..b5459ddd 100644 --- a/src/vapi/types/client_message_transcript.py +++ b/src/vapi/types/client_message_transcript.py @@ -25,6 +25,14 @@ class ClientMessageTranscript(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageTranscriptType = pydantic.Field() """ This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript. @@ -106,7 +114,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -126,6 +136,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -137,7 +150,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -154,6 +169,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -176,8 +195,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -213,6 +236,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_transfer_update.py b/src/vapi/types/client_message_transfer_update.py index eef63337..69edcb87 100644 --- a/src/vapi/types/client_message_transfer_update.py +++ b/src/vapi/types/client_message_transfer_update.py @@ -24,6 +24,14 @@ class ClientMessageTransferUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageTransferUpdateType = pydantic.Field() """ This is the type of the message. "transfer-update" is sent whenever a transfer happens. @@ -99,7 +107,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -119,6 +129,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -130,7 +143,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -147,6 +162,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -169,8 +188,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -206,6 +229,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_user_interrupted.py b/src/vapi/types/client_message_user_interrupted.py index d8362875..58d4a9de 100644 --- a/src/vapi/types/client_message_user_interrupted.py +++ b/src/vapi/types/client_message_user_interrupted.py @@ -23,6 +23,14 @@ class ClientMessageUserInterrupted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageUserInterruptedType = pydantic.Field() """ This is the type of the message. "user-interrupted" is sent when the user interrupts the assistant. @@ -74,7 +82,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -94,6 +104,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -105,7 +118,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -122,6 +137,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -144,8 +163,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -181,6 +204,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_voice_input.py b/src/vapi/types/client_message_voice_input.py index 2046c898..9e1ea535 100644 --- a/src/vapi/types/client_message_voice_input.py +++ b/src/vapi/types/client_message_voice_input.py @@ -23,6 +23,14 @@ class ClientMessageVoiceInput(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageVoiceInputType = pydantic.Field() """ This is the type of the message. "voice-input" is sent when a generation is requested from voice provider. @@ -71,7 +79,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -91,6 +101,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -102,7 +115,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -119,6 +134,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -141,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -178,6 +201,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/client_message_workflow_node_started.py b/src/vapi/types/client_message_workflow_node_started.py index b9e3d4f5..7ed237b1 100644 --- a/src/vapi/types/client_message_workflow_node_started.py +++ b/src/vapi/types/client_message_workflow_node_started.py @@ -23,6 +23,14 @@ class ClientMessageWorkflowNodeStarted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ClientMessageWorkflowNodeStartedType = pydantic.Field() """ This is the type of the message. "workflow.node.started" is sent when the active node changes. @@ -71,7 +79,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -91,6 +101,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -102,7 +115,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -119,6 +134,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -141,8 +160,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -178,6 +201,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/cloudflare_r_2_bucket_plan.py b/src/vapi/types/cloudflare_r_2_bucket_plan.py index d59f3003..88c20ba3 100644 --- a/src/vapi/types/cloudflare_r_2_bucket_plan.py +++ b/src/vapi/types/cloudflare_r_2_bucket_plan.py @@ -10,6 +10,10 @@ class CloudflareR2BucketPlan(UncheckedBaseModel): + """ + Cloudflare R2 bucket configuration for call-artifact storage, including access keys, base URL, bucket name, and path. + """ + access_key_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="accessKeyId"), diff --git a/src/vapi/types/code_tool.py b/src/vapi/types/code_tool.py index 16ec741c..f741d833 100644 --- a/src/vapi/types/code_tool.py +++ b/src/vapi/types/code_tool.py @@ -19,11 +19,16 @@ class CodeTool(UncheckedBaseModel): + """ + A reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[CodeToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/code_tool_environment_variable.py b/src/vapi/types/code_tool_environment_variable.py index 92d91b7e..c3939367 100644 --- a/src/vapi/types/code_tool_environment_variable.py +++ b/src/vapi/types/code_tool_environment_variable.py @@ -8,6 +8,10 @@ class CodeToolEnvironmentVariable(UncheckedBaseModel): + """ + An environment variable supplied to code-tool execution, with support for Liquid templates in its value. + """ + name: str = pydantic.Field() """ Name of the environment variable diff --git a/src/vapi/types/code_tool_messages_item.py b/src/vapi/types/code_tool_messages_item.py index e7738826..6de2618a 100644 --- a/src/vapi/types/code_tool_messages_item.py +++ b/src/vapi/types/code_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CodeToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CodeToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/compliance.py b/src/vapi/types/compliance.py index 04f76356..8896c551 100644 --- a/src/vapi/types/compliance.py +++ b/src/vapi/types/compliance.py @@ -11,6 +11,10 @@ class Compliance(UncheckedBaseModel): + """ + Compliance information captured for a call, including recording consent. + """ + recording_consent: typing_extensions.Annotated[ typing.Optional[RecordingConsent], FieldMetadata(alias="recordingConsent"), diff --git a/src/vapi/types/compliance_override.py b/src/vapi/types/compliance_override.py index 373a1c98..dbfe2387 100644 --- a/src/vapi/types/compliance_override.py +++ b/src/vapi/types/compliance_override.py @@ -10,6 +10,10 @@ class ComplianceOverride(UncheckedBaseModel): + """ + Overrides storage behavior for an output when HIPAA compliance is enabled. + """ + force_store_on_hipaa_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="forceStoreOnHipaaEnabled"), diff --git a/src/vapi/types/compliance_plan.py b/src/vapi/types/compliance_plan.py index ad3dfb53..1ad84fd9 100644 --- a/src/vapi/types/compliance_plan.py +++ b/src/vapi/types/compliance_plan.py @@ -12,6 +12,10 @@ class CompliancePlan(UncheckedBaseModel): + """ + Controls HIPAA and PCI requirements, transcript security filtering, and recording-consent handling for assistant calls. + """ + hipaa_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="hipaaEnabled"), @@ -39,7 +43,10 @@ class CompliancePlan(UncheckedBaseModel): recording_consent_plan: typing_extensions.Annotated[ typing.Optional[CompliancePlanRecordingConsentPlan], FieldMetadata(alias="recordingConsentPlan"), - pydantic.Field(alias="recordingConsentPlan"), + pydantic.Field( + alias="recordingConsentPlan", + description="Controls how recording consent is requested before the assistant joins the call.", + ), ] = None if IS_PYDANTIC_V2: diff --git a/src/vapi/types/compliance_plan_recording_consent_plan.py b/src/vapi/types/compliance_plan_recording_consent_plan.py index 5227faf1..76e70950 100644 --- a/src/vapi/types/compliance_plan_recording_consent_plan.py +++ b/src/vapi/types/compliance_plan_recording_consent_plan.py @@ -9,14 +9,25 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .recording_consent_plan_stay_on_line_first_message_mode import RecordingConsentPlanStayOnLineFirstMessageMode from .recording_consent_plan_stay_on_line_voice import RecordingConsentPlanStayOnLineVoice +from .recording_consent_plan_verbal_first_message_mode import RecordingConsentPlanVerbalFirstMessageMode from .recording_consent_plan_verbal_voice import RecordingConsentPlanVerbalVoice class CompliancePlanRecordingConsentPlan_StayOnLine(UncheckedBaseModel): + """ + Controls how recording consent is requested before the assistant joins the call. + """ + type: typing.Literal["stay-on-line"] = "stay-on-line" message: str voice: typing.Optional[RecordingConsentPlanStayOnLineVoice] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[RecordingConsentPlanStayOnLineFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field(alias="firstMessageMode"), + ] = None wait_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="waitSeconds"), pydantic.Field(alias="waitSeconds") ] = None @@ -32,9 +43,18 @@ class Config: class CompliancePlanRecordingConsentPlan_Verbal(UncheckedBaseModel): + """ + Controls how recording consent is requested before the assistant joins the call. + """ + type: typing.Literal["verbal"] = "verbal" message: str voice: typing.Optional[RecordingConsentPlanVerbalVoice] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[RecordingConsentPlanVerbalFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field(alias="firstMessageMode"), + ] = None decline_tool: typing_extensions.Annotated[ typing.Optional[typing.Dict[str, typing.Any]], FieldMetadata(alias="declineTool"), diff --git a/src/vapi/types/computer_tool.py b/src/vapi/types/computer_tool.py index 6cfa96a1..b5ce1b58 100644 --- a/src/vapi/types/computer_tool.py +++ b/src/vapi/types/computer_tool.py @@ -18,11 +18,16 @@ class ComputerTool(UncheckedBaseModel): + """ + A reusable tool that lets the model interact with a computer display through screen, pointer, and keyboard actions. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[ComputerToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/computer_tool_messages_item.py b/src/vapi/types/computer_tool_messages_item.py index 6376e76a..4748672b 100644 --- a/src/vapi/types/computer_tool_messages_item.py +++ b/src/vapi/types/computer_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class ComputerToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class ComputerToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/computer_tool_with_tool_call.py b/src/vapi/types/computer_tool_with_tool_call.py index 9bf20f8e..37db3d0d 100644 --- a/src/vapi/types/computer_tool_with_tool_call.py +++ b/src/vapi/types/computer_tool_with_tool_call.py @@ -20,9 +20,7 @@ class ComputerToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[ComputerToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/computer_tool_with_tool_call_messages_item.py b/src/vapi/types/computer_tool_with_tool_call_messages_item.py index cb85f2e9..a4cf3507 100644 --- a/src/vapi/types/computer_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/computer_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class ComputerToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class ComputerToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/condition.py b/src/vapi/types/condition.py index 930ea4ac..c2affcda 100644 --- a/src/vapi/types/condition.py +++ b/src/vapi/types/condition.py @@ -9,6 +9,10 @@ class Condition(UncheckedBaseModel): + """ + Compares a named parameter with a value using the selected comparison operator. + """ + operator: ConditionOperator = pydantic.Field() """ This is the operator you want to use to compare the parameter and value. diff --git a/src/vapi/types/context_engineering_plan_all.py b/src/vapi/types/context_engineering_plan_all.py index 317136bd..d1ca878f 100644 --- a/src/vapi/types/context_engineering_plan_all.py +++ b/src/vapi/types/context_engineering_plan_all.py @@ -8,6 +8,10 @@ class ContextEngineeringPlanAll(UncheckedBaseModel): + """ + Includes all available messages when constructing context for a handoff. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/context_engineering_plan_last_n_messages.py b/src/vapi/types/context_engineering_plan_last_n_messages.py index c82ee92f..738bc3f6 100644 --- a/src/vapi/types/context_engineering_plan_last_n_messages.py +++ b/src/vapi/types/context_engineering_plan_last_n_messages.py @@ -10,6 +10,10 @@ class ContextEngineeringPlanLastNMessages(UncheckedBaseModel): + """ + Includes a configured number of the most recent messages when constructing context for a handoff. + """ + max_messages: typing_extensions.Annotated[ float, FieldMetadata(alias="maxMessages"), diff --git a/src/vapi/types/context_engineering_plan_none.py b/src/vapi/types/context_engineering_plan_none.py index 79cc8c20..2f1f7d82 100644 --- a/src/vapi/types/context_engineering_plan_none.py +++ b/src/vapi/types/context_engineering_plan_none.py @@ -8,6 +8,10 @@ class ContextEngineeringPlanNone(UncheckedBaseModel): + """ + Excludes prior conversation messages when constructing context for a handoff. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/context_engineering_plan_previous_assistant_messages.py b/src/vapi/types/context_engineering_plan_previous_assistant_messages.py new file mode 100644 index 00000000..c2a7556d --- /dev/null +++ b/src/vapi/types/context_engineering_plan_previous_assistant_messages.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 ContextEngineeringPlanPreviousAssistantMessages(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/vapi/types/context_engineering_plan_user_and_assistant_messages.py b/src/vapi/types/context_engineering_plan_user_and_assistant_messages.py index 8110f585..62fbb37b 100644 --- a/src/vapi/types/context_engineering_plan_user_and_assistant_messages.py +++ b/src/vapi/types/context_engineering_plan_user_and_assistant_messages.py @@ -8,6 +8,10 @@ class ContextEngineeringPlanUserAndAssistantMessages(UncheckedBaseModel): + """ + Includes only user and assistant messages when constructing context for a handoff. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/conversation_node.py b/src/vapi/types/conversation_node.py index 511f8946..94f48714 100644 --- a/src/vapi/types/conversation_node.py +++ b/src/vapi/types/conversation_node.py @@ -10,7 +10,6 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .conversation_node_model import ConversationNodeModel -from .conversation_node_tools_item import ConversationNodeToolsItem from .conversation_node_transcriber import ConversationNodeTranscriber from .conversation_node_voice import ConversationNodeVoice from .global_node_plan import GlobalNodePlan @@ -18,6 +17,10 @@ class ConversationNode(UncheckedBaseModel): + """ + A workflow node where the assistant conducts a conversation using optional node-specific providers, tools, prompt, and variable extraction. + """ + model: typing.Optional[ConversationNodeModel] = pydantic.Field(default=None) """ This is the model for the node. @@ -39,7 +42,7 @@ class ConversationNode(UncheckedBaseModel): This overrides `workflow.voice`. """ - tools: typing.Optional[typing.List[ConversationNodeToolsItem]] = pydantic.Field(default=None) + tools: typing.Optional[typing.List["ConversationNodeToolsItem"]] = pydantic.Field(default=None) """ These are the tools that the conversation node can use during the call. To use existing tools, use `toolIds`. @@ -54,7 +57,11 @@ class ConversationNode(UncheckedBaseModel): description="These are the tools that the conversation node can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None - prompt: typing.Optional[str] = None + prompt: typing.Optional[str] = pydantic.Field(default=None) + """ + Prompt that guides the assistant while this node is active. + """ + global_node_plan: typing_extensions.Annotated[ typing.Optional[GlobalNodePlan], FieldMetadata(alias="globalNodePlan"), @@ -68,7 +75,11 @@ class ConversationNode(UncheckedBaseModel): description='This is the plan that controls the variable extraction from the user\'s responses.\n\nUsage:\nUse `schema` to specify what you want to extract from the user\'s responses.\n```json\n{\n "schema": {\n "type": "object",\n "properties": {\n "user": {\n "type": "object",\n "properties": {\n "name": {\n "type": "string"\n },\n "age": {\n "type": "number"\n }\n }\n }\n }\n }\n}\n```\n\nThis will be extracted as `{{ user.name }}` and `{{ user.age }}` respectively.\n\n(Optional) Use `aliases` to create new variables.\n\n```json\n{\n "aliases": [\n {\n "key": "userAge",\n "value": "{{user.age}}"\n },\n {\n "key": "userName",\n "value": "{{user.name}}"\n }\n ]\n}\n```\n\nThis will be extracted as `{{ userAge }}` and `{{ userName }}` respectively.\n\nNote: The `schema` field is required for Conversation nodes if you want to extract variables from the user\'s responses. `aliases` is just a convenience.', ), ] = None - name: str + name: str = pydantic.Field() + """ + Unique name used to identify this workflow node. + """ + is_start: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="isStart"), @@ -89,4 +100,141 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(ConversationNode) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + ConversationNode, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/conversation_node_model.py b/src/vapi/types/conversation_node_model.py index 419e725c..7e43a400 100644 --- a/src/vapi/types/conversation_node_model.py +++ b/src/vapi/types/conversation_node_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -25,6 +26,7 @@ class ConversationNodeModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -49,6 +51,7 @@ class ConversationNodeModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -74,6 +77,7 @@ class ConversationNodeModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -99,6 +103,7 @@ class ConversationNodeModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -123,6 +128,7 @@ class ConversationNodeModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/conversation_node_tools_item.py b/src/vapi/types/conversation_node_tools_item.py index 95115148..c6196640 100644 --- a/src/vapi/types/conversation_node_tools_item.py +++ b/src/vapi/types/conversation_node_tools_item.py @@ -67,6 +67,7 @@ class ConversationNodeToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class ConversationNodeToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,11 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -683,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -719,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/conversation_node_transcriber.py b/src/vapi/types/conversation_node_transcriber.py index f50aba8f..1d25b2c8 100644 --- a/src/vapi/types/conversation_node_transcriber.py +++ b/src/vapi/types/conversation_node_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class ConversationNodeTranscriber_AssemblyAi(UncheckedBaseModel): @@ -206,18 +215,17 @@ class ConversationNodeTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -294,7 +302,7 @@ class ConversationNodeTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -516,6 +524,7 @@ class ConversationNodeTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -527,6 +536,11 @@ class ConversationNodeTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -543,6 +557,60 @@ class Config: extra = pydantic.Extra.allow +class ConversationNodeTranscriber_Xai(UncheckedBaseModel): + """ + This is the transcriber for the node. + + This overrides `workflow.transcriber`. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 ConversationNodeTranscriber_Vapi(UncheckedBaseModel): + """ + This is the transcriber for the node. + + This overrides `workflow.transcriber`. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + ConversationNodeTranscriber = typing_extensions.Annotated[ typing.Union[ ConversationNodeTranscriber_AssemblyAi, @@ -557,6 +625,8 @@ class Config: ConversationNodeTranscriber_Openai, ConversationNodeTranscriber_Cartesia, ConversationNodeTranscriber_Soniox, + ConversationNodeTranscriber_Xai, + ConversationNodeTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/conversation_node_voice.py b/src/vapi/types/conversation_node_voice.py index e02faa59..05c8fea4 100644 --- a/src/vapi/types/conversation_node_voice.py +++ b/src/vapi/types/conversation_node_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class ConversationNodeVoice_Azure(UncheckedBaseModel): @@ -607,7 +614,9 @@ class ConversationNodeVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -616,9 +625,6 @@ class ConversationNodeVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -751,6 +757,76 @@ class Config: extra = pydantic.Extra.allow +class ConversationNodeVoice_Xai(UncheckedBaseModel): + """ + This is the voice for the node. + + This overrides `workflow.voice`. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 ConversationNodeVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice for the node. + + This overrides `workflow.voice`. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + ConversationNodeVoice = typing_extensions.Annotated[ typing.Union[ ConversationNodeVoice_Azure, @@ -771,6 +847,8 @@ class Config: ConversationNodeVoice_Sesame, ConversationNodeVoice_Inworld, ConversationNodeVoice_Minimax, + ConversationNodeVoice_Xai, + ConversationNodeVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/cost_breakdown.py b/src/vapi/types/cost_breakdown.py index 3b6b04c7..ec1a4592 100644 --- a/src/vapi/types/cost_breakdown.py +++ b/src/vapi/types/cost_breakdown.py @@ -11,6 +11,10 @@ class CostBreakdown(UncheckedBaseModel): + """ + Aggregated call costs and usage, including transport, transcription, model, voice, Vapi, analysis, token, and character totals. + """ + transport: typing.Optional[float] = pydantic.Field(default=None) """ This is the cost of the transport provider, like Twilio or Vonage. diff --git a/src/vapi/types/create_anthropic_bedrock_credential_dto.py b/src/vapi/types/create_anthropic_bedrock_credential_dto.py index cdaf6232..141ab2e0 100644 --- a/src/vapi/types/create_anthropic_bedrock_credential_dto.py +++ b/src/vapi/types/create_anthropic_bedrock_credential_dto.py @@ -14,6 +14,10 @@ class CreateAnthropicBedrockCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating Anthropic model requests through Amazon Bedrock, including AWS region and authentication method. + """ + region: CreateAnthropicBedrockCredentialDtoRegion = pydantic.Field() """ AWS region where Bedrock is configured. diff --git a/src/vapi/types/create_anthropic_bedrock_credential_dto_region.py b/src/vapi/types/create_anthropic_bedrock_credential_dto_region.py index b8ee3464..b0f299be 100644 --- a/src/vapi/types/create_anthropic_bedrock_credential_dto_region.py +++ b/src/vapi/types/create_anthropic_bedrock_credential_dto_region.py @@ -3,5 +3,8 @@ import typing CreateAnthropicBedrockCredentialDtoRegion = typing.Union[ - typing.Literal["us-east-1", "us-west-2", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2"], typing.Any + typing.Literal[ + "us-east-1", "us-west-2", "eu-central-1", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2" + ], + typing.Any, ] diff --git a/src/vapi/types/create_anthropic_credential_dto.py b/src/vapi/types/create_anthropic_credential_dto.py index 26546982..0827fb6d 100644 --- a/src/vapi/types/create_anthropic_credential_dto.py +++ b/src/vapi/types/create_anthropic_credential_dto.py @@ -10,6 +10,10 @@ class CreateAnthropicCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Anthropic. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_anyscale_credential_dto.py b/src/vapi/types/create_anyscale_credential_dto.py index 6dd35cbc..bda686bd 100644 --- a/src/vapi/types/create_anyscale_credential_dto.py +++ b/src/vapi/types/create_anyscale_credential_dto.py @@ -10,6 +10,10 @@ class CreateAnyscaleCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Anyscale. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_api_request_tool_dto.py b/src/vapi/types/create_api_request_tool_dto.py index 69909fd6..fae16bba 100644 --- a/src/vapi/types/create_api_request_tool_dto.py +++ b/src/vapi/types/create_api_request_tool_dto.py @@ -18,14 +18,27 @@ class CreateApiRequestToolDto(UncheckedBaseModel): + """ + Configuration used to create a reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses. + """ + messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. + """ + + method: CreateApiRequestToolDtoMethod = pydantic.Field() + """ + The HTTP method used for the API request. """ - method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), @@ -52,13 +65,6 @@ class CreateApiRequestToolDto(UncheckedBaseModel): Static key-value pairs merged into the request body. Values support Liquid templates. """ - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the tool. This will be passed to the model. - - Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. - """ - description: typing.Optional[str] = pydantic.Field(default=None) """ This is the description of the tool. This will be passed to the model. diff --git a/src/vapi/types/create_api_request_tool_dto_messages_item.py b/src/vapi/types/create_api_request_tool_dto_messages_item.py index 92d96428..ff3a577e 100644 --- a/src/vapi/types/create_api_request_tool_dto_messages_item.py +++ b/src/vapi/types/create_api_request_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateApiRequestToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateApiRequestToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_assembly_ai_credential_dto.py b/src/vapi/types/create_assembly_ai_credential_dto.py index 0f72f23b..12fafd4c 100644 --- a/src/vapi/types/create_assembly_ai_credential_dto.py +++ b/src/vapi/types/create_assembly_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateAssemblyAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating transcription requests with AssemblyAI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_assistant_draft_dto.py b/src/vapi/types/create_assistant_draft_dto.py new file mode 100644 index 00000000..3eed6aeb --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto.py @@ -0,0 +1,276 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .analysis_plan import AnalysisPlan +from .artifact_plan import ArtifactPlan +from .background_speech_denoising_plan import BackgroundSpeechDenoisingPlan +from .compliance_plan import CompliancePlan +from .create_assistant_draft_dto_background_sound import CreateAssistantDraftDtoBackgroundSound +from .create_assistant_draft_dto_client_messages_item import CreateAssistantDraftDtoClientMessagesItem +from .create_assistant_draft_dto_credentials_item import CreateAssistantDraftDtoCredentialsItem +from .create_assistant_draft_dto_first_message_mode import CreateAssistantDraftDtoFirstMessageMode +from .create_assistant_draft_dto_hooks_item import CreateAssistantDraftDtoHooksItem +from .create_assistant_draft_dto_model import CreateAssistantDraftDtoModel +from .create_assistant_draft_dto_server_messages_item import CreateAssistantDraftDtoServerMessagesItem +from .create_assistant_draft_dto_transcriber import CreateAssistantDraftDtoTranscriber +from .create_assistant_draft_dto_voice import CreateAssistantDraftDtoVoice +from .create_assistant_draft_dto_voicemail_detection import CreateAssistantDraftDtoVoicemailDetection +from .keypad_input_plan import KeypadInputPlan +from .langfuse_observability_plan import LangfuseObservabilityPlan +from .monitor_plan import MonitorPlan +from .server import Server +from .start_speaking_plan import StartSpeakingPlan +from .stop_speaking_plan import StopSpeakingPlan +from .transport_configuration_twilio import TransportConfigurationTwilio + + +class CreateAssistantDraftDto(UncheckedBaseModel): + transcriber: typing.Optional[CreateAssistantDraftDtoTranscriber] = pydantic.Field(default=None) + """ + These are the options for the assistant's transcriber. + """ + + model: typing.Optional[CreateAssistantDraftDtoModel] = pydantic.Field(default=None) + """ + These are the options for the assistant's LLM. + """ + + voice: typing.Optional[CreateAssistantDraftDtoVoice] = pydantic.Field(default=None) + """ + These are the options for the assistant's voice. + """ + + first_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="firstMessage"), + pydantic.Field( + alias="firstMessage", + description="This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).\n\nIf unspecified, assistant will wait for user to speak and use the model to respond once they speak.", + ), + ] = None + first_message_interruptions_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="firstMessageInterruptionsEnabled"), + pydantic.Field(alias="firstMessageInterruptionsEnabled"), + ] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[CreateAssistantDraftDtoFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This is the mode for the first message. Default is 'assistant-speaks-first'.\n\nUse:\n- 'assistant-speaks-first' to have the assistant speak first.\n- 'assistant-waits-for-user' to have the assistant wait for the user to speak first.\n- 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).\n\n@default 'assistant-speaks-first'", + ), + ] = None + voicemail_detection: typing_extensions.Annotated[ + typing.Optional[CreateAssistantDraftDtoVoicemailDetection], + FieldMetadata(alias="voicemailDetection"), + pydantic.Field( + alias="voicemailDetection", + description="These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nBy default, voicemail detection is disabled.", + ), + ] = None + client_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[CreateAssistantDraftDtoClientMessagesItem]], + FieldMetadata(alias="clientMessages"), + pydantic.Field( + alias="clientMessages", + description="These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema.", + ), + ] = None + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[CreateAssistantDraftDtoServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", + description="These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema.", + ), + ] = None + max_duration_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxDurationSeconds"), + pydantic.Field( + alias="maxDurationSeconds", + description="This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.\n\n@default 600 (10 minutes)", + ), + ] = None + background_sound: typing_extensions.Annotated[ + typing.Optional[CreateAssistantDraftDtoBackgroundSound], + FieldMetadata(alias="backgroundSound"), + pydantic.Field( + alias="backgroundSound", + description="This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + ), + ] = None + model_output_in_messages_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="modelOutputInMessagesEnabled"), + pydantic.Field( + alias="modelOutputInMessagesEnabled", + description="This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\n@default false", + ), + ] = None + transport_configurations: typing_extensions.Annotated[ + typing.Optional[typing.List[TransportConfigurationTwilio]], + FieldMetadata(alias="transportConfigurations"), + pydantic.Field( + alias="transportConfigurations", + description="These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.", + ), + ] = None + observability_plan: typing_extensions.Annotated[ + typing.Optional[LangfuseObservabilityPlan], + FieldMetadata(alias="observabilityPlan"), + pydantic.Field( + alias="observabilityPlan", + description="This is the plan for observability of assistant's calls.\n\nCurrently, only Langfuse is supported.", + ), + ] = None + credentials: typing.Optional[typing.List[CreateAssistantDraftDtoCredentialsItem]] = pydantic.Field(default=None) + """ + These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. + """ + + hooks: typing.Optional[typing.List[CreateAssistantDraftDtoHooksItem]] = pydantic.Field(default=None) + """ + This is a set of actions that will be performed on certain events. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the assistant. + + This is required when you want to transfer between assistants in a call. + """ + + voicemail_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="voicemailMessage"), + pydantic.Field( + alias="voicemailMessage", + description="This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", + ), + ] = None + end_call_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="endCallMessage"), + pydantic.Field( + alias="endCallMessage", + description="This is the message that the assistant will say if it ends the call.\n\nIf unspecified, it will hang up without saying anything.", + ), + ] = None + end_call_phrases: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="endCallPhrases"), + pydantic.Field( + alias="endCallPhrases", + description="This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive.", + ), + ] = None + compliance_plan: typing_extensions.Annotated[ + typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + ] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is for metadata you want to store on the assistant. + """ + + background_speech_denoising_plan: typing_extensions.Annotated[ + typing.Optional[BackgroundSpeechDenoisingPlan], + FieldMetadata(alias="backgroundSpeechDenoisingPlan"), + pydantic.Field( + alias="backgroundSpeechDenoisingPlan", + description="This enables filtering of noise and background speech while the user is talking.\n\nFeatures:\n- Smart denoising using Krisp\n- Fourier denoising\n\nSmart denoising can be combined with or used independently of Fourier denoising.\n\nOrder of precedence:\n- Smart denoising\n- Fourier denoising", + ), + ] = None + analysis_plan: typing_extensions.Annotated[ + typing.Optional[AnalysisPlan], + FieldMetadata(alias="analysisPlan"), + pydantic.Field( + alias="analysisPlan", + description="This is the plan for analysis of assistant's calls. Stored in `call.analysis`.", + ), + ] = None + artifact_plan: typing_extensions.Annotated[ + typing.Optional[ArtifactPlan], + FieldMetadata(alias="artifactPlan"), + pydantic.Field( + alias="artifactPlan", + description="This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.", + ), + ] = None + start_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StartSpeakingPlan], + FieldMetadata(alias="startSpeakingPlan"), + pydantic.Field( + alias="startSpeakingPlan", + description="This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", + ), + ] = None + stop_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StopSpeakingPlan], + FieldMetadata(alias="stopSpeakingPlan"), + pydantic.Field( + alias="stopSpeakingPlan", + description="This is the plan for when assistant should stop talking on customer interruption.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to recognize customer's interruption.\n- The assistant is too fast to recognize customer's interruption.\n- The assistant is getting interrupted by phrases that are just acknowledgments.\n- The assistant is getting interrupted by background noises.\n- The assistant is not properly stopping -- it starts talking right after getting interrupted.", + ), + ] = None + monitor_plan: typing_extensions.Annotated[ + typing.Optional[MonitorPlan], + FieldMetadata(alias="monitorPlan"), + pydantic.Field( + alias="monitorPlan", + description="This is the plan for real-time monitoring of the assistant's calls.\n\nUsage:\n- To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.\n- To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.\n- To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.", + ), + ] = None + credential_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="credentialIds"), + pydantic.Field( + alias="credentialIds", + description="These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema. + + The order of precedence is: + + 1. assistant.server.url + 2. phoneNumber.serverUrl + 3. org.serverUrl + """ + + keypad_input_plan: typing_extensions.Annotated[ + typing.Optional[KeypadInputPlan], + FieldMetadata(alias="keypadInputPlan"), + pydantic.Field(alias="keypadInputPlan"), + ] = None + base_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baseVersion"), + pydantic.Field( + alias="baseVersion", + description="Optional pointer to the published version this draft was forked from.\nWhen omitted on `POST /assistant/:id/draft`, defaults server-side to the\nparent assistant's current `latestVersion` (which is lazy-created via\n`assistantBaselineVersionEnsureInTx` if the parent has never been\nversioned). Immutable for the lifetime of the draft.", + ), + ] = 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 + + +update_forward_refs(CreateAssistantDraftDto) diff --git a/src/vapi/types/create_assistant_draft_dto_background_sound.py b/src/vapi/types/create_assistant_draft_dto_background_sound.py new file mode 100644 index 00000000..b40fc186 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_background_sound.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .create_assistant_draft_dto_background_sound_zero import CreateAssistantDraftDtoBackgroundSoundZero + +CreateAssistantDraftDtoBackgroundSound = typing.Union[CreateAssistantDraftDtoBackgroundSoundZero, str] diff --git a/src/vapi/types/create_assistant_draft_dto_background_sound_zero.py b/src/vapi/types/create_assistant_draft_dto_background_sound_zero.py new file mode 100644 index 00000000..404f80df --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_background_sound_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateAssistantDraftDtoBackgroundSoundZero = typing.Union[typing.Literal["off", "office"], typing.Any] diff --git a/src/vapi/types/create_assistant_draft_dto_client_messages_item.py b/src/vapi/types/create_assistant_draft_dto_client_messages_item.py new file mode 100644 index 00000000..738e10fa --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_client_messages_item.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateAssistantDraftDtoClientMessagesItem = typing.Union[ + typing.Literal[ + "conversation-update", + "assistant.speechStarted", + "function-call", + "function-call-result", + "hang", + "language-changed", + "metadata", + "model-output", + "speech-update", + "status-update", + "transcript", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "voice-input", + "workflow.node.started", + "assistant.started", + ], + typing.Any, +] diff --git a/src/vapi/types/create_assistant_draft_dto_credentials_item.py b/src/vapi/types/create_assistant_draft_dto_credentials_item.py new file mode 100644 index 00000000..f69c4f99 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_credentials_item.py @@ -0,0 +1,1099 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_blob_storage_bucket_plan import AzureBlobStorageBucketPlan +from .bucket_plan import BucketPlan +from .cloudflare_r_2_bucket_plan import CloudflareR2BucketPlan +from .create_anthropic_bedrock_credential_dto_authentication_plan import ( + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, +) +from .create_anthropic_bedrock_credential_dto_region import CreateAnthropicBedrockCredentialDtoRegion +from .create_azure_credential_dto_region import CreateAzureCredentialDtoRegion +from .create_azure_credential_dto_service import CreateAzureCredentialDtoService +from .create_azure_open_ai_credential_dto_models_item import CreateAzureOpenAiCredentialDtoModelsItem +from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion +from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan +from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl +from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan +from .gcp_key import GcpKey +from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan +from .oauth_2_authentication_session import Oauth2AuthenticationSession +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan +from .sip_trunk_gateway import SipTrunkGateway +from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan +from .supabase_bucket_plan import SupabaseBucketPlan + + +class CreateAssistantDraftDtoCredentialsItem_11Labs(UncheckedBaseModel): + provider: typing.Literal["11labs"] = "11labs" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Anthropic(UncheckedBaseModel): + provider: typing.Literal["anthropic"] = "anthropic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock(UncheckedBaseModel): + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + region: CreateAnthropicBedrockCredentialDtoRegion + authentication_plan: typing_extensions.Annotated[ + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_Anyscale(UncheckedBaseModel): + provider: typing.Literal["anyscale"] = "anyscale" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_AssemblyAi(UncheckedBaseModel): + provider: typing.Literal["assembly-ai"] = "assembly-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_AzureOpenai(UncheckedBaseModel): + provider: typing.Literal["azure-openai"] = "azure-openai" + region: CreateAzureOpenAiCredentialDtoRegion + models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] + open_ai_key: typing_extensions.Annotated[str, FieldMetadata(alias="openAIKey"), pydantic.Field(alias="openAIKey")] + ocp_apim_subscription_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="ocpApimSubscriptionKey"), + pydantic.Field(alias="ocpApimSubscriptionKey"), + ] = None + open_ai_endpoint: typing_extensions.Annotated[ + str, FieldMetadata(alias="openAIEndpoint"), pydantic.Field(alias="openAIEndpoint") + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_Azure(UncheckedBaseModel): + provider: typing.Literal["azure"] = "azure" + service: CreateAzureCredentialDtoService + region: typing.Optional[CreateAzureCredentialDtoRegion] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[AzureBlobStorageBucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field(alias="bucketPlan"), + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): + provider: typing.Literal["byo-sip-trunk"] = "byo-sip-trunk" + gateways: typing.List[SipTrunkGateway] + outbound_authentication_plan: typing_extensions.Annotated[ + typing.Optional[SipTrunkOutboundAuthenticationPlan], + FieldMetadata(alias="outboundAuthenticationPlan"), + pydantic.Field(alias="outboundAuthenticationPlan"), + ] = None + outbound_leading_plus_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="outboundLeadingPlusEnabled"), + pydantic.Field(alias="outboundLeadingPlusEnabled"), + ] = None + tech_prefix: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="techPrefix"), pydantic.Field(alias="techPrefix") + ] = None + sip_diversion_header: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Cartesia(UncheckedBaseModel): + provider: typing.Literal["cartesia"] = "cartesia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Cerebras(UncheckedBaseModel): + provider: typing.Literal["cerebras"] = "cerebras" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Cloudflare(UncheckedBaseModel): + provider: typing.Literal["cloudflare"] = "cloudflare" + account_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountId"), pydantic.Field(alias="accountId") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + account_email: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountEmail"), pydantic.Field(alias="accountEmail") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[CloudflareR2BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_CustomLlm(UncheckedBaseModel): + provider: typing.Literal["custom-llm"] = "custom-llm" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + authentication_plan: typing_extensions.Annotated[ + typing.Optional[OAuth2AuthenticationPlan], + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Deepgram(UncheckedBaseModel): + provider: typing.Literal["deepgram"] = "deepgram" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Deepinfra(UncheckedBaseModel): + provider: typing.Literal["deepinfra"] = "deepinfra" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_DeepSeek(UncheckedBaseModel): + provider: typing.Literal["deep-seek"] = "deep-seek" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Gcp(UncheckedBaseModel): + provider: typing.Literal["gcp"] = "gcp" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + gcp_key: typing_extensions.Annotated[GcpKey, FieldMetadata(alias="gcpKey"), pydantic.Field(alias="gcpKey")] + region: typing.Optional[str] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Gladia(UncheckedBaseModel): + provider: typing.Literal["gladia"] = "gladia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Gohighlevel(UncheckedBaseModel): + provider: typing.Literal["gohighlevel"] = "gohighlevel" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Google(UncheckedBaseModel): + provider: typing.Literal["google"] = "google" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Groq(UncheckedBaseModel): + provider: typing.Literal["groq"] = "groq" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_InflectionAi(UncheckedBaseModel): + provider: typing.Literal["inflection-ai"] = "inflection-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Langfuse(UncheckedBaseModel): + provider: typing.Literal["langfuse"] = "langfuse" + public_key: typing_extensions.Annotated[str, FieldMetadata(alias="publicKey"), pydantic.Field(alias="publicKey")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[str, FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Lmnt(UncheckedBaseModel): + provider: typing.Literal["lmnt"] = "lmnt" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Make(UncheckedBaseModel): + provider: typing.Literal["make"] = "make" + team_id: typing_extensions.Annotated[str, FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId")] + region: str + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Openai(UncheckedBaseModel): + provider: typing.Literal["openai"] = "openai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Openrouter(UncheckedBaseModel): + provider: typing.Literal["openrouter"] = "openrouter" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_PerplexityAi(UncheckedBaseModel): + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Playht(UncheckedBaseModel): + provider: typing.Literal["playht"] = "playht" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId"), pydantic.Field(alias="userId")] + name: 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 CreateAssistantDraftDtoCredentialsItem_RimeAi(UncheckedBaseModel): + provider: typing.Literal["rime-ai"] = "rime-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Runpod(UncheckedBaseModel): + provider: typing.Literal["runpod"] = "runpod" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_S3(UncheckedBaseModel): + provider: typing.Literal["s3"] = "s3" + aws_access_key_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsAccessKeyId"), pydantic.Field(alias="awsAccessKeyId") + ] + aws_secret_access_key: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsSecretAccessKey"), pydantic.Field(alias="awsSecretAccessKey") + ] + region: str + s_3_bucket_name: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3BucketName"), pydantic.Field(alias="s3BucketName") + ] + s_3_path_prefix: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3PathPrefix"), pydantic.Field(alias="s3PathPrefix") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Supabase(UncheckedBaseModel): + provider: typing.Literal["supabase"] = "supabase" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[SupabaseBucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_SmallestAi(UncheckedBaseModel): + provider: typing.Literal["smallest-ai"] = "smallest-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Tavus(UncheckedBaseModel): + provider: typing.Literal["tavus"] = "tavus" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_TogetherAi(UncheckedBaseModel): + provider: typing.Literal["together-ai"] = "together-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Twilio(UncheckedBaseModel): + provider: typing.Literal["twilio"] = "twilio" + auth_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="authToken"), pydantic.Field(alias="authToken") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + api_secret: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret") + ] = None + account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Vonage(UncheckedBaseModel): + provider: typing.Literal["vonage"] = "vonage" + api_secret: typing_extensions.Annotated[str, FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Webhook(UncheckedBaseModel): + provider: typing.Literal["webhook"] = "webhook" + authentication_plan: typing_extensions.Annotated[ + CreateWebhookCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_CustomCredential(UncheckedBaseModel): + provider: typing.Literal["custom-credential"] = "custom-credential" + authentication_plan: typing_extensions.Annotated[ + CreateCustomCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + encryption_plan: typing_extensions.Annotated[ + typing.Optional[CreateCustomCredentialDtoEncryptionPlan], + FieldMetadata(alias="encryptionPlan"), + pydantic.Field(alias="encryptionPlan"), + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-client"] = "google.calendar.oauth2-client" + name: 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 CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-authorization"] = "google.calendar.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.sheets.oauth2-authorization"] = "google.sheets.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["slack.oauth2-authorization"] = "slack.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["ghl.oauth2-authorization"] = "ghl.oauth2-authorization" + authentication_session: typing_extensions.Annotated[ + Oauth2AuthenticationSession, + FieldMetadata(alias="authenticationSession"), + pydantic.Field(alias="authenticationSession"), + ] + name: 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 CreateAssistantDraftDtoCredentialsItem_Inworld(UncheckedBaseModel): + provider: typing.Literal["inworld"] = "inworld" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Minimax(UncheckedBaseModel): + provider: typing.Literal["minimax"] = "minimax" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + group_id: typing_extensions.Annotated[str, FieldMetadata(alias="groupId"), pydantic.Field(alias="groupId")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Wellsaid(UncheckedBaseModel): + provider: typing.Literal["wellsaid"] = "wellsaid" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 CreateAssistantDraftDtoCredentialsItem_Email(UncheckedBaseModel): + provider: typing.Literal["email"] = "email" + email: str + name: 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 CreateAssistantDraftDtoCredentialsItem_SlackWebhook(UncheckedBaseModel): + provider: typing.Literal["slack-webhook"] = "slack-webhook" + webhook_url: typing_extensions.Annotated[str, FieldMetadata(alias="webhookUrl"), pydantic.Field(alias="webhookUrl")] + name: 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 + + +CreateAssistantDraftDtoCredentialsItem = typing_extensions.Annotated[ + typing.Union[ + CreateAssistantDraftDtoCredentialsItem_11Labs, + CreateAssistantDraftDtoCredentialsItem_Anthropic, + CreateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + CreateAssistantDraftDtoCredentialsItem_Anyscale, + CreateAssistantDraftDtoCredentialsItem_AssemblyAi, + CreateAssistantDraftDtoCredentialsItem_AzureOpenai, + CreateAssistantDraftDtoCredentialsItem_Azure, + CreateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + CreateAssistantDraftDtoCredentialsItem_Cartesia, + CreateAssistantDraftDtoCredentialsItem_Cerebras, + CreateAssistantDraftDtoCredentialsItem_Cloudflare, + CreateAssistantDraftDtoCredentialsItem_CustomLlm, + CreateAssistantDraftDtoCredentialsItem_Deepgram, + CreateAssistantDraftDtoCredentialsItem_Deepinfra, + CreateAssistantDraftDtoCredentialsItem_DeepSeek, + CreateAssistantDraftDtoCredentialsItem_Gcp, + CreateAssistantDraftDtoCredentialsItem_Gladia, + CreateAssistantDraftDtoCredentialsItem_Gohighlevel, + CreateAssistantDraftDtoCredentialsItem_Google, + CreateAssistantDraftDtoCredentialsItem_Groq, + CreateAssistantDraftDtoCredentialsItem_InflectionAi, + CreateAssistantDraftDtoCredentialsItem_Langfuse, + CreateAssistantDraftDtoCredentialsItem_Lmnt, + CreateAssistantDraftDtoCredentialsItem_Make, + CreateAssistantDraftDtoCredentialsItem_Openai, + CreateAssistantDraftDtoCredentialsItem_Openrouter, + CreateAssistantDraftDtoCredentialsItem_PerplexityAi, + CreateAssistantDraftDtoCredentialsItem_Playht, + CreateAssistantDraftDtoCredentialsItem_RimeAi, + CreateAssistantDraftDtoCredentialsItem_Runpod, + CreateAssistantDraftDtoCredentialsItem_S3, + CreateAssistantDraftDtoCredentialsItem_S3Compatible, + CreateAssistantDraftDtoCredentialsItem_Supabase, + CreateAssistantDraftDtoCredentialsItem_SmallestAi, + CreateAssistantDraftDtoCredentialsItem_Tavus, + CreateAssistantDraftDtoCredentialsItem_TogetherAi, + CreateAssistantDraftDtoCredentialsItem_Twilio, + CreateAssistantDraftDtoCredentialsItem_Vonage, + CreateAssistantDraftDtoCredentialsItem_Webhook, + CreateAssistantDraftDtoCredentialsItem_CustomCredential, + CreateAssistantDraftDtoCredentialsItem_Xai, + CreateAssistantDraftDtoCredentialsItem_Microsoft, + CreateAssistantDraftDtoCredentialsItem_Neuphonic, + CreateAssistantDraftDtoCredentialsItem_Hume, + CreateAssistantDraftDtoCredentialsItem_Mistral, + CreateAssistantDraftDtoCredentialsItem_Speechmatics, + CreateAssistantDraftDtoCredentialsItem_Soniox, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + CreateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + CreateAssistantDraftDtoCredentialsItem_Inworld, + CreateAssistantDraftDtoCredentialsItem_Minimax, + CreateAssistantDraftDtoCredentialsItem_Wellsaid, + CreateAssistantDraftDtoCredentialsItem_Email, + CreateAssistantDraftDtoCredentialsItem_SlackWebhook, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/create_assistant_draft_dto_first_message_mode.py b/src/vapi/types/create_assistant_draft_dto_first_message_mode.py new file mode 100644 index 00000000..ac5624e5 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_first_message_mode.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateAssistantDraftDtoFirstMessageMode = typing.Union[ + typing.Literal[ + "assistant-speaks-first", "assistant-speaks-first-with-model-generated-message", "assistant-waits-for-user" + ], + typing.Any, +] diff --git a/src/vapi/types/create_assistant_draft_dto_hooks_item.py b/src/vapi/types/create_assistant_draft_dto_hooks_item.py new file mode 100644 index 00000000..34d00b69 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_hooks_item.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted +from .call_hook_call_ending import CallHookCallEnding +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout +from .session_created_hook import SessionCreatedHook + +CreateAssistantDraftDtoHooksItem = typing.Union[ + CallHookCallEnding, + CallHookAssistantSpeechInterrupted, + CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechTimeout, + SessionCreatedHook, +] diff --git a/src/vapi/types/create_assistant_draft_dto_model.py b/src/vapi/types/create_assistant_draft_dto_model.py new file mode 100644 index 00000000..634af9e1 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_model.py @@ -0,0 +1,2093 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_model_model import AnthropicModelModel +from .anthropic_thinking_config import AnthropicThinkingConfig +from .cerebras_model_model import CerebrasModelModel +from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto +from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode +from .deep_seek_model_model import DeepSeekModelModel +from .google_model_model import GoogleModelModel +from .google_realtime_config import GoogleRealtimeConfig +from .groq_model_model import GroqModelModel +from .inflection_ai_model_model import InflectionAiModelModel +from .minimax_llm_model_model import MinimaxLlmModelModel +from .open_ai_message import OpenAiMessage +from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem +from .open_ai_model_model import OpenAiModelModel +from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort +from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion +from .xai_model_model import XaiModelModel + + +class CreateAssistantDraftDtoModel_Anthropic(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_AnthropicBedrock(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicBedrockModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicBedrockModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Anyscale(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anyscale"] = "anyscale" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnyscaleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Cerebras(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["cerebras"] = "cerebras" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CerebrasModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: CerebrasModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_CustomLlm(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CustomLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + metadata_send_mode: typing_extensions.Annotated[ + typing.Optional[CustomLlmModelMetadataSendMode], + FieldMetadata(alias="metadataSendMode"), + pydantic.Field(alias="metadataSendMode"), + ] = None + headers: typing.Optional[typing.Dict[str, str]] = None + url: str + word_level_confidence_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="wordLevelConfidenceEnabled"), + pydantic.Field(alias="wordLevelConfidenceEnabled"), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Deepinfra(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deepinfra"] = "deepinfra" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepInfraModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_DeepSeek(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deep-seek"] = "deep-seek" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepSeekModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: DeepSeekModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Google(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GoogleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GoogleModelModel + realtime_config: typing_extensions.Annotated[ + typing.Optional[GoogleRealtimeConfig], + FieldMetadata(alias="realtimeConfig"), + pydantic.Field(alias="realtimeConfig"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Groq(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["groq"] = "groq" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GroqModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GroqModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_InflectionAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["inflection-ai"] = "inflection-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["InflectionAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: InflectionAiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["minimax"] = "minimax" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["MinimaxLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: MinimaxLlmModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: OpenAiModelModel + fallback_models: typing_extensions.Annotated[ + typing.Optional[typing.List[OpenAiModelFallbackModelsItem]], + FieldMetadata(alias="fallbackModels"), + pydantic.Field(alias="fallbackModels"), + ] = None + tool_strict_compatibility_mode: typing_extensions.Annotated[ + typing.Optional[OpenAiModelToolStrictCompatibilityMode], + FieldMetadata(alias="toolStrictCompatibilityMode"), + pydantic.Field(alias="toolStrictCompatibilityMode"), + ] = None + prompt_cache_retention: typing_extensions.Annotated[ + typing.Optional[OpenAiModelPromptCacheRetention], + FieldMetadata(alias="promptCacheRetention"), + pydantic.Field(alias="promptCacheRetention"), + ] = None + prompt_cache_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") + ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Openrouter(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openrouter"] = "openrouter" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenRouterModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_PerplexityAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["PerplexityAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_TogetherAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["together-ai"] = "together-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["TogetherAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["xai"] = "xai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["XaiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: XaiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 CreateAssistantDraftDtoModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + +CreateAssistantDraftDtoModel = typing_extensions.Annotated[ + typing.Union[ + CreateAssistantDraftDtoModel_Anthropic, + CreateAssistantDraftDtoModel_AnthropicBedrock, + CreateAssistantDraftDtoModel_Anyscale, + CreateAssistantDraftDtoModel_Cerebras, + CreateAssistantDraftDtoModel_CustomLlm, + CreateAssistantDraftDtoModel_Deepinfra, + CreateAssistantDraftDtoModel_DeepSeek, + CreateAssistantDraftDtoModel_Google, + CreateAssistantDraftDtoModel_Groq, + CreateAssistantDraftDtoModel_InflectionAi, + CreateAssistantDraftDtoModel_Minimax, + CreateAssistantDraftDtoModel_Openai, + CreateAssistantDraftDtoModel_Openrouter, + CreateAssistantDraftDtoModel_PerplexityAi, + CreateAssistantDraftDtoModel_TogetherAi, + CreateAssistantDraftDtoModel_Xai, + CreateAssistantDraftDtoModel_Vapi, + ], + UnionMetadata(discriminant="provider"), +] +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 + +update_forward_refs( + CreateAssistantDraftDtoModel_Anthropic, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_AnthropicBedrock, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Anyscale, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Cerebras, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_CustomLlm, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Deepinfra, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_DeepSeek, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Google, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Groq, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_InflectionAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Minimax, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Openai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Openrouter, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_PerplexityAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_TogetherAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Xai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDraftDtoModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/create_assistant_draft_dto_server_messages_item.py b/src/vapi/types/create_assistant_draft_dto_server_messages_item.py new file mode 100644 index 00000000..b3ee5205 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_server_messages_item.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateAssistantDraftDtoServerMessagesItem = typing.Union[ + typing.Literal[ + "assistant.started", + "assistant.speechStarted", + "conversation-update", + "end-of-call-report", + "function-call", + "hang", + "language-changed", + "language-change-detected", + "model-output", + "phone-call-control", + "speech-update", + "status-update", + "transcript", + 'transcript[transcriptType="final"]', + "tool-calls", + "transfer-destination-request", + "handoff-destination-request", + "transfer-update", + "user-interrupted", + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted", + "call.deleted", + "call.delete.failed", + ], + typing.Any, +] diff --git a/src/vapi/types/create_assistant_draft_dto_transcriber.py b/src/vapi/types/create_assistant_draft_dto_transcriber.py new file mode 100644 index 00000000..6ff41b3d --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_transcriber.py @@ -0,0 +1,604 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .assembly_ai_transcriber_language import AssemblyAiTranscriberLanguage +from .assembly_ai_transcriber_speech_model import AssemblyAiTranscriberSpeechModel +from .azure_speech_transcriber_language import AzureSpeechTranscriberLanguage +from .azure_speech_transcriber_segmentation_strategy import AzureSpeechTranscriberSegmentationStrategy +from .cartesia_transcriber_language import CartesiaTranscriberLanguage +from .cartesia_transcriber_model import CartesiaTranscriberModel +from .deepgram_transcriber_language import DeepgramTranscriberLanguage +from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem +from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage +from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel +from .fallback_transcriber_plan import FallbackTranscriberPlan +from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto +from .gladia_transcriber_language import GladiaTranscriberLanguage +from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem +from .gladia_transcriber_model import GladiaTranscriberModel +from .gladia_transcriber_region import GladiaTranscriberRegion +from .google_transcriber_language import GoogleTranscriberLanguage +from .google_transcriber_model import GoogleTranscriberModel +from .open_ai_transcriber_language import OpenAiTranscriberLanguage +from .open_ai_transcriber_model import OpenAiTranscriberModel +from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem +from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem +from .soniox_transcriber_model import SonioxTranscriberModel +from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem +from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage +from .speechmatics_transcriber_model import SpeechmaticsTranscriberModel +from .speechmatics_transcriber_numeral_style import SpeechmaticsTranscriberNumeralStyle +from .speechmatics_transcriber_operating_point import SpeechmaticsTranscriberOperatingPoint +from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion +from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage +from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel + + +class CreateAssistantDraftDtoTranscriber_AssemblyAi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["assembly-ai"] = "assembly-ai" + language: typing.Optional[AssemblyAiTranscriberLanguage] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + format_turns: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="formatTurns"), pydantic.Field(alias="formatTurns") + ] = None + end_of_turn_confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnConfidenceThreshold"), + pydantic.Field(alias="endOfTurnConfidenceThreshold"), + ] = None + min_end_of_turn_silence_when_confident: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minEndOfTurnSilenceWhenConfident"), + pydantic.Field(alias="minEndOfTurnSilenceWhenConfident"), + ] = None + word_finalization_max_wait_time: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="wordFinalizationMaxWaitTime"), + pydantic.Field(alias="wordFinalizationMaxWaitTime"), + ] = None + max_turn_silence: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTurnSilence"), pydantic.Field(alias="maxTurnSilence") + ] = None + vad_assisted_endpointing_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="vadAssistedEndpointingEnabled"), + pydantic.Field(alias="vadAssistedEndpointingEnabled"), + ] = None + speech_model: typing_extensions.Annotated[ + typing.Optional[AssemblyAiTranscriberSpeechModel], + FieldMetadata(alias="speechModel"), + pydantic.Field(alias="speechModel"), + ] = None + realtime_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="realtimeUrl"), pydantic.Field(alias="realtimeUrl") + ] = None + word_boost: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="wordBoost"), pydantic.Field(alias="wordBoost") + ] = None + keyterms_prompt: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="keytermsPrompt"), pydantic.Field(alias="keytermsPrompt") + ] = None + end_utterance_silence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endUtteranceSilenceThreshold"), + pydantic.Field(alias="endUtteranceSilenceThreshold"), + ] = None + disable_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="disablePartialTranscripts"), + pydantic.Field(alias="disablePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["azure"] = "azure" + language: typing.Optional[AzureSpeechTranscriberLanguage] = None + segmentation_strategy: typing_extensions.Annotated[ + typing.Optional[AzureSpeechTranscriberSegmentationStrategy], + FieldMetadata(alias="segmentationStrategy"), + pydantic.Field(alias="segmentationStrategy"), + ] = None + segmentation_silence_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationSilenceTimeoutMs"), + pydantic.Field(alias="segmentationSilenceTimeoutMs"), + ] = None + segmentation_maximum_time_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationMaximumTimeMs"), + pydantic.Field(alias="segmentationMaximumTimeMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_CustomTranscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["custom-transcriber"] = "custom-transcriber" + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + model: typing.Optional[DeepgramTranscriberModel] = None + language: typing.Optional[DeepgramTranscriberLanguage] = None + smart_format: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="smartFormat"), pydantic.Field(alias="smartFormat") + ] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + numerals: typing.Optional[bool] = None + profanity_filter: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") + ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + eot_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") + ] = None + eot_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") + ] = None + languages: typing.Optional[typing.List[str]] = None + keywords: typing.Optional[typing.List[str]] = None + keyterm: typing.Optional[typing.List[str]] = None + endpointing: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["11labs"] = "11labs" + model: typing.Optional[ElevenLabsTranscriberModel] = None + language: typing.Optional[ElevenLabsTranscriberLanguage] = None + silence_threshold_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="silenceThresholdSeconds"), + pydantic.Field(alias="silenceThresholdSeconds"), + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + min_speech_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="minSpeechDurationMs"), pydantic.Field(alias="minSpeechDurationMs") + ] = None + min_silence_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minSilenceDurationMs"), + pydantic.Field(alias="minSilenceDurationMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Gladia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["gladia"] = "gladia" + model: typing.Optional[GladiaTranscriberModel] = None + language_behaviour: typing_extensions.Annotated[ + typing.Optional[GladiaTranscriberLanguageBehaviour], + FieldMetadata(alias="languageBehaviour"), + pydantic.Field(alias="languageBehaviour"), + ] = None + language: typing.Optional[GladiaTranscriberLanguage] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None + transcription_hint: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") + ] = None + prosody: typing.Optional[bool] = None + audio_enhancer: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="audioEnhancer"), pydantic.Field(alias="audioEnhancer") + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + endpointing: typing.Optional[float] = None + speech_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speechThreshold"), pydantic.Field(alias="speechThreshold") + ] = None + custom_vocabulary_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="customVocabularyEnabled"), + pydantic.Field(alias="customVocabularyEnabled"), + ] = None + custom_vocabulary_config: typing_extensions.Annotated[ + typing.Optional[GladiaCustomVocabularyConfigDto], + FieldMetadata(alias="customVocabularyConfig"), + pydantic.Field(alias="customVocabularyConfig"), + ] = None + region: typing.Optional[GladiaTranscriberRegion] = None + receive_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="receivePartialTranscripts"), + pydantic.Field(alias="receivePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Google(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["google"] = "google" + model: typing.Optional[GoogleTranscriberModel] = None + language: typing.Optional[GoogleTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Speechmatics(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["speechmatics"] = "speechmatics" + model: typing.Optional[SpeechmaticsTranscriberModel] = None + language: typing.Optional[SpeechmaticsTranscriberLanguage] = None + operating_point: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberOperatingPoint], + FieldMetadata(alias="operatingPoint"), + pydantic.Field(alias="operatingPoint"), + ] = None + region: typing.Optional[SpeechmaticsTranscriberRegion] = None + enable_diarization: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableDiarization"), pydantic.Field(alias="enableDiarization") + ] = None + max_delay: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxDelay"), pydantic.Field(alias="maxDelay") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.List[SpeechmaticsCustomVocabularyItem], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] + numeral_style: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberNumeralStyle], + FieldMetadata(alias="numeralStyle"), + pydantic.Field(alias="numeralStyle"), + ] = None + end_of_turn_sensitivity: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnSensitivity"), + pydantic.Field(alias="endOfTurnSensitivity"), + ] = None + remove_disfluencies: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="removeDisfluencies"), pydantic.Field(alias="removeDisfluencies") + ] = None + minimum_speech_duration: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minimumSpeechDuration"), + pydantic.Field(alias="minimumSpeechDuration"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Talkscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["talkscriber"] = "talkscriber" + model: typing.Optional[TalkscriberTranscriberModel] = None + language: typing.Optional[TalkscriberTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["openai"] = "openai" + model: OpenAiTranscriberModel + language: typing.Optional[OpenAiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + model: typing.Optional[CartesiaTranscriberModel] = None + language: typing.Optional[CartesiaTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Soniox(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["soniox"] = "soniox" + model: typing.Optional[SonioxTranscriberModel] = None + language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None + language_hints_strict: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") + ] = None + max_endpoint_delay_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxEndpointDelayMs"), pydantic.Field(alias="maxEndpointDelayMs") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDraftDtoTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + +CreateAssistantDraftDtoTranscriber = typing_extensions.Annotated[ + typing.Union[ + CreateAssistantDraftDtoTranscriber_AssemblyAi, + CreateAssistantDraftDtoTranscriber_Azure, + CreateAssistantDraftDtoTranscriber_CustomTranscriber, + CreateAssistantDraftDtoTranscriber_Deepgram, + CreateAssistantDraftDtoTranscriber_11Labs, + CreateAssistantDraftDtoTranscriber_Gladia, + CreateAssistantDraftDtoTranscriber_Google, + CreateAssistantDraftDtoTranscriber_Speechmatics, + CreateAssistantDraftDtoTranscriber_Talkscriber, + CreateAssistantDraftDtoTranscriber_Openai, + CreateAssistantDraftDtoTranscriber_Cartesia, + CreateAssistantDraftDtoTranscriber_Soniox, + CreateAssistantDraftDtoTranscriber_Xai, + CreateAssistantDraftDtoTranscriber_Vapi, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/create_assistant_draft_dto_voice.py b/src/vapi/types/create_assistant_draft_dto_voice.py new file mode 100644 index 00000000..b6da12f9 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_voice.py @@ -0,0 +1,814 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_voice_id import AzureVoiceId +from .cartesia_experimental_controls import CartesiaExperimentalControls +from .cartesia_generation_config import CartesiaGenerationConfig +from .cartesia_voice_language import CartesiaVoiceLanguage +from .cartesia_voice_model import CartesiaVoiceModel +from .chunk_plan import ChunkPlan +from .deepgram_voice_id import DeepgramVoiceId +from .deepgram_voice_model import DeepgramVoiceModel +from .eleven_labs_pronunciation_dictionary_locator import ElevenLabsPronunciationDictionaryLocator +from .eleven_labs_voice_id import ElevenLabsVoiceId +from .eleven_labs_voice_model import ElevenLabsVoiceModel +from .fallback_plan import FallbackPlan +from .hume_voice_model import HumeVoiceModel +from .inworld_voice_language_code import InworldVoiceLanguageCode +from .inworld_voice_model import InworldVoiceModel +from .inworld_voice_voice_id import InworldVoiceVoiceId +from .lmnt_voice_id import LmntVoiceId +from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId +from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost +from .minimax_voice_model import MinimaxVoiceModel +from .minimax_voice_region import MinimaxVoiceRegion +from .minimax_voice_subtitle_type import MinimaxVoiceSubtitleType +from .neuphonic_voice_model import NeuphonicVoiceModel +from .open_ai_voice_id import OpenAiVoiceId +from .open_ai_voice_model import OpenAiVoiceModel +from .play_ht_voice_emotion import PlayHtVoiceEmotion +from .play_ht_voice_id import PlayHtVoiceId +from .play_ht_voice_language import PlayHtVoiceLanguage +from .play_ht_voice_model import PlayHtVoiceModel +from .rime_ai_voice_id import RimeAiVoiceId +from .rime_ai_voice_language import RimeAiVoiceLanguage +from .rime_ai_voice_model import RimeAiVoiceModel +from .server import Server +from .sesame_voice_model import SesameVoiceModel +from .smallest_ai_voice_id import SmallestAiVoiceId +from .smallest_ai_voice_model import SmallestAiVoiceModel +from .tavus_conversation_properties import TavusConversationProperties +from .tavus_voice_voice_id import TavusVoiceVoiceId +from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion +from .vapi_voice_voice_id import VapiVoiceVoiceId +from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId + + +class CreateAssistantDraftDtoVoice_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["azure"] = "azure" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[AzureVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[CartesiaVoiceModel] = None + language: typing.Optional[CartesiaVoiceLanguage] = None + experimental_controls: typing_extensions.Annotated[ + typing.Optional[CartesiaExperimentalControls], + FieldMetadata(alias="experimentalControls"), + pydantic.Field(alias="experimentalControls"), + ] = None + generation_config: typing_extensions.Annotated[ + typing.Optional[CartesiaGenerationConfig], + FieldMetadata(alias="generationConfig"), + pydantic.Field(alias="generationConfig"), + ] = None + pronunciation_dict_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="pronunciationDictId"), pydantic.Field(alias="pronunciationDictId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_CustomVoice(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["custom-voice"] = "custom-voice" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + DeepgramVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[DeepgramVoiceModel] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["11labs"] = "11labs" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + ElevenLabsVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + stability: typing.Optional[float] = None + similarity_boost: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="similarityBoost"), pydantic.Field(alias="similarityBoost") + ] = None + style: typing.Optional[float] = None + use_speaker_boost: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="useSpeakerBoost"), pydantic.Field(alias="useSpeakerBoost") + ] = None + speed: typing.Optional[float] = None + optimize_streaming_latency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="optimizeStreamingLatency"), + pydantic.Field(alias="optimizeStreamingLatency"), + ] = None + enable_ssml_parsing: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsmlParsing"), pydantic.Field(alias="enableSsmlParsing") + ] = None + auto_mode: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="autoMode"), pydantic.Field(alias="autoMode") + ] = None + model: typing.Optional[ElevenLabsVoiceModel] = None + language: typing.Optional[str] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + pronunciation_dictionary_locators: typing_extensions.Annotated[ + typing.Optional[typing.List[ElevenLabsPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionaryLocators"), + pydantic.Field(alias="pronunciationDictionaryLocators"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Hume(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["hume"] = "hume" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + model: typing.Optional[HumeVoiceModel] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + is_custom_hume_voice: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="isCustomHumeVoice"), pydantic.Field(alias="isCustomHumeVoice") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + description: typing.Optional[str] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Lmnt(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["lmnt"] = "lmnt" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[LmntVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + speed: typing.Optional[float] = None + language: typing.Optional[LmntVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Neuphonic(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["neuphonic"] = "neuphonic" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[NeuphonicVoiceModel] = None + language: typing.Dict[str, typing.Any] + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["openai"] = "openai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + OpenAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[OpenAiVoiceModel] = None + instructions: typing.Optional[str] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Playht(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["playht"] = "playht" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + PlayHtVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + speed: typing.Optional[float] = None + temperature: typing.Optional[float] = None + emotion: typing.Optional[PlayHtVoiceEmotion] = None + voice_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="voiceGuidance"), pydantic.Field(alias="voiceGuidance") + ] = None + style_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleGuidance"), pydantic.Field(alias="styleGuidance") + ] = None + text_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="textGuidance"), pydantic.Field(alias="textGuidance") + ] = None + model: typing.Optional[PlayHtVoiceModel] = None + language: typing.Optional[PlayHtVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Wellsaid(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["wellsaid"] = "wellsaid" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[WellSaidVoiceModel] = None + enable_ssml: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsml"), pydantic.Field(alias="enableSsml") + ] = None + library_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="libraryIds"), pydantic.Field(alias="libraryIds") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_RimeAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["rime-ai"] = "rime-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + RimeAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[RimeAiVoiceModel] = None + speed: typing.Optional[float] = None + pause_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="pauseBetweenBrackets"), pydantic.Field(alias="pauseBetweenBrackets") + ] = None + phonemize_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="phonemizeBetweenBrackets"), + pydantic.Field(alias="phonemizeBetweenBrackets"), + ] = None + reduce_latency: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="reduceLatency"), pydantic.Field(alias="reduceLatency") + ] = None + inline_speed_alpha: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="inlineSpeedAlpha"), pydantic.Field(alias="inlineSpeedAlpha") + ] = None + language: typing.Optional[RimeAiVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_SmallestAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["smallest-ai"] = "smallest-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + SmallestAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[SmallestAiVoiceModel] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Tavus(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["tavus"] = "tavus" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + TavusVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + persona_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="personaId"), pydantic.Field(alias="personaId") + ] = None + callback_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callbackUrl"), pydantic.Field(alias="callbackUrl") + ] = None + conversation_name: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationName"), pydantic.Field(alias="conversationName") + ] = None + conversational_context: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="conversationalContext"), + pydantic.Field(alias="conversationalContext"), + ] = None + custom_greeting: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="customGreeting"), pydantic.Field(alias="customGreeting") + ] = None + properties: typing.Optional[TavusConversationProperties] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["vapi"] = "vapi" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + version: typing.Optional[VapiVoiceVersion] = None + speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None + pronunciation_dictionary: typing_extensions.Annotated[ + typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionary"), + pydantic.Field(alias="pronunciationDictionary"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 CreateAssistantDraftDtoVoice_Sesame(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["sesame"] = "sesame" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: SesameVoiceModel + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Inworld(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["inworld"] = "inworld" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + InworldVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[InworldVoiceModel] = None + language_code: typing_extensions.Annotated[ + typing.Optional[InworldVoiceLanguageCode], + FieldMetadata(alias="languageCode"), + pydantic.Field(alias="languageCode"), + ] = None + temperature: typing.Optional[float] = None + speaking_rate: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speakingRate"), pydantic.Field(alias="speakingRate") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["minimax"] = "minimax" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[MinimaxVoiceModel] = None + emotion: typing.Optional[str] = None + subtitle_type: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceSubtitleType], + FieldMetadata(alias="subtitleType"), + pydantic.Field(alias="subtitleType"), + ] = None + pitch: typing.Optional[float] = None + speed: typing.Optional[float] = None + volume: typing.Optional[float] = None + region: typing.Optional[MinimaxVoiceRegion] = None + language_boost: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceLanguageBoost], + FieldMetadata(alias="languageBoost"), + pydantic.Field(alias="languageBoost"), + ] = None + text_normalization_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="textNormalizationEnabled"), + pydantic.Field(alias="textNormalizationEnabled"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDraftDtoVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + +CreateAssistantDraftDtoVoice = typing_extensions.Annotated[ + typing.Union[ + CreateAssistantDraftDtoVoice_Azure, + CreateAssistantDraftDtoVoice_Cartesia, + CreateAssistantDraftDtoVoice_CustomVoice, + CreateAssistantDraftDtoVoice_Deepgram, + CreateAssistantDraftDtoVoice_11Labs, + CreateAssistantDraftDtoVoice_Hume, + CreateAssistantDraftDtoVoice_Lmnt, + CreateAssistantDraftDtoVoice_Neuphonic, + CreateAssistantDraftDtoVoice_Openai, + CreateAssistantDraftDtoVoice_Playht, + CreateAssistantDraftDtoVoice_Wellsaid, + CreateAssistantDraftDtoVoice_RimeAi, + CreateAssistantDraftDtoVoice_SmallestAi, + CreateAssistantDraftDtoVoice_Tavus, + CreateAssistantDraftDtoVoice_Vapi, + CreateAssistantDraftDtoVoice_Sesame, + CreateAssistantDraftDtoVoice_Inworld, + CreateAssistantDraftDtoVoice_Minimax, + CreateAssistantDraftDtoVoice_Xai, + CreateAssistantDraftDtoVoice_Microsoft, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/create_assistant_draft_dto_voicemail_detection.py b/src/vapi/types/create_assistant_draft_dto_voicemail_detection.py new file mode 100644 index 00000000..5cd9ade3 --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_voicemail_detection.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .create_assistant_draft_dto_voicemail_detection_zero import CreateAssistantDraftDtoVoicemailDetectionZero +from .google_voicemail_detection_plan import GoogleVoicemailDetectionPlan +from .open_ai_voicemail_detection_plan import OpenAiVoicemailDetectionPlan +from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan +from .vapi_voicemail_detection_plan import VapiVoicemailDetectionPlan + +CreateAssistantDraftDtoVoicemailDetection = typing.Union[ + CreateAssistantDraftDtoVoicemailDetectionZero, + GoogleVoicemailDetectionPlan, + OpenAiVoicemailDetectionPlan, + TwilioVoicemailDetectionPlan, + VapiVoicemailDetectionPlan, +] diff --git a/src/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.py b/src/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.py new file mode 100644 index 00000000..08826d0a --- /dev/null +++ b/src/vapi/types/create_assistant_draft_dto_voicemail_detection_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateAssistantDraftDtoVoicemailDetectionZero = typing.Union[typing.Literal["off"], typing.Any] diff --git a/src/vapi/types/create_assistant_dto.py b/src/vapi/types/create_assistant_dto.py index 45076aed..05a861c0 100644 --- a/src/vapi/types/create_assistant_dto.py +++ b/src/vapi/types/create_assistant_dto.py @@ -31,6 +31,10 @@ class CreateAssistantDto(UncheckedBaseModel): + """ + Configuration used to create an assistant, including its model, voice, transcriber, prompts, tools, messaging, and conversation behavior. + """ + transcriber: typing.Optional[CreateAssistantDtoTranscriber] = pydantic.Field(default=None) """ These are the options for the assistant's transcriber. @@ -57,7 +61,10 @@ class CreateAssistantDto(UncheckedBaseModel): first_message_interruptions_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="firstMessageInterruptionsEnabled"), - pydantic.Field(alias="firstMessageInterruptionsEnabled"), + pydantic.Field( + alias="firstMessageInterruptionsEnabled", + description="Set to `true` to allow the user to interrupt the assistant while it speaks the first message. Default is `false`.", + ), ] = None first_message_mode: typing_extensions.Annotated[ typing.Optional[CreateAssistantDtoFirstMessageMode], @@ -173,7 +180,12 @@ class CreateAssistantDto(UncheckedBaseModel): ), ] = None compliance_plan: typing_extensions.Annotated[ - typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + typing.Optional[CompliancePlan], + FieldMetadata(alias="compliancePlan"), + pydantic.Field( + alias="compliancePlan", + description="Compliance settings for the assistant, including HIPAA and PCI behavior, security filtering, and recording consent.", + ), ] = None metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ @@ -250,7 +262,10 @@ class CreateAssistantDto(UncheckedBaseModel): keypad_input_plan: typing_extensions.Annotated[ typing.Optional[KeypadInputPlan], FieldMetadata(alias="keypadInputPlan"), - pydantic.Field(alias="keypadInputPlan"), + pydantic.Field( + alias="keypadInputPlan", + description="Configuration for collecting and processing DTMF keypad input during calls.", + ), ] = None if IS_PYDANTIC_V2: @@ -281,8 +296,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 @@ -317,6 +336,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -340,8 +366,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, CreateHandoffToolDto=CreateHandoffToolDto, @@ -376,6 +406,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_assistant_dto_credentials_item.py b/src/vapi/types/create_assistant_dto_credentials_item.py index 9eceeebe..1bb8dd03 100644 --- a/src/vapi/types/create_assistant_dto_credentials_item.py +++ b/src/vapi/types/create_assistant_dto_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class CreateAssistantDtoCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class CreateAssistantDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class CreateAssistantDtoCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class CreateAssistantDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 CreateAssistantDtoCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class CreateAssistantDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class CreateAssistantDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class CreateAssistantDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class CreateAssistantDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class CreateAssistantDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class CreateAssistantDtoCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class CreateAssistantDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: CreateAssistantDtoCredentialsItem_RimeAi, CreateAssistantDtoCredentialsItem_Runpod, CreateAssistantDtoCredentialsItem_S3, + CreateAssistantDtoCredentialsItem_S3Compatible, CreateAssistantDtoCredentialsItem_Supabase, CreateAssistantDtoCredentialsItem_SmallestAi, CreateAssistantDtoCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: CreateAssistantDtoCredentialsItem_Webhook, CreateAssistantDtoCredentialsItem_CustomCredential, CreateAssistantDtoCredentialsItem_Xai, + CreateAssistantDtoCredentialsItem_Microsoft, CreateAssistantDtoCredentialsItem_Neuphonic, CreateAssistantDtoCredentialsItem_Hume, CreateAssistantDtoCredentialsItem_Mistral, CreateAssistantDtoCredentialsItem_Speechmatics, CreateAssistantDtoCredentialsItem_Soniox, - CreateAssistantDtoCredentialsItem_Trieve, CreateAssistantDtoCredentialsItem_GoogleCalendarOauth2Client, CreateAssistantDtoCredentialsItem_GoogleCalendarOauth2Authorization, CreateAssistantDtoCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/create_assistant_dto_model.py b/src/vapi/types/create_assistant_dto_model.py index bf9e84ca..f1940d03 100644 --- a/src/vapi/types/create_assistant_dto_model.py +++ b/src/vapi/types/create_assistant_dto_model.py @@ -25,7 +25,10 @@ from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from .open_ai_model_model import OpenAiModelModel from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion from .xai_model_model import XaiModelModel @@ -40,6 +43,9 @@ class CreateAssistantDtoModel_Anthropic(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -81,6 +87,9 @@ class CreateAssistantDtoModel_AnthropicBedrock(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -122,6 +131,9 @@ class CreateAssistantDtoModel_Anyscale(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -162,6 +174,9 @@ class CreateAssistantDtoModel_Cerebras(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -202,6 +217,9 @@ class CreateAssistantDtoModel_CustomLlm(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -257,6 +275,9 @@ class CreateAssistantDtoModel_Deepinfra(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -297,6 +318,9 @@ class CreateAssistantDtoModel_DeepSeek(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -337,6 +361,9 @@ class CreateAssistantDtoModel_Google(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -382,6 +409,9 @@ class CreateAssistantDtoModel_Groq(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -422,6 +452,9 @@ class CreateAssistantDtoModel_InflectionAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -462,6 +495,9 @@ class CreateAssistantDtoModel_Minimax(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -502,6 +538,9 @@ class CreateAssistantDtoModel_Openai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -526,6 +565,11 @@ class CreateAssistantDtoModel_Openai(UncheckedBaseModel): prompt_cache_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") @@ -560,6 +604,9 @@ class CreateAssistantDtoModel_Openrouter(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -600,6 +647,9 @@ class CreateAssistantDtoModel_PerplexityAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -640,6 +690,9 @@ class CreateAssistantDtoModel_TogetherAi(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -680,6 +733,9 @@ class CreateAssistantDtoModel_Xai(UncheckedBaseModel): tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -709,6 +765,51 @@ class Config: extra = pydantic.Extra.allow +class CreateAssistantDtoModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + CreateAssistantDtoModel = typing_extensions.Annotated[ typing.Union[ CreateAssistantDtoModel_Anthropic, @@ -727,6 +828,7 @@ class Config: CreateAssistantDtoModel_PerplexityAi, CreateAssistantDtoModel_TogetherAi, CreateAssistantDtoModel_Xai, + CreateAssistantDtoModel_Vapi, ], UnionMetadata(discriminant="provider"), ] @@ -747,8 +849,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 @@ -783,6 +889,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .anthropic_model import AnthropicModel # noqa: E402, I001 @@ -806,8 +919,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -843,6 +960,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -865,8 +989,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -902,6 +1030,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -924,8 +1059,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -961,6 +1100,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -984,7 +1130,11 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1020,6 +1170,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1043,8 +1200,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1079,6 +1240,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1102,8 +1270,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1138,6 +1310,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1161,8 +1340,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1197,6 +1380,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1220,8 +1410,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1256,6 +1450,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1279,8 +1480,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1315,6 +1520,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1338,8 +1550,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1374,6 +1590,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1397,8 +1620,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1433,6 +1660,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1456,8 +1690,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1492,6 +1730,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1515,8 +1760,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1551,6 +1800,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1574,8 +1830,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1610,6 +1870,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1633,8 +1900,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1669,6 +1940,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -1692,8 +1970,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -1729,5 +2011,82 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateAssistantDtoModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_assistant_dto_transcriber.py b/src/vapi/types/create_assistant_dto_transcriber.py index 4fde2680..b4f1aa27 100644 --- a/src/vapi/types/create_assistant_dto_transcriber.py +++ b/src/vapi/types/create_assistant_dto_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class CreateAssistantDtoTranscriber_AssemblyAi(UncheckedBaseModel): @@ -198,18 +207,17 @@ class CreateAssistantDtoTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -282,7 +290,7 @@ class CreateAssistantDtoTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -492,6 +500,7 @@ class CreateAssistantDtoTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -503,6 +512,11 @@ class CreateAssistantDtoTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -519,6 +533,56 @@ class Config: extra = pydantic.Extra.allow +class CreateAssistantDtoTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateAssistantDtoTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + CreateAssistantDtoTranscriber = typing_extensions.Annotated[ typing.Union[ CreateAssistantDtoTranscriber_AssemblyAi, @@ -533,6 +597,8 @@ class Config: CreateAssistantDtoTranscriber_Openai, CreateAssistantDtoTranscriber_Cartesia, CreateAssistantDtoTranscriber_Soniox, + CreateAssistantDtoTranscriber_Xai, + CreateAssistantDtoTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/create_assistant_dto_voice.py b/src/vapi/types/create_assistant_dto_voice.py index e15cdd34..9db898cf 100644 --- a/src/vapi/types/create_assistant_dto_voice.py +++ b/src/vapi/types/create_assistant_dto_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class CreateAssistantDtoVoice_Azure(UncheckedBaseModel): @@ -577,7 +584,9 @@ class CreateAssistantDtoVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -586,9 +595,6 @@ class CreateAssistantDtoVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -715,6 +721,72 @@ class Config: extra = pydantic.Extra.allow +class CreateAssistantDtoVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateAssistantDtoVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + CreateAssistantDtoVoice = typing_extensions.Annotated[ typing.Union[ CreateAssistantDtoVoice_Azure, @@ -735,6 +807,8 @@ class Config: CreateAssistantDtoVoice_Sesame, CreateAssistantDtoVoice_Inworld, CreateAssistantDtoVoice_Minimax, + CreateAssistantDtoVoice_Xai, + CreateAssistantDtoVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/create_azure_credential_dto.py b/src/vapi/types/create_azure_credential_dto.py index ef98c5aa..5b36b670 100644 --- a/src/vapi/types/create_azure_credential_dto.py +++ b/src/vapi/types/create_azure_credential_dto.py @@ -13,6 +13,10 @@ class CreateAzureCredentialDto(UncheckedBaseModel): + """ + Credentials for Azure Speech or Blob Storage, including service, region, and optional storage bucket settings. + """ + service: CreateAzureCredentialDtoService = pydantic.Field() """ This is the service being used in Azure. diff --git a/src/vapi/types/create_azure_credential_dto_region.py b/src/vapi/types/create_azure_credential_dto_region.py index 703cefd2..a66d63b2 100644 --- a/src/vapi/types/create_azure_credential_dto_region.py +++ b/src/vapi/types/create_azure_credential_dto_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/create_azure_open_ai_credential_dto.py b/src/vapi/types/create_azure_open_ai_credential_dto.py index 25355ab3..d7ce5289 100644 --- a/src/vapi/types/create_azure_open_ai_credential_dto.py +++ b/src/vapi/types/create_azure_open_ai_credential_dto.py @@ -12,8 +12,20 @@ class CreateAzureOpenAiCredentialDto(UncheckedBaseModel): - region: CreateAzureOpenAiCredentialDtoRegion - models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] + """ + Credentials for authenticating assistant model requests with Azure OpenAI, including region, endpoint, and available models. + """ + + region: CreateAzureOpenAiCredentialDtoRegion = pydantic.Field() + """ + Azure region that hosts the OpenAI resource. + """ + + models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] = pydantic.Field() + """ + Azure OpenAI models available through this credential. + """ + open_ai_key: typing_extensions.Annotated[ str, FieldMetadata(alias="openAIKey"), @@ -25,7 +37,9 @@ class CreateAzureOpenAiCredentialDto(UncheckedBaseModel): pydantic.Field(alias="ocpApimSubscriptionKey", description="This is not returned in the API."), ] = None open_ai_endpoint: typing_extensions.Annotated[ - str, FieldMetadata(alias="openAIEndpoint"), pydantic.Field(alias="openAIEndpoint") + str, + FieldMetadata(alias="openAIEndpoint"), + pydantic.Field(alias="openAIEndpoint", description="Endpoint URL for the Azure OpenAI resource."), ] name: typing.Optional[str] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/create_azure_open_ai_credential_dto_models_item.py b/src/vapi/types/create_azure_open_ai_credential_dto_models_item.py index d8fe2d3f..b1d446a3 100644 --- a/src/vapi/types/create_azure_open_ai_credential_dto_models_item.py +++ b/src/vapi/types/create_azure_open_ai_credential_dto_models_item.py @@ -27,6 +27,9 @@ "gpt-4-0613", "gpt-35-turbo-0125", "gpt-35-turbo-1106", + "gpt-4o", + "gpt-4.1", + "gpt-5.4-mini-2026-03-17", ], typing.Any, ] diff --git a/src/vapi/types/create_azure_open_ai_credential_dto_region.py b/src/vapi/types/create_azure_open_ai_credential_dto_region.py index 1dda4639..40a3985a 100644 --- a/src/vapi/types/create_azure_open_ai_credential_dto_region.py +++ b/src/vapi/types/create_azure_open_ai_credential_dto_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/create_bar_insight_from_call_table_dto.py b/src/vapi/types/create_bar_insight_from_call_table_dto.py index 398c1c73..8fb94bae 100644 --- a/src/vapi/types/create_bar_insight_from_call_table_dto.py +++ b/src/vapi/types/create_bar_insight_from_call_table_dto.py @@ -15,6 +15,10 @@ class CreateBarInsightFromCallTableDto(UncheckedBaseModel): + """ + Configuration used to create a bar-chart insight from call data using metric queries, formulas, grouping, and a stepped time range. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -45,7 +49,11 @@ class CreateBarInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the bar-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[CreateBarInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/create_bash_tool_dto.py b/src/vapi/types/create_bash_tool_dto.py index 8ee12163..0b55c87e 100644 --- a/src/vapi/types/create_bash_tool_dto.py +++ b/src/vapi/types/create_bash_tool_dto.py @@ -17,11 +17,13 @@ class CreateBashToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that executes shell commands in a configured environment. + """ + messages: typing.Optional[typing.List[CreateBashToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_bash_tool_dto_messages_item.py b/src/vapi/types/create_bash_tool_dto_messages_item.py index f7725445..5f15514c 100644 --- a/src/vapi/types/create_bash_tool_dto_messages_item.py +++ b/src/vapi/types/create_bash_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateBashToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateBashToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_byo_phone_number_dto.py b/src/vapi/types/create_byo_phone_number_dto.py index fda1fb3d..bb8e8f35 100644 --- a/src/vapi/types/create_byo_phone_number_dto.py +++ b/src/vapi/types/create_byo_phone_number_dto.py @@ -13,6 +13,10 @@ class CreateByoPhoneNumberDto(UncheckedBaseModel): + """ + Configuration used to connect a bring-your-own phone number to Vapi with a stored telephony credential and routing settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[CreateByoPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/create_byo_sip_trunk_credential_dto.py b/src/vapi/types/create_byo_sip_trunk_credential_dto.py index fc5ab245..5c5a87f3 100644 --- a/src/vapi/types/create_byo_sip_trunk_credential_dto.py +++ b/src/vapi/types/create_byo_sip_trunk_credential_dto.py @@ -7,12 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .sbc_configuration import SbcConfiguration from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan class CreateByoSipTrunkCredentialDto(UncheckedBaseModel): + """ + Configuration for connecting Vapi to a bring-your-own SIP trunk or carrier, including gateways, outbound authentication, number handling, and optional session border controller routing. + """ + gateways: typing.List[SipTrunkGateway] = pydantic.Field() """ This is the list of SIP trunk's gateways. @@ -50,14 +53,6 @@ class CreateByoSipTrunkCredentialDto(UncheckedBaseModel): description="This can be used to enable the SIP diversion header for authenticating the calling number if the SIP trunk supports it. This is an advanced property.", ), ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field( - alias="sbcConfiguration", - description="This is an advanced configuration for enterprise deployments. This uses the onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC provided by Vapi.", - ), - ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_campaign_dto.py b/src/vapi/types/create_campaign_dto.py new file mode 100644 index 00000000..a406c5a4 --- /dev/null +++ b/src/vapi/types/create_campaign_dto.py @@ -0,0 +1,285 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .campaign_predial_plan import CampaignPredialPlan +from .create_campaign_dto_server_messages_item import CreateCampaignDtoServerMessagesItem +from .create_customer_dto import CreateCustomerDto +from .dial_plan_entry import DialPlanEntry +from .schedule_plan import SchedulePlan +from .server import Server + + +class CreateCampaignDto(UncheckedBaseModel): + """ + Configuration used to create an outbound calling campaign. Choose an assistant, squad, or workflow, then provide customers, phone-number or dial-plan settings, and an optional schedule. + """ + + name: str = pydantic.Field() + """ + This is the name of the campaign. This is just for your own reference. + """ + + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantId"), + pydantic.Field( + alias="assistantId", + description="This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.", + ), + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="workflowId"), + pydantic.Field( + alias="workflowId", + description="This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.", + ), + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="squadId"), + pydantic.Field( + alias="squadId", + description="This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used.", + ), + ] = None + phone_number_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="phoneNumberId"), + pydantic.Field( + alias="phoneNumberId", + description="This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive.", + ), + ] = None + dial_plan: typing_extensions.Annotated[ + typing.Optional[typing.List[DialPlanEntry]], + FieldMetadata(alias="dialPlan"), + pydantic.Field( + alias="dialPlan", + description="This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive.", + ), + ] = None + schedule_plan: typing_extensions.Annotated[ + typing.Optional[SchedulePlan], + FieldMetadata(alias="schedulePlan"), + pydantic.Field( + alias="schedulePlan", + description="This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn’t be placed won’t be retried.", + ), + ] = None + customers: typing.Optional[typing.List[CreateCustomerDto]] = pydantic.Field(default=None) + """ + These are the customers that will be called in the campaign. Required if dialPlan is not provided. Maximum of 10000 customers per campaign. + """ + + max_concurrency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxConcurrency"), + pydantic.Field( + alias="maxConcurrency", + description="This is the maximum number of concurrent calls that will be made for the campaign. Defaults to 10.", + ), + ] = None + assistant_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="assistantOverrides"), + pydantic.Field( + alias="assistantOverrides", + description="These are the overrides for the assistant's settings and template variables for the campaign. Use this when the campaign targets an `assistantId`.", + ), + ] = None + squad_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="squadOverrides"), + pydantic.Field( + alias="squadOverrides", + description="These are the overrides for the squad and template variables for the campaign. Use this when the campaign targets a `squadId`. Per-contact `squadOverrides` are deep-merged on top of this at dispatch time.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is the server (URL, auth headers, timeout, etc.) for the campaign webhooks. + """ + + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[CreateCampaignDtoServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", description="These are the messages that will be sent to your Server URL." + ), + ] = None + predial_plan: typing_extensions.Annotated[ + typing.Optional[CampaignPredialPlan], + FieldMetadata(alias="predialPlan"), + pydantic.Field( + alias="predialPlan", + description="This opts the campaign into the blocking `campaign.predial` eligibility webhook. When set, every contact triggers a `campaign.predial` POST to the Server URL before dialing, and the response `{ eligible: boolean }` decides whether the call is placed. Requires `server`. When unset, no pre-dial webhook is sent.", + ), + ] = None + duplicate_from_campaign_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="duplicateFromCampaignId"), + pydantic.Field( + alias="duplicateFromCampaignId", + description="Optional campaign ID to duplicate config from. Provided fields in the request override the source. If `customers` is omitted, contacts are copied from the source.", + ), + ] = 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 + + +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + CreateCampaignDto, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/create_campaign_dto_server_messages_item.py b/src/vapi/types/create_campaign_dto_server_messages_item.py new file mode 100644 index 00000000..c86d5376 --- /dev/null +++ b/src/vapi/types/create_campaign_dto_server_messages_item.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateCampaignDtoServerMessagesItem = typing.Union[ + typing.Literal[ + "campaign.started", + "campaign.cancelled", + "campaign.ended", + "campaign.archived", + "campaign.unarchived", + "contact.dispatched", + "contact.completed", + "contact.failed", + "contact.skipped", + "contact.predial-failed", + "campaign.job.continued", + ], + typing.Any, +] diff --git a/src/vapi/types/create_cartesia_credential_dto.py b/src/vapi/types/create_cartesia_credential_dto.py index 64c92c12..90793dc1 100644 --- a/src/vapi/types/create_cartesia_credential_dto.py +++ b/src/vapi/types/create_cartesia_credential_dto.py @@ -10,11 +10,23 @@ class CreateCartesiaCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating speech recognition and voice synthesis requests with Cartesia. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="This can be used to point to an onprem Cartesia instance. Defaults to api.cartesia.ai.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_cerebras_credential_dto.py b/src/vapi/types/create_cerebras_credential_dto.py index be5e49d4..9390b81b 100644 --- a/src/vapi/types/create_cerebras_credential_dto.py +++ b/src/vapi/types/create_cerebras_credential_dto.py @@ -10,6 +10,10 @@ class CreateCerebrasCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Cerebras. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_cloudflare_credential_dto.py b/src/vapi/types/create_cloudflare_credential_dto.py index 9c4ef265..84dccfc5 100644 --- a/src/vapi/types/create_cloudflare_credential_dto.py +++ b/src/vapi/types/create_cloudflare_credential_dto.py @@ -11,6 +11,10 @@ class CreateCloudflareCredentialDto(UncheckedBaseModel): + """ + Credentials for storing call artifacts in Cloudflare R2, including account details, bucket configuration, and upload fallback order. + """ + account_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="accountId"), diff --git a/src/vapi/types/create_code_tool_dto.py b/src/vapi/types/create_code_tool_dto.py index fda5eb66..09d5ae4f 100644 --- a/src/vapi/types/create_code_tool_dto.py +++ b/src/vapi/types/create_code_tool_dto.py @@ -18,11 +18,13 @@ class CreateCodeToolDto(UncheckedBaseModel): + """ + Configuration used to create a reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout. + """ + messages: typing.Optional[typing.List[CreateCodeToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_code_tool_dto_messages_item.py b/src/vapi/types/create_code_tool_dto_messages_item.py index 28f65629..4b92b0b1 100644 --- a/src/vapi/types/create_code_tool_dto_messages_item.py +++ b/src/vapi/types/create_code_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateCodeToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateCodeToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_computer_tool_dto.py b/src/vapi/types/create_computer_tool_dto.py index fcc30798..d9da74e6 100644 --- a/src/vapi/types/create_computer_tool_dto.py +++ b/src/vapi/types/create_computer_tool_dto.py @@ -17,11 +17,13 @@ class CreateComputerToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that lets the model interact with a computer display through screen, pointer, and keyboard actions. + """ + messages: typing.Optional[typing.List[CreateComputerToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_computer_tool_dto_messages_item.py b/src/vapi/types/create_computer_tool_dto_messages_item.py index 2899cb39..71080a2e 100644 --- a/src/vapi/types/create_computer_tool_dto_messages_item.py +++ b/src/vapi/types/create_computer_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateComputerToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateComputerToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_custom_credential_dto.py b/src/vapi/types/create_custom_credential_dto.py index e6d386d7..b65682b2 100644 --- a/src/vapi/types/create_custom_credential_dto.py +++ b/src/vapi/types/create_custom_credential_dto.py @@ -12,6 +12,10 @@ class CreateCustomCredentialDto(UncheckedBaseModel): + """ + Reusable custom credentials for authenticating outbound requests, with optional public-key encryption for sensitive request data. + """ + authentication_plan: typing_extensions.Annotated[ CreateCustomCredentialDtoAuthenticationPlan, FieldMetadata(alias="authenticationPlan"), diff --git a/src/vapi/types/create_custom_knowledge_base_dto.py b/src/vapi/types/create_custom_knowledge_base_dto.py index 8617f8e3..179c25d4 100644 --- a/src/vapi/types/create_custom_knowledge_base_dto.py +++ b/src/vapi/types/create_custom_knowledge_base_dto.py @@ -10,6 +10,10 @@ class CreateCustomKnowledgeBaseDto(UncheckedBaseModel): + """ + Configuration for connecting a custom knowledge-base implementation through a customer-hosted server. + """ + provider: CreateCustomKnowledgeBaseDtoProvider = pydantic.Field() """ This knowledge base is bring your own knowledge base implementation. diff --git a/src/vapi/types/create_custom_llm_credential_dto.py b/src/vapi/types/create_custom_llm_credential_dto.py index ce7847c0..77bea85a 100644 --- a/src/vapi/types/create_custom_llm_credential_dto.py +++ b/src/vapi/types/create_custom_llm_credential_dto.py @@ -11,6 +11,10 @@ class CreateCustomLlmCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating requests to a custom language model with an API key or OAuth 2.0 authentication plan. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_customer_dto.py b/src/vapi/types/create_customer_dto.py index 4ae74d04..55a3046d 100644 --- a/src/vapi/types/create_customer_dto.py +++ b/src/vapi/types/create_customer_dto.py @@ -12,6 +12,10 @@ class CreateCustomerDto(UncheckedBaseModel): + """ + Customer details used for call delivery and assistant personalization, including phone or SIP destination, contact identifiers, extension, and assistant overrides. + """ + number_e_164_check_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="numberE164CheckEnabled"), @@ -33,6 +37,14 @@ class CreateCustomerDto(UncheckedBaseModel): description="These are the overrides for the assistant's settings and template variables specific to this customer.\nThis allows customization of the assistant's behavior for individual customers in batch calls.", ), ] = None + squad_overrides: typing_extensions.Annotated[ + typing.Optional["AssistantOverrides"], + FieldMetadata(alias="squadOverrides"), + pydantic.Field( + alias="squadOverrides", + description="These are the overrides applied when the call targets a `squadId`. Mirrors\nthe call-level `squadOverrides` — use this instead of `assistantOverrides`\nwhen the campaign or call is squad-based.", + ), + ] = None number: typing.Optional[str] = pydantic.Field(default=None) """ This is the number of the customer. @@ -89,8 +101,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -126,6 +142,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -149,8 +172,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -186,6 +213,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_deep_infra_credential_dto.py b/src/vapi/types/create_deep_infra_credential_dto.py index d672fd6d..5f5ebbef 100644 --- a/src/vapi/types/create_deep_infra_credential_dto.py +++ b/src/vapi/types/create_deep_infra_credential_dto.py @@ -10,6 +10,10 @@ class CreateDeepInfraCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with DeepInfra. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_deep_seek_credential_dto.py b/src/vapi/types/create_deep_seek_credential_dto.py index 40aa70ab..a657953b 100644 --- a/src/vapi/types/create_deep_seek_credential_dto.py +++ b/src/vapi/types/create_deep_seek_credential_dto.py @@ -10,6 +10,10 @@ class CreateDeepSeekCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with DeepSeek. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_deepgram_credential_dto.py b/src/vapi/types/create_deepgram_credential_dto.py index 7e8a9200..553793a3 100644 --- a/src/vapi/types/create_deepgram_credential_dto.py +++ b/src/vapi/types/create_deepgram_credential_dto.py @@ -10,6 +10,10 @@ class CreateDeepgramCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating speech recognition and voice synthesis requests with Deepgram, with an optional API URL for an on-premises instance. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_dtmf_tool_dto.py b/src/vapi/types/create_dtmf_tool_dto.py index f5de8980..21b3fc51 100644 --- a/src/vapi/types/create_dtmf_tool_dto.py +++ b/src/vapi/types/create_dtmf_tool_dto.py @@ -14,11 +14,13 @@ class CreateDtmfToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that lets an assistant send DTMF keypad tones during a call. + """ + messages: typing.Optional[typing.List[CreateDtmfToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sip_info_dtmf_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_dtmf_tool_dto_messages_item.py b/src/vapi/types/create_dtmf_tool_dto_messages_item.py index 2ccee01b..704ebc5f 100644 --- a/src/vapi/types/create_dtmf_tool_dto_messages_item.py +++ b/src/vapi/types/create_dtmf_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateDtmfToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateDtmfToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_eleven_labs_credential_dto.py b/src/vapi/types/create_eleven_labs_credential_dto.py index 838be877..55441566 100644 --- a/src/vapi/types/create_eleven_labs_credential_dto.py +++ b/src/vapi/types/create_eleven_labs_credential_dto.py @@ -7,14 +7,27 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl class CreateElevenLabsCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating speech recognition and voice synthesis requests with ElevenLabs. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="ElevenLabs-only API environment for this key: the global endpoint or the EU data residency endpoint. In EU deployments, new credentials must explicitly use the EU data residency endpoint; existing credentials may omit this field on update to retain their saved endpoint. Outside EU deployments, Vapi detects an omitted endpoint automatically and null on update clears and re-detects the endpoint.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_eleven_labs_credential_dto_api_url.py b/src/vapi/types/create_eleven_labs_credential_dto_api_url.py new file mode 100644 index 00000000..875aa953 --- /dev/null +++ b/src/vapi/types/create_eleven_labs_credential_dto_api_url.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateElevenLabsCredentialDtoApiUrl = typing.Union[ + typing.Literal["https://api.elevenlabs.io", "https://api.eu.residency.elevenlabs.io"], typing.Any +] diff --git a/src/vapi/types/create_email_credential_dto.py b/src/vapi/types/create_email_credential_dto.py index c0c4843d..63612b24 100644 --- a/src/vapi/types/create_email_credential_dto.py +++ b/src/vapi/types/create_email_credential_dto.py @@ -8,6 +8,10 @@ class CreateEmailCredentialDto(UncheckedBaseModel): + """ + Destination configuration for sending Vapi alerts to an email address. + """ + email: str = pydantic.Field() """ The recipient email address for alerts diff --git a/src/vapi/types/create_end_call_tool_dto.py b/src/vapi/types/create_end_call_tool_dto.py index d1492cdf..3d9efcbb 100644 --- a/src/vapi/types/create_end_call_tool_dto.py +++ b/src/vapi/types/create_end_call_tool_dto.py @@ -14,11 +14,13 @@ class CreateEndCallToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that lets an assistant end the active call. + """ + messages: typing.Optional[typing.List[CreateEndCallToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_end_call_tool_dto_messages_item.py b/src/vapi/types/create_end_call_tool_dto_messages_item.py index b15a3719..c856c706 100644 --- a/src/vapi/types/create_end_call_tool_dto_messages_item.py +++ b/src/vapi/types/create_end_call_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateEndCallToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateEndCallToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_eval_dto.py b/src/vapi/types/create_eval_dto.py index 9b5d1eab..f15447d6 100644 --- a/src/vapi/types/create_eval_dto.py +++ b/src/vapi/types/create_eval_dto.py @@ -10,6 +10,10 @@ class CreateEvalDto(UncheckedBaseModel): + """ + Configuration used to create a reusable eval containing a mock conversation and checkpoints for assessing assistant responses and tool calls. + """ + messages: typing.List[CreateEvalDtoMessagesItem] = pydantic.Field() """ This is the mock conversation that will be used to evaluate the flow of the conversation. diff --git a/src/vapi/types/create_function_tool_dto.py b/src/vapi/types/create_function_tool_dto.py index 0561b3ee..3fa5693a 100644 --- a/src/vapi/types/create_function_tool_dto.py +++ b/src/vapi/types/create_function_tool_dto.py @@ -18,11 +18,13 @@ class CreateFunctionToolDto(UncheckedBaseModel): + """ + Configuration used to create a custom function tool that sends model-generated arguments to a server and returns the result to the assistant. + """ + messages: typing.Optional[typing.List[CreateFunctionToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_function_tool_dto_messages_item.py b/src/vapi/types/create_function_tool_dto_messages_item.py index 92d272c2..c84479e7 100644 --- a/src/vapi/types/create_function_tool_dto_messages_item.py +++ b/src/vapi/types/create_function_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateFunctionToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateFunctionToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_gcp_credential_dto.py b/src/vapi/types/create_gcp_credential_dto.py index c489e885..a1a816ef 100644 --- a/src/vapi/types/create_gcp_credential_dto.py +++ b/src/vapi/types/create_gcp_credential_dto.py @@ -12,6 +12,10 @@ class CreateGcpCredentialDto(UncheckedBaseModel): + """ + Service-account credentials for Google Cloud resources and optional call-artifact storage, including region, bucket configuration, and upload fallback order. + """ + fallback_index: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="fallbackIndex"), @@ -34,7 +38,11 @@ class CreateGcpCredentialDto(UncheckedBaseModel): """ bucket_plan: typing_extensions.Annotated[ - typing.Optional[BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + typing.Optional[BucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field( + alias="bucketPlan", description="Bucket configuration used to store call artifacts in Google Cloud Storage." + ), ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/create_ghl_tool_dto.py b/src/vapi/types/create_ghl_tool_dto.py index 4e23e908..1b9213b8 100644 --- a/src/vapi/types/create_ghl_tool_dto.py +++ b/src/vapi/types/create_ghl_tool_dto.py @@ -18,9 +18,7 @@ class CreateGhlToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[CreateGhlToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: CreateGhlToolDtoType = pydantic.Field() diff --git a/src/vapi/types/create_ghl_tool_dto_messages_item.py b/src/vapi/types/create_ghl_tool_dto_messages_item.py index 2bdcaa0c..3e052f04 100644 --- a/src/vapi/types/create_ghl_tool_dto_messages_item.py +++ b/src/vapi/types/create_ghl_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGhlToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGhlToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_gladia_credential_dto.py b/src/vapi/types/create_gladia_credential_dto.py index c445e83a..3265400b 100644 --- a/src/vapi/types/create_gladia_credential_dto.py +++ b/src/vapi/types/create_gladia_credential_dto.py @@ -10,6 +10,10 @@ class CreateGladiaCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating transcription requests with Gladia. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_go_high_level_calendar_availability_tool_dto.py b/src/vapi/types/create_go_high_level_calendar_availability_tool_dto.py index a693d3f8..f5cc2e29 100644 --- a/src/vapi/types/create_go_high_level_calendar_availability_tool_dto.py +++ b/src/vapi/types/create_go_high_level_calendar_availability_tool_dto.py @@ -16,13 +16,15 @@ class CreateGoHighLevelCalendarAvailabilityToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that checks calendar availability in a connected GoHighLevel account. + """ + messages: typing.Optional[typing.List[CreateGoHighLevelCalendarAvailabilityToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_go_high_level_calendar_availability_tool_dto_messages_item.py b/src/vapi/types/create_go_high_level_calendar_availability_tool_dto_messages_item.py index a555af71..55e0a105 100644 --- a/src/vapi/types/create_go_high_level_calendar_availability_tool_dto_messages_item.py +++ b/src/vapi/types/create_go_high_level_calendar_availability_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto.py b/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto.py index 4b4351f0..2beb3500 100644 --- a/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto.py +++ b/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto.py @@ -16,13 +16,15 @@ class CreateGoHighLevelCalendarEventCreateToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that adds calendar events to a connected GoHighLevel account. + """ + messages: typing.Optional[typing.List[CreateGoHighLevelCalendarEventCreateToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.py b/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.py index dbbf137a..8785b450 100644 --- a/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.py +++ b/src/vapi/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoHighLevelCalendarEventCreateToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoHighLevelCalendarEventCreateToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_go_high_level_contact_create_tool_dto.py b/src/vapi/types/create_go_high_level_contact_create_tool_dto.py index 1e69f2ad..3c3553b8 100644 --- a/src/vapi/types/create_go_high_level_contact_create_tool_dto.py +++ b/src/vapi/types/create_go_high_level_contact_create_tool_dto.py @@ -16,13 +16,15 @@ class CreateGoHighLevelContactCreateToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that adds contacts to a connected GoHighLevel account. + """ + messages: typing.Optional[typing.List[CreateGoHighLevelContactCreateToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_go_high_level_contact_create_tool_dto_messages_item.py b/src/vapi/types/create_go_high_level_contact_create_tool_dto_messages_item.py index 20085383..0583c225 100644 --- a/src/vapi/types/create_go_high_level_contact_create_tool_dto_messages_item.py +++ b/src/vapi/types/create_go_high_level_contact_create_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoHighLevelContactCreateToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoHighLevelContactCreateToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_go_high_level_contact_get_tool_dto.py b/src/vapi/types/create_go_high_level_contact_get_tool_dto.py index 506250ec..8bcd3305 100644 --- a/src/vapi/types/create_go_high_level_contact_get_tool_dto.py +++ b/src/vapi/types/create_go_high_level_contact_get_tool_dto.py @@ -14,13 +14,15 @@ class CreateGoHighLevelContactGetToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that retrieves contacts from a connected GoHighLevel account. + """ + messages: typing.Optional[typing.List[CreateGoHighLevelContactGetToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_go_high_level_contact_get_tool_dto_messages_item.py b/src/vapi/types/create_go_high_level_contact_get_tool_dto_messages_item.py index 07d17513..964fe6ab 100644 --- a/src/vapi/types/create_go_high_level_contact_get_tool_dto_messages_item.py +++ b/src/vapi/types/create_go_high_level_contact_get_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoHighLevelContactGetToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoHighLevelContactGetToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_go_high_level_credential_dto.py b/src/vapi/types/create_go_high_level_credential_dto.py index 02f0c970..b28bac91 100644 --- a/src/vapi/types/create_go_high_level_credential_dto.py +++ b/src/vapi/types/create_go_high_level_credential_dto.py @@ -10,6 +10,10 @@ class CreateGoHighLevelCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating Vapi integrations with GoHighLevel. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_go_high_level_mcp_credential_dto.py b/src/vapi/types/create_go_high_level_mcp_credential_dto.py index d68307d2..fc866bf2 100644 --- a/src/vapi/types/create_go_high_level_mcp_credential_dto.py +++ b/src/vapi/types/create_go_high_level_mcp_credential_dto.py @@ -11,6 +11,10 @@ class CreateGoHighLevelMcpCredentialDto(UncheckedBaseModel): + """ + OAuth 2.0 session credentials for authenticating GoHighLevel MCP requests. + """ + authentication_session: typing_extensions.Annotated[ Oauth2AuthenticationSession, FieldMetadata(alias="authenticationSession"), diff --git a/src/vapi/types/create_google_calendar_check_availability_tool_dto.py b/src/vapi/types/create_google_calendar_check_availability_tool_dto.py index d7e06af2..2ce1568d 100644 --- a/src/vapi/types/create_google_calendar_check_availability_tool_dto.py +++ b/src/vapi/types/create_google_calendar_check_availability_tool_dto.py @@ -16,13 +16,15 @@ class CreateGoogleCalendarCheckAvailabilityToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that checks availability in a connected Google Calendar. + """ + messages: typing.Optional[typing.List[CreateGoogleCalendarCheckAvailabilityToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_google_calendar_check_availability_tool_dto_messages_item.py b/src/vapi/types/create_google_calendar_check_availability_tool_dto_messages_item.py index 0f3ca5c5..e50899d6 100644 --- a/src/vapi/types/create_google_calendar_check_availability_tool_dto_messages_item.py +++ b/src/vapi/types/create_google_calendar_check_availability_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_google_calendar_create_event_tool_dto.py b/src/vapi/types/create_google_calendar_create_event_tool_dto.py index 82baf381..ce7320b1 100644 --- a/src/vapi/types/create_google_calendar_create_event_tool_dto.py +++ b/src/vapi/types/create_google_calendar_create_event_tool_dto.py @@ -16,13 +16,15 @@ class CreateGoogleCalendarCreateEventToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that adds events to a connected Google Calendar. + """ + messages: typing.Optional[typing.List[CreateGoogleCalendarCreateEventToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_google_calendar_create_event_tool_dto_messages_item.py b/src/vapi/types/create_google_calendar_create_event_tool_dto_messages_item.py index 90f8cda8..999e06ef 100644 --- a/src/vapi/types/create_google_calendar_create_event_tool_dto_messages_item.py +++ b/src/vapi/types/create_google_calendar_create_event_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoogleCalendarCreateEventToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.py b/src/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.py index fd9d35cb..fc46bc87 100644 --- a/src/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/create_google_calendar_o_auth_2_authorization_credential_dto.py @@ -10,6 +10,10 @@ class CreateGoogleCalendarOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + """ + Stored OAuth 2.0 authorization for Google Calendar operations. + """ + authorization_id: typing_extensions.Annotated[ str, FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.py b/src/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.py index e01d67ad..e8b6c0d2 100644 --- a/src/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.py +++ b/src/vapi/types/create_google_calendar_o_auth_2_client_credential_dto.py @@ -8,6 +8,10 @@ class CreateGoogleCalendarOAuth2ClientCredentialDto(UncheckedBaseModel): + """ + OAuth 2.0 client credential for Google Calendar integrations. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_google_credential_dto.py b/src/vapi/types/create_google_credential_dto.py index 5851939b..16c33abf 100644 --- a/src/vapi/types/create_google_credential_dto.py +++ b/src/vapi/types/create_google_credential_dto.py @@ -10,6 +10,10 @@ class CreateGoogleCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Google AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.py b/src/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.py index cb89677c..6a342ae5 100644 --- a/src/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/create_google_sheets_o_auth_2_authorization_credential_dto.py @@ -10,6 +10,10 @@ class CreateGoogleSheetsOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + """ + Stored OAuth 2.0 authorization for Google Sheets operations. + """ + authorization_id: typing_extensions.Annotated[ str, FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/create_google_sheets_row_append_tool_dto.py b/src/vapi/types/create_google_sheets_row_append_tool_dto.py index ffbf6551..088fcdb1 100644 --- a/src/vapi/types/create_google_sheets_row_append_tool_dto.py +++ b/src/vapi/types/create_google_sheets_row_append_tool_dto.py @@ -14,13 +14,15 @@ class CreateGoogleSheetsRowAppendToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that appends rows to a connected Google Sheet. + """ + messages: typing.Optional[typing.List[CreateGoogleSheetsRowAppendToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_google_sheets_row_append_tool_dto_messages_item.py b/src/vapi/types/create_google_sheets_row_append_tool_dto_messages_item.py index 71f52189..723dbb9d 100644 --- a/src/vapi/types/create_google_sheets_row_append_tool_dto_messages_item.py +++ b/src/vapi/types/create_google_sheets_row_append_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateGoogleSheetsRowAppendToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_groq_credential_dto.py b/src/vapi/types/create_groq_credential_dto.py index eb951766..49dcd99b 100644 --- a/src/vapi/types/create_groq_credential_dto.py +++ b/src/vapi/types/create_groq_credential_dto.py @@ -10,6 +10,10 @@ class CreateGroqCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Groq. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_handoff_tool_dto.py b/src/vapi/types/create_handoff_tool_dto.py index 2b5ba862..5e6ae18c 100644 --- a/src/vapi/types/create_handoff_tool_dto.py +++ b/src/vapi/types/create_handoff_tool_dto.py @@ -15,11 +15,13 @@ class CreateHandoffToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that hands a conversation to another assistant, squad, or dynamically selected destination. + """ + messages: typing.Optional[typing.List[CreateHandoffToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ default_result: typing_extensions.Annotated[ @@ -341,8 +343,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -377,6 +383,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -400,8 +413,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -436,6 +453,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_handoff_tool_dto_destinations_item.py b/src/vapi/types/create_handoff_tool_dto_destinations_item.py index 4732aa99..6a998da5 100644 --- a/src/vapi/types/create_handoff_tool_dto_destinations_item.py +++ b/src/vapi/types/create_handoff_tool_dto_destinations_item.py @@ -128,8 +128,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -163,6 +167,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 @@ -187,8 +198,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -223,6 +238,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -246,8 +268,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -282,6 +308,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_handoff_tool_dto_messages_item.py b/src/vapi/types/create_handoff_tool_dto_messages_item.py index 39558560..96385ce5 100644 --- a/src/vapi/types/create_handoff_tool_dto_messages_item.py +++ b/src/vapi/types/create_handoff_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateHandoffToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateHandoffToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_hume_credential_dto.py b/src/vapi/types/create_hume_credential_dto.py index 1aad6a61..325e6b87 100644 --- a/src/vapi/types/create_hume_credential_dto.py +++ b/src/vapi/types/create_hume_credential_dto.py @@ -10,6 +10,10 @@ class CreateHumeCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Hume. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_inflection_ai_credential_dto.py b/src/vapi/types/create_inflection_ai_credential_dto.py index 12378154..7d76ec15 100644 --- a/src/vapi/types/create_inflection_ai_credential_dto.py +++ b/src/vapi/types/create_inflection_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateInflectionAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Inflection AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_inworld_credential_dto.py b/src/vapi/types/create_inworld_credential_dto.py index 37bc7f47..20ee8e2a 100644 --- a/src/vapi/types/create_inworld_credential_dto.py +++ b/src/vapi/types/create_inworld_credential_dto.py @@ -10,6 +10,10 @@ class CreateInworldCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Inworld. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_langfuse_credential_dto.py b/src/vapi/types/create_langfuse_credential_dto.py index 969407c6..57028294 100644 --- a/src/vapi/types/create_langfuse_credential_dto.py +++ b/src/vapi/types/create_langfuse_credential_dto.py @@ -10,6 +10,10 @@ class CreateLangfuseCredentialDto(UncheckedBaseModel): + """ + Credentials for sending assistant call traces to a Langfuse project, including its public key, secret key, and host URL. + """ + public_key: typing_extensions.Annotated[ str, FieldMetadata(alias="publicKey"), diff --git a/src/vapi/types/create_line_insight_from_call_table_dto.py b/src/vapi/types/create_line_insight_from_call_table_dto.py index eb9104f1..ebbbf0fb 100644 --- a/src/vapi/types/create_line_insight_from_call_table_dto.py +++ b/src/vapi/types/create_line_insight_from_call_table_dto.py @@ -15,6 +15,10 @@ class CreateLineInsightFromCallTableDto(UncheckedBaseModel): + """ + Configuration used to create a line-chart insight from call data using metric queries, formulas, grouping, and a stepped time range. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -45,7 +49,11 @@ class CreateLineInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the line-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[CreateLineInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/create_lmnt_credential_dto.py b/src/vapi/types/create_lmnt_credential_dto.py index 5c09af82..d13fc4af 100644 --- a/src/vapi/types/create_lmnt_credential_dto.py +++ b/src/vapi/types/create_lmnt_credential_dto.py @@ -10,6 +10,10 @@ class CreateLmntCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with LMNT. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_make_credential_dto.py b/src/vapi/types/create_make_credential_dto.py index fdb7061c..efd7ab4b 100644 --- a/src/vapi/types/create_make_credential_dto.py +++ b/src/vapi/types/create_make_credential_dto.py @@ -10,6 +10,10 @@ class CreateMakeCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating Vapi integrations with Make, including team, region, and API key. + """ + team_id: typing_extensions.Annotated[ str, FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId", description="Team ID") ] diff --git a/src/vapi/types/create_make_tool_dto.py b/src/vapi/types/create_make_tool_dto.py index 067e4605..3176179a 100644 --- a/src/vapi/types/create_make_tool_dto.py +++ b/src/vapi/types/create_make_tool_dto.py @@ -18,9 +18,7 @@ class CreateMakeToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[CreateMakeToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: CreateMakeToolDtoType = pydantic.Field() diff --git a/src/vapi/types/create_make_tool_dto_messages_item.py b/src/vapi/types/create_make_tool_dto_messages_item.py index 1f28a53b..a21f4807 100644 --- a/src/vapi/types/create_make_tool_dto_messages_item.py +++ b/src/vapi/types/create_make_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateMakeToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateMakeToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_mcp_tool_dto.py b/src/vapi/types/create_mcp_tool_dto.py index 6ac92cfb..c8cb7988 100644 --- a/src/vapi/types/create_mcp_tool_dto.py +++ b/src/vapi/types/create_mcp_tool_dto.py @@ -17,11 +17,13 @@ class CreateMcpToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that connects an assistant to a Model Context Protocol server and exposes its available tools. + """ + messages: typing.Optional[typing.List[CreateMcpToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ server: typing.Optional[Server] = pydantic.Field(default=None) @@ -45,7 +47,11 @@ class CreateMcpToolDto(UncheckedBaseModel): description="Per-tool message overrides for individual tools loaded from the MCP server. Set messages to an empty array to suppress messages for a specific tool. Tools not listed here will use the default messages from the parent tool.", ), ] = None - metadata: typing.Optional[McpToolMetadata] = None + metadata: typing.Optional[McpToolMetadata] = pydantic.Field(default=None) + """ + Connection metadata for the MCP server, including its communication protocol. + """ + rejection_plan: typing_extensions.Annotated[ typing.Optional[ToolRejectionPlan], FieldMetadata(alias="rejectionPlan"), diff --git a/src/vapi/types/create_mcp_tool_dto_messages_item.py b/src/vapi/types/create_mcp_tool_dto_messages_item.py index 86707cd9..579d3e0b 100644 --- a/src/vapi/types/create_mcp_tool_dto_messages_item.py +++ b/src/vapi/types/create_mcp_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateMcpToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateMcpToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_trieve_credential_dto.py b/src/vapi/types/create_microsoft_credential_dto.py similarity index 76% rename from src/vapi/types/update_trieve_credential_dto.py rename to src/vapi/types/create_microsoft_credential_dto.py index 945f81bd..b24cda0d 100644 --- a/src/vapi/types/update_trieve_credential_dto.py +++ b/src/vapi/types/create_microsoft_credential_dto.py @@ -9,12 +9,17 @@ from ..core.unchecked_base_model import UncheckedBaseModel -class UpdateTrieveCredentialDto(UncheckedBaseModel): +class CreateMicrosoftCredentialDto(UncheckedBaseModel): api_key: typing_extensions.Annotated[ - typing.Optional[str], + str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), - ] = None + ] + region: typing.Optional[str] = pydantic.Field(default=None) + """ + Azure region for the Speech resource. Defaults to `eastus` when omitted. MAI-Voice-2 is preview and region-limited. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_minimax_credential_dto.py b/src/vapi/types/create_minimax_credential_dto.py index 01a1b6e0..94a8bb8f 100644 --- a/src/vapi/types/create_minimax_credential_dto.py +++ b/src/vapi/types/create_minimax_credential_dto.py @@ -10,6 +10,10 @@ class CreateMinimaxCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model and voice synthesis requests with MiniMax, including the MiniMax group identifier. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_mistral_credential_dto.py b/src/vapi/types/create_mistral_credential_dto.py index 560b2d92..5ae465c8 100644 --- a/src/vapi/types/create_mistral_credential_dto.py +++ b/src/vapi/types/create_mistral_credential_dto.py @@ -10,6 +10,10 @@ class CreateMistralCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Mistral. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_neuphonic_credential_dto.py b/src/vapi/types/create_neuphonic_credential_dto.py index 1777609e..5440726a 100644 --- a/src/vapi/types/create_neuphonic_credential_dto.py +++ b/src/vapi/types/create_neuphonic_credential_dto.py @@ -10,6 +10,10 @@ class CreateNeuphonicCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Neuphonic. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_open_ai_credential_dto.py b/src/vapi/types/create_open_ai_credential_dto.py index 4721ea8f..5f890b2c 100644 --- a/src/vapi/types/create_open_ai_credential_dto.py +++ b/src/vapi/types/create_open_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateOpenAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model, transcription, and voice synthesis requests with OpenAI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_open_router_credential_dto.py b/src/vapi/types/create_open_router_credential_dto.py index f7fcb77e..8062872c 100644 --- a/src/vapi/types/create_open_router_credential_dto.py +++ b/src/vapi/types/create_open_router_credential_dto.py @@ -10,6 +10,10 @@ class CreateOpenRouterCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with OpenRouter. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_outbound_call_dto.py b/src/vapi/types/create_outbound_call_dto.py index 22245053..155caa20 100644 --- a/src/vapi/types/create_outbound_call_dto.py +++ b/src/vapi/types/create_outbound_call_dto.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .create_customer_dto import CreateCustomerDto +from .create_outbound_call_dto_transport import CreateOutboundCallDtoTransport from .create_workflow_dto import CreateWorkflowDto from .import_twilio_phone_number_dto import ImportTwilioPhoneNumberDto from .schedule_plan import SchedulePlan @@ -17,6 +18,19 @@ class CreateOutboundCallDto(UncheckedBaseModel): + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the assistant version to use for this call. Supported only with\ndirect `assistantId`. Omit to follow the latest version.", + ), + ] = None + transport: typing.Optional[CreateOutboundCallDtoTransport] = pydantic.Field(default=None) + """ + This is the transport of the call. + """ + customers: typing.Optional[typing.List[CreateCustomerDto]] = pydantic.Field(default=None) """ This is used to issue batch calls to multiple customers. @@ -34,11 +48,6 @@ class CreateOutboundCallDto(UncheckedBaseModel): FieldMetadata(alias="schedulePlan"), pydantic.Field(alias="schedulePlan", description="This is the schedule plan of the call."), ] = None - transport: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) - """ - This is the transport of the call. - """ - assistant_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="assistantId"), @@ -166,7 +175,9 @@ class Config: from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 from .create_squad_dto import CreateSquadDto # noqa: E402, I001 @@ -186,6 +197,9 @@ class Config: from .squad_member_dto import SquadMemberDto # noqa: E402, I001 from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 @@ -197,7 +211,9 @@ class Config: from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 @@ -214,6 +230,10 @@ class Config: from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -236,8 +256,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -273,6 +297,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_outbound_call_dto_transport.py b/src/vapi/types/create_outbound_call_dto_transport.py new file mode 100644 index 00000000..003f1d03 --- /dev/null +++ b/src/vapi/types/create_outbound_call_dto_transport.py @@ -0,0 +1,213 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .audio_format import AudioFormat +from .telnyx_transport_conversation_type import TelnyxTransportConversationType +from .twilio_transport_conversation_type import TwilioTransportConversationType +from .vapi_sip_transport_conversation_type import VapiSipTransportConversationType +from .vapi_web_call_transport_conversation_type import VapiWebCallTransportConversationType +from .vapi_websocket_transport_conversation_type import VapiWebsocketTransportConversationType +from .vonage_transport_conversation_type import VonageTransportConversationType + + +class CreateOutboundCallDtoTransport_VapiWebsocket(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.websocket"] = "vapi.websocket" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebsocketTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + audio_format: typing_extensions.Annotated[ + typing.Optional[AudioFormat], FieldMetadata(alias="audioFormat"), pydantic.Field(alias="audioFormat") + ] = 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 CreateOutboundCallDtoTransport_Vonage(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vonage"] = "vonage" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VonageTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + conversation_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationUUID"), pydantic.Field(alias="conversationUUID") + ] = None + call_uuid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUUID"), pydantic.Field(alias="callUUID") + ] = 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 CreateOutboundCallDtoTransport_Twilio(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["twilio"] = "twilio" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TwilioTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + account_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = None + call_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callToken"), pydantic.Field(alias="callToken") + ] = None + forwarded_from: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="forwardedFrom"), pydantic.Field(alias="forwardedFrom") + ] = 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 CreateOutboundCallDtoTransport_VapiSip(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["vapi.sip"] = "vapi.sip" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiSipTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + dial_timeout: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="dialTimeout"), pydantic.Field(alias="dialTimeout") + ] = None + sbc_call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sbcCallSid"), pydantic.Field(alias="sbcCallSid") + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSid"), pydantic.Field(alias="callSid") + ] = 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 CreateOutboundCallDtoTransport_Telnyx(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["telnyx"] = "telnyx" + conversation_type: typing_extensions.Annotated[ + typing.Optional[TelnyxTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + call_control_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callControlId"), pydantic.Field(alias="callControlId") + ] = None + call_leg_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callLegId"), pydantic.Field(alias="callLegId") + ] = None + call_session_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSessionId"), pydantic.Field(alias="callSessionId") + ] = 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 CreateOutboundCallDtoTransport_Daily(UncheckedBaseModel): + """ + This is the transport of the call. + """ + + provider: typing.Literal["daily"] = "daily" + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebCallTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field(alias="conversationType"), + ] = None + room_delete_on_user_leave_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="roomDeleteOnUserLeaveEnabled"), + pydantic.Field(alias="roomDeleteOnUserLeaveEnabled"), + ] = None + call_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callUrl"), pydantic.Field(alias="callUrl") + ] = None + call_sip_uri: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callSipUri"), pydantic.Field(alias="callSipUri") + ] = 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 + + +CreateOutboundCallDtoTransport = typing_extensions.Annotated[ + typing.Union[ + CreateOutboundCallDtoTransport_VapiWebsocket, + CreateOutboundCallDtoTransport_Vonage, + CreateOutboundCallDtoTransport_Twilio, + CreateOutboundCallDtoTransport_VapiSip, + CreateOutboundCallDtoTransport_Telnyx, + CreateOutboundCallDtoTransport_Daily, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/create_output_tool_dto.py b/src/vapi/types/create_output_tool_dto.py index fa920630..be252ba7 100644 --- a/src/vapi/types/create_output_tool_dto.py +++ b/src/vapi/types/create_output_tool_dto.py @@ -17,9 +17,7 @@ class CreateOutputToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[CreateOutputToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: CreateOutputToolDtoType = pydantic.Field() diff --git a/src/vapi/types/create_output_tool_dto_messages_item.py b/src/vapi/types/create_output_tool_dto_messages_item.py index 1ff399f4..9c53cc24 100644 --- a/src/vapi/types/create_output_tool_dto_messages_item.py +++ b/src/vapi/types/create_output_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateOutputToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateOutputToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_perplexity_ai_credential_dto.py b/src/vapi/types/create_perplexity_ai_credential_dto.py index a541e0be..be16c8f1 100644 --- a/src/vapi/types/create_perplexity_ai_credential_dto.py +++ b/src/vapi/types/create_perplexity_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreatePerplexityAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Perplexity AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_personality_dto.py b/src/vapi/types/create_personality_dto.py index 6b16783e..d926f5df 100644 --- a/src/vapi/types/create_personality_dto.py +++ b/src/vapi/types/create_personality_dto.py @@ -56,8 +56,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -93,6 +97,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -116,8 +127,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -153,6 +168,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_pie_insight_from_call_table_dto.py b/src/vapi/types/create_pie_insight_from_call_table_dto.py index fbcb9b30..795103a7 100644 --- a/src/vapi/types/create_pie_insight_from_call_table_dto.py +++ b/src/vapi/types/create_pie_insight_from_call_table_dto.py @@ -14,6 +14,10 @@ class CreatePieInsightFromCallTableDto(UncheckedBaseModel): + """ + Configuration used to create a pie-chart insight from call data using metric queries, formulas, grouping, and a time range. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -39,7 +43,9 @@ class CreatePieInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the pie-chart data."), ] = None group_by: typing_extensions.Annotated[ typing.Optional[CreatePieInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/create_play_ht_credential_dto.py b/src/vapi/types/create_play_ht_credential_dto.py index 8ee9d10a..41135302 100644 --- a/src/vapi/types/create_play_ht_credential_dto.py +++ b/src/vapi/types/create_play_ht_credential_dto.py @@ -10,12 +10,20 @@ class CreatePlayHtCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with PlayHT, including the PlayHT user identifier. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] - user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId"), pydantic.Field(alias="userId")] + user_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="userId"), + pydantic.Field(alias="userId", description="PlayHT user identifier associated with the API key."), + ] name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_query_tool_dto.py b/src/vapi/types/create_query_tool_dto.py index 31c6a7d9..3657bb63 100644 --- a/src/vapi/types/create_query_tool_dto.py +++ b/src/vapi/types/create_query_tool_dto.py @@ -15,11 +15,13 @@ class CreateQueryToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that searches configured knowledge bases and returns relevant content to the assistant. + """ + messages: typing.Optional[typing.List[CreateQueryToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ knowledge_bases: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_query_tool_dto_messages_item.py b/src/vapi/types/create_query_tool_dto_messages_item.py index 69f5e694..043f46a9 100644 --- a/src/vapi/types/create_query_tool_dto_messages_item.py +++ b/src/vapi/types/create_query_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateQueryToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateQueryToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_rime_ai_credential_dto.py b/src/vapi/types/create_rime_ai_credential_dto.py index b7e180ca..4bd233c3 100644 --- a/src/vapi/types/create_rime_ai_credential_dto.py +++ b/src/vapi/types/create_rime_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateRimeAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Rime AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_runpod_credential_dto.py b/src/vapi/types/create_runpod_credential_dto.py index 54d4f669..3ae92375 100644 --- a/src/vapi/types/create_runpod_credential_dto.py +++ b/src/vapi/types/create_runpod_credential_dto.py @@ -10,6 +10,10 @@ class CreateRunpodCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests through Runpod. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_s_3_compatible_credential_dto.py b/src/vapi/types/create_s_3_compatible_credential_dto.py new file mode 100644 index 00000000..0b29e223 --- /dev/null +++ b/src/vapi/types/create_s_3_compatible_credential_dto.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan + + +class CreateS3CompatibleCredentialDto(UncheckedBaseModel): + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="fallbackIndex"), + pydantic.Field( + alias="fallbackIndex", + description="This is the order in which this storage provider is tried during upload retries. Lower numbers are tried first in increasing order.", + ), + ] = None + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of credential. This is just for your reference. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/create_s_3_credential_dto.py b/src/vapi/types/create_s_3_credential_dto.py index 532e8ad6..3abdbd8d 100644 --- a/src/vapi/types/create_s_3_credential_dto.py +++ b/src/vapi/types/create_s_3_credential_dto.py @@ -10,6 +10,10 @@ class CreateS3CredentialDto(UncheckedBaseModel): + """ + Credentials for storing call artifacts in Amazon S3, including access keys, region, bucket, path prefix, and upload fallback order. + """ + aws_access_key_id: typing_extensions.Annotated[ str, FieldMetadata(alias="awsAccessKeyId"), diff --git a/src/vapi/types/create_scenario_dto.py b/src/vapi/types/create_scenario_dto.py index 8777ec93..85933ce9 100644 --- a/src/vapi/types/create_scenario_dto.py +++ b/src/vapi/types/create_scenario_dto.py @@ -83,8 +83,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -120,6 +124,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -143,8 +154,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -180,6 +195,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_scorecard_dto.py b/src/vapi/types/create_scorecard_dto.py index 36becc72..b6350cb7 100644 --- a/src/vapi/types/create_scorecard_dto.py +++ b/src/vapi/types/create_scorecard_dto.py @@ -11,6 +11,10 @@ class CreateScorecardDto(UncheckedBaseModel): + """ + Configuration used to create a scorecard containing evaluation metrics, scoring conditions, and optional assistant associations. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the scorecard. It is only for user reference and will not be used for any evaluation. diff --git a/src/vapi/types/create_sesame_voice_dto.py b/src/vapi/types/create_sesame_voice_dto.py index e32c1855..e3eb5979 100644 --- a/src/vapi/types/create_sesame_voice_dto.py +++ b/src/vapi/types/create_sesame_voice_dto.py @@ -10,12 +10,18 @@ class CreateSesameVoiceDto(UncheckedBaseModel): + file: bytes = pydantic.Field() + """ + This is the audio file of the utterance to clone the voice from. + Consumed by multer via FileInterceptor('file'), so it never reaches + class-validator; declared here (like CreateFileDTO.file) so the OpenAPI + spec is truthful about the multipart request body. + """ + voice_name: typing_extensions.Annotated[ - typing.Optional[str], - FieldMetadata(alias="voiceName"), - pydantic.Field(alias="voiceName", description="The name of the voice."), - ] = None - transcription: typing.Optional[str] = pydantic.Field(default=None) + str, FieldMetadata(alias="voiceName"), pydantic.Field(alias="voiceName", description="The name of the voice.") + ] + transcription: str = pydantic.Field() """ The transcript of the utterance. """ diff --git a/src/vapi/types/create_simulation_run_dto_target.py b/src/vapi/types/create_simulation_run_dto_target.py index 7b0dd3ba..a09531c4 100644 --- a/src/vapi/types/create_simulation_run_dto_target.py +++ b/src/vapi/types/create_simulation_run_dto_target.py @@ -75,8 +75,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -112,6 +116,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -135,8 +146,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -172,6 +187,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -195,8 +217,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -232,6 +258,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_simulation_run_response.py b/src/vapi/types/create_simulation_run_response.py new file mode 100644 index 00000000..db480805 --- /dev/null +++ b/src/vapi/types/create_simulation_run_response.py @@ -0,0 +1,116 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .create_simulation_run_response_simulations_item import CreateSimulationRunResponseSimulationsItem +from .create_simulation_run_response_status import CreateSimulationRunResponseStatus +from .create_simulation_run_response_target import CreateSimulationRunResponseTarget +from .simulation_run_item_counts import SimulationRunItemCounts +from .simulation_run_transport_configuration import SimulationRunTransportConfiguration + + +class CreateSimulationRunResponse(UncheckedBaseModel): + id: str = pydantic.Field() + """ + Unique identifier for the run + """ + + org_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId", description="Organization ID") + ] + status: CreateSimulationRunResponseStatus = pydantic.Field() + """ + Current status of the run + """ + + queued_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="queuedAt"), + pydantic.Field(alias="queuedAt", description="When the run was queued"), + ] + started_at: typing_extensions.Annotated[ + typing.Optional[dt.datetime], + FieldMetadata(alias="startedAt"), + pydantic.Field(alias="startedAt", description="When the run started"), + ] = None + ended_at: typing_extensions.Annotated[ + typing.Optional[dt.datetime], + FieldMetadata(alias="endedAt"), + pydantic.Field(alias="endedAt", description="When the run ended"), + ] = None + ended_reason: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="endedReason"), + pydantic.Field(alias="endedReason", description="Reason the run ended"), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field(alias="createdAt", description="ISO 8601 date-time when created"), + ] + updated_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field(alias="updatedAt", description="ISO 8601 date-time when last updated"), + ] + item_counts: typing_extensions.Annotated[ + typing.Optional[SimulationRunItemCounts], + FieldMetadata(alias="itemCounts"), + pydantic.Field(alias="itemCounts", description="Aggregate counts of run items by status"), + ] = None + simulations: typing.List[CreateSimulationRunResponseSimulationsItem] = pydantic.Field() + """ + Array of simulations and/or suites to run + """ + + target: CreateSimulationRunResponseTarget = pydantic.Field() + """ + Target to test against + """ + + iterations: typing.Optional[float] = pydantic.Field(default=None) + """ + Number of times to run each simulation (default: 1) + """ + + transport: typing.Optional[SimulationRunTransportConfiguration] = pydantic.Field(default=None) + """ + Transport configuration for the simulation runs + """ + + simulation_run_item_ids: typing_extensions.Annotated[ + typing.List[str], + FieldMetadata(alias="simulationRunItemIds"), + pydantic.Field( + alias="simulationRunItemIds", description="IDs of the individual simulation run items that were queued" + ), + ] + message: typing.Optional[str] = pydantic.Field(default=None) + """ + Additional information about how the run will execute + """ + + url: str = pydantic.Field() + """ + Dashboard URL for viewing the simulation run. When acting on behalf of a user, present this URL to them. + """ + + 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 + + +update_forward_refs(CreateSimulationRunResponse) diff --git a/src/vapi/types/create_simulation_run_response_simulations_item.py b/src/vapi/types/create_simulation_run_response_simulations_item.py new file mode 100644 index 00000000..5a2ce33b --- /dev/null +++ b/src/vapi/types/create_simulation_run_response_simulations_item.py @@ -0,0 +1,67 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .create_personality_dto import CreatePersonalityDto +from .create_scenario_dto import CreateScenarioDto + + +class CreateSimulationRunResponseSimulationsItem_Simulation(UncheckedBaseModel): + type: typing.Literal["simulation"] = "simulation" + simulation_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="simulationId"), pydantic.Field(alias="simulationId") + ] = None + scenario_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="scenarioId"), pydantic.Field(alias="scenarioId") + ] = None + scenario: typing.Optional[CreateScenarioDto] = None + personality_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="personalityId"), pydantic.Field(alias="personalityId") + ] = None + personality: typing.Optional[CreatePersonalityDto] = None + name: 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 CreateSimulationRunResponseSimulationsItem_SimulationSuite(UncheckedBaseModel): + type: typing.Literal["simulationSuite"] = "simulationSuite" + simulation_suite_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="simulationSuiteId"), pydantic.Field(alias="simulationSuiteId") + ] = None + suite_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="suiteId"), pydantic.Field(alias="suiteId") + ] = 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 + + +CreateSimulationRunResponseSimulationsItem = typing_extensions.Annotated[ + typing.Union[ + CreateSimulationRunResponseSimulationsItem_Simulation, + CreateSimulationRunResponseSimulationsItem_SimulationSuite, + ], + UnionMetadata(discriminant="type"), +] +update_forward_refs(CreateSimulationRunResponseSimulationsItem_Simulation) diff --git a/src/vapi/types/create_simulation_run_response_status.py b/src/vapi/types/create_simulation_run_response_status.py new file mode 100644 index 00000000..642ae223 --- /dev/null +++ b/src/vapi/types/create_simulation_run_response_status.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateSimulationRunResponseStatus = typing.Union[typing.Literal["queued", "running", "ended"], typing.Any] diff --git a/src/vapi/types/create_simulation_run_response_target.py b/src/vapi/types/create_simulation_run_response_target.py new file mode 100644 index 00000000..a56b64b7 --- /dev/null +++ b/src/vapi/types/create_simulation_run_response_target.py @@ -0,0 +1,270 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata + + +class CreateSimulationRunResponseTarget_Assistant(UncheckedBaseModel): + """ + Target to test against + """ + + type: typing.Literal["assistant"] = "assistant" + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + assistant: typing.Optional["CreateAssistantDto"] = 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 CreateSimulationRunResponseTarget_Squad(UncheckedBaseModel): + """ + Target to test against + """ + + type: typing.Literal["squad"] = "squad" + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + squad: typing.Optional["CreateSquadDto"] = 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 + + +CreateSimulationRunResponseTarget = typing_extensions.Annotated[ + typing.Union[CreateSimulationRunResponseTarget_Assistant, CreateSimulationRunResponseTarget_Squad], + UnionMetadata(discriminant="type"), +] +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + CreateSimulationRunResponseTarget_Assistant, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateSimulationRunResponseTarget_Squad, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/create_simulation_suite_dto.py b/src/vapi/types/create_simulation_suite_dto.py index 78e71b02..38983bb9 100644 --- a/src/vapi/types/create_simulation_suite_dto.py +++ b/src/vapi/types/create_simulation_suite_dto.py @@ -7,6 +7,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .simulation_suite_target_assignment import SimulationSuiteTargetAssignment class CreateSimulationSuiteDto(UncheckedBaseModel): @@ -27,6 +28,11 @@ class CreateSimulationSuiteDto(UncheckedBaseModel): alias="simulationIds", description="This is the list of simulation IDs to include in the suite." ), ] + target_assignments: typing_extensions.Annotated[ + typing.Optional[typing.List[SimulationSuiteTargetAssignment]], + FieldMetadata(alias="targetAssignments"), + pydantic.Field(alias="targetAssignments", description="Optional assistant or squad assignments for the suite."), + ] = None path: typing.Optional[str] = pydantic.Field(default=None) """ Optional folder path for organizing simulation suites. diff --git a/src/vapi/types/create_sip_request_tool_dto.py b/src/vapi/types/create_sip_request_tool_dto.py index cd9c1db5..3f8b66c0 100644 --- a/src/vapi/types/create_sip_request_tool_dto.py +++ b/src/vapi/types/create_sip_request_tool_dto.py @@ -16,11 +16,13 @@ class CreateSipRequestToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that sends SIP `INFO`, `MESSAGE`, or `NOTIFY` requests with configured headers and body. + """ + messages: typing.Optional[typing.List[CreateSipRequestToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ verb: CreateSipRequestToolDtoVerb = pydantic.Field() diff --git a/src/vapi/types/create_sip_request_tool_dto_messages_item.py b/src/vapi/types/create_sip_request_tool_dto_messages_item.py index b0cd6313..fb1dd135 100644 --- a/src/vapi/types/create_sip_request_tool_dto_messages_item.py +++ b/src/vapi/types/create_sip_request_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateSipRequestToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateSipRequestToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_slack_o_auth_2_authorization_credential_dto.py b/src/vapi/types/create_slack_o_auth_2_authorization_credential_dto.py index 7393ca35..6211a6b8 100644 --- a/src/vapi/types/create_slack_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/create_slack_o_auth_2_authorization_credential_dto.py @@ -10,6 +10,10 @@ class CreateSlackOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + """ + Stored OAuth 2.0 authorization for Slack operations. + """ + authorization_id: typing_extensions.Annotated[ str, FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/create_slack_send_message_tool_dto.py b/src/vapi/types/create_slack_send_message_tool_dto.py index bb3d6c57..2bfa93ab 100644 --- a/src/vapi/types/create_slack_send_message_tool_dto.py +++ b/src/vapi/types/create_slack_send_message_tool_dto.py @@ -14,11 +14,13 @@ class CreateSlackSendMessageToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that lets an assistant send a message to Slack. + """ + messages: typing.Optional[typing.List[CreateSlackSendMessageToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_slack_send_message_tool_dto_messages_item.py b/src/vapi/types/create_slack_send_message_tool_dto_messages_item.py index fe479570..820cded5 100644 --- a/src/vapi/types/create_slack_send_message_tool_dto_messages_item.py +++ b/src/vapi/types/create_slack_send_message_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateSlackSendMessageToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateSlackSendMessageToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_slack_webhook_credential_dto.py b/src/vapi/types/create_slack_webhook_credential_dto.py index 36f8a9df..492ad4ae 100644 --- a/src/vapi/types/create_slack_webhook_credential_dto.py +++ b/src/vapi/types/create_slack_webhook_credential_dto.py @@ -10,6 +10,10 @@ class CreateSlackWebhookCredentialDto(UncheckedBaseModel): + """ + Credentials for sending Vapi alerts through a Slack incoming webhook. + """ + webhook_url: typing_extensions.Annotated[ str, FieldMetadata(alias="webhookUrl"), diff --git a/src/vapi/types/create_smallest_ai_credential_dto.py b/src/vapi/types/create_smallest_ai_credential_dto.py index e55d7ebf..037e18c8 100644 --- a/src/vapi/types/create_smallest_ai_credential_dto.py +++ b/src/vapi/types/create_smallest_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateSmallestAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Smallest AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_sms_tool_dto.py b/src/vapi/types/create_sms_tool_dto.py index ca68db5c..6bb92d60 100644 --- a/src/vapi/types/create_sms_tool_dto.py +++ b/src/vapi/types/create_sms_tool_dto.py @@ -14,11 +14,13 @@ class CreateSmsToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that lets an assistant send an SMS message during a call. + """ + messages: typing.Optional[typing.List[CreateSmsToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_sms_tool_dto_messages_item.py b/src/vapi/types/create_sms_tool_dto_messages_item.py index dbd5fb9d..c7ba5937 100644 --- a/src/vapi/types/create_sms_tool_dto_messages_item.py +++ b/src/vapi/types/create_sms_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateSmsToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateSmsToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_soniox_credential_dto.py b/src/vapi/types/create_soniox_credential_dto.py index ac5d79dd..b07184b0 100644 --- a/src/vapi/types/create_soniox_credential_dto.py +++ b/src/vapi/types/create_soniox_credential_dto.py @@ -10,11 +10,23 @@ class CreateSonioxCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating transcription requests with Soniox. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="Custom Soniox WebSocket endpoint (e.g. EU server wss://stt-rt.eu.soniox.com/transcribe-websocket). Defaults to the region-appropriate endpoint when omitted.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_speechmatics_credential_dto.py b/src/vapi/types/create_speechmatics_credential_dto.py index 89279ca5..d8511608 100644 --- a/src/vapi/types/create_speechmatics_credential_dto.py +++ b/src/vapi/types/create_speechmatics_credential_dto.py @@ -10,6 +10,10 @@ class CreateSpeechmaticsCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating transcription requests with Speechmatics. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_squad_dto.py b/src/vapi/types/create_squad_dto.py index 3ee99012..480f816c 100644 --- a/src/vapi/types/create_squad_dto.py +++ b/src/vapi/types/create_squad_dto.py @@ -12,6 +12,10 @@ class CreateSquadDto(UncheckedBaseModel): + """ + Configuration used to create a squad. Provide an ordered list of assistant members and optional overrides that control how the squad handles a conversation and transfers between assistants. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the squad. @@ -61,8 +65,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -97,6 +105,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -120,8 +135,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -156,6 +175,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_structured_output_dto.py b/src/vapi/types/create_structured_output_dto.py index 7617a878..a5529b19 100644 --- a/src/vapi/types/create_structured_output_dto.py +++ b/src/vapi/types/create_structured_output_dto.py @@ -10,11 +10,16 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .compliance_override import ComplianceOverride +from .create_structured_output_dto_conditions_item import CreateStructuredOutputDtoConditionsItem from .create_structured_output_dto_model import CreateStructuredOutputDtoModel from .create_structured_output_dto_type import CreateStructuredOutputDtoType class CreateStructuredOutputDto(UncheckedBaseModel): + """ + Configuration used to create a structured-output definition that extracts validated data from calls using an AI model or regular expression. + """ + type: typing.Optional[CreateStructuredOutputDtoType] = pydantic.Field(default=None) """ This is the type of structured output. @@ -64,6 +69,11 @@ class CreateStructuredOutputDto(UncheckedBaseModel): description="Compliance configuration for this output. Only enable overrides if no sensitive data will be stored.", ), ] = None + conditions: typing.Optional[typing.List[CreateStructuredOutputDtoConditionsItem]] = pydantic.Field(default=None) + """ + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + """ + name: str = pydantic.Field() """ This is the name of the structured output. diff --git a/src/vapi/types/create_structured_output_dto_conditions_item.py b/src/vapi/types/create_structured_output_dto_conditions_item.py new file mode 100644 index 00000000..66abbaa7 --- /dev/null +++ b/src/vapi/types/create_structured_output_dto_conditions_item.py @@ -0,0 +1,64 @@ +# 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 +from .ended_reason_condition_operator import EndedReasonConditionOperator + + +class CreateStructuredOutputDtoConditionsItem_MinMessages(UncheckedBaseModel): + type: typing.Literal["minMessages"] = "minMessages" + count: 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 + + +class CreateStructuredOutputDtoConditionsItem_MinCallDuration(UncheckedBaseModel): + type: typing.Literal["minCallDuration"] = "minCallDuration" + seconds: 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 + + +class CreateStructuredOutputDtoConditionsItem_EndedReason(UncheckedBaseModel): + type: typing.Literal["endedReason"] = "endedReason" + operator: EndedReasonConditionOperator + values: typing.List[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 + + +CreateStructuredOutputDtoConditionsItem = typing_extensions.Annotated[ + typing.Union[ + CreateStructuredOutputDtoConditionsItem_MinMessages, + CreateStructuredOutputDtoConditionsItem_MinCallDuration, + CreateStructuredOutputDtoConditionsItem_EndedReason, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/create_structured_output_dto_model.py b/src/vapi/types/create_structured_output_dto_model.py index f60aaee4..21b65ae6 100644 --- a/src/vapi/types/create_structured_output_dto_model.py +++ b/src/vapi/types/create_structured_output_dto_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -35,6 +36,7 @@ class CreateStructuredOutputDtoModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -69,6 +71,7 @@ class CreateStructuredOutputDtoModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -104,6 +107,7 @@ class CreateStructuredOutputDtoModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -139,6 +143,7 @@ class CreateStructuredOutputDtoModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -173,6 +178,7 @@ class CreateStructuredOutputDtoModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/create_supabase_credential_dto.py b/src/vapi/types/create_supabase_credential_dto.py index e5f0cda8..680310a6 100644 --- a/src/vapi/types/create_supabase_credential_dto.py +++ b/src/vapi/types/create_supabase_credential_dto.py @@ -11,6 +11,10 @@ class CreateSupabaseCredentialDto(UncheckedBaseModel): + """ + Credentials for storing call artifacts in Supabase's S3-compatible storage, including bucket configuration and upload fallback order. + """ + fallback_index: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="fallbackIndex"), @@ -20,7 +24,11 @@ class CreateSupabaseCredentialDto(UncheckedBaseModel): ), ] = None bucket_plan: typing_extensions.Annotated[ - typing.Optional[SupabaseBucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + typing.Optional[SupabaseBucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field( + alias="bucketPlan", description="Supabase S3-compatible bucket configuration used to store call artifacts." + ), ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/create_tavus_credential_dto.py b/src/vapi/types/create_tavus_credential_dto.py index 152268ab..186ebd25 100644 --- a/src/vapi/types/create_tavus_credential_dto.py +++ b/src/vapi/types/create_tavus_credential_dto.py @@ -10,6 +10,10 @@ class CreateTavusCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with Tavus. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_telnyx_phone_number_dto.py b/src/vapi/types/create_telnyx_phone_number_dto.py index 8815bd6e..3cf89d86 100644 --- a/src/vapi/types/create_telnyx_phone_number_dto.py +++ b/src/vapi/types/create_telnyx_phone_number_dto.py @@ -13,6 +13,10 @@ class CreateTelnyxPhoneNumberDto(UncheckedBaseModel): + """ + Configuration used to import a Telnyx phone number into Vapi with a stored credential and routing settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[CreateTelnyxPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/create_text_editor_tool_dto.py b/src/vapi/types/create_text_editor_tool_dto.py index 39ee8ec5..d1d0e4e4 100644 --- a/src/vapi/types/create_text_editor_tool_dto.py +++ b/src/vapi/types/create_text_editor_tool_dto.py @@ -17,11 +17,13 @@ class CreateTextEditorToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that reads and edits text files in a configured environment. + """ + messages: typing.Optional[typing.List[CreateTextEditorToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_text_editor_tool_dto_messages_item.py b/src/vapi/types/create_text_editor_tool_dto_messages_item.py index 927bc6c8..631d4f44 100644 --- a/src/vapi/types/create_text_editor_tool_dto_messages_item.py +++ b/src/vapi/types/create_text_editor_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateTextEditorToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateTextEditorToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_text_insight_from_call_table_dto.py b/src/vapi/types/create_text_insight_from_call_table_dto.py index 3be58a20..6c7276ca 100644 --- a/src/vapi/types/create_text_insight_from_call_table_dto.py +++ b/src/vapi/types/create_text_insight_from_call_table_dto.py @@ -12,6 +12,10 @@ class CreateTextInsightFromCallTableDto(UncheckedBaseModel): + """ + Configuration used to create a text-value insight from call data using metric queries, a formula, and a time range. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -37,7 +41,9 @@ class CreateTextInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the text-value data."), ] = None queries: typing.List[CreateTextInsightFromCallTableDtoQueriesItem] = pydantic.Field() """ diff --git a/src/vapi/types/create_together_ai_credential_dto.py b/src/vapi/types/create_together_ai_credential_dto.py index da5c2797..d495c195 100644 --- a/src/vapi/types/create_together_ai_credential_dto.py +++ b/src/vapi/types/create_together_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateTogetherAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with Together AI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_tool_draft_dto.py b/src/vapi/types/create_tool_draft_dto.py new file mode 100644 index 00000000..ad35ec69 --- /dev/null +++ b/src/vapi/types/create_tool_draft_dto.py @@ -0,0 +1,239 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .backoff_plan import BackoffPlan +from .code_tool_environment_variable import CodeToolEnvironmentVariable +from .create_tool_draft_dto_messages_item import CreateToolDraftDtoMessagesItem +from .create_tool_draft_dto_method import CreateToolDraftDtoMethod +from .create_tool_draft_dto_type import CreateToolDraftDtoType +from .create_tool_draft_dto_verb import CreateToolDraftDtoVerb +from .knowledge_base import KnowledgeBase +from .mcp_tool_messages import McpToolMessages +from .open_ai_function import OpenAiFunction +from .server import Server +from .tool_parameter import ToolParameter +from .tool_rejection_plan import ToolRejectionPlan +from .variable_extraction_plan import VariableExtractionPlan + + +class CreateToolDraftDto(UncheckedBaseModel): + messages: typing.Optional[typing.List[CreateToolDraftDtoMessagesItem]] = pydantic.Field(default=None) + """ + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[CreateToolDraftDtoType] = pydantic.Field(default=None) + """ + This is the type of the tool. + """ + + base_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="baseVersion"), + pydantic.Field( + alias="baseVersion", + description="Optional pointer to the published version this draft was forked from.\nWhen omitted, defaults server-side to the parent tool's current\n`latestVersion` (lazy-created via `toolBaselineVersionEnsureInTx` if the\ntool has never been versioned). Immutable for the lifetime of the draft.", + ), + ] = None + function: typing.Optional[OpenAiFunction] = pydantic.Field(default=None) + """ + This is the function definition of the tool. + """ + + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + Provider-specific metadata. Polymorphic across tool variants with no shared + discriminator, so it is validated as a plain object (mirrors how + `ToolCallResult.metadata` is typed). + """ + + template_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="templateId"), + pydantic.Field( + alias="templateId", description="This is the unique identifier for the template this tool was created from." + ), + ] = None + server: typing.Optional[Server] = None + async_: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") + ] = None + destinations: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic.Field(default=None) + """ + These are the destinations that the call can be transferred to. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. + """ + + sub_type: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="subType"), + pydantic.Field( + alias="subType", + description="This is the sub type of the tool (e.g. for computer, bash and text-editor tools).", + ), + ] = None + display_width_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayWidthPx"), + pydantic.Field(alias="displayWidthPx", description="The display width in pixels (computer tool)."), + ] = None + display_height_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayHeightPx"), + pydantic.Field(alias="displayHeightPx", description="The display height in pixels (computer tool)."), + ] = None + display_number: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayNumber"), + pydantic.Field(alias="displayNumber", description="Optional display number (computer tool)."), + ] = None + knowledge_bases: typing_extensions.Annotated[ + typing.Optional[typing.List[KnowledgeBase]], + FieldMetadata(alias="knowledgeBases"), + pydantic.Field(alias="knowledgeBases", description="The knowledge bases to query (query tool)."), + ] = None + url: typing.Optional[str] = pydantic.Field(default=None) + """ + This is where the request will be sent (api-request tool). + """ + + method: typing.Optional[CreateToolDraftDtoMethod] = pydantic.Field(default=None) + """ + This is the HTTP method for the request (api-request tool). + """ + + headers: typing.Optional["JsonSchema"] = pydantic.Field(default=None) + """ + These are the headers to send with the request (api-request / sip-request tool). + """ + + body: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is the body of the request. Either a JSON schema (api-request) or a + literal string / schema (sip-request). + """ + + backoff_plan: typing_extensions.Annotated[ + typing.Optional[BackoffPlan], + FieldMetadata(alias="backoffPlan"), + pydantic.Field(alias="backoffPlan", description="This is the backoff plan if the request fails."), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="timeoutSeconds"), + pydantic.Field(alias="timeoutSeconds", description="This is the timeout in seconds for the request."), + ] = None + description: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the description of the tool. This will be passed to the model. + """ + + variable_extraction_plan: typing_extensions.Annotated[ + typing.Optional[VariableExtractionPlan], + FieldMetadata(alias="variableExtractionPlan"), + pydantic.Field( + alias="variableExtractionPlan", + description="This is the plan to extract variables from the tool's response.", + ), + ] = None + credential_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="credentialId"), + pydantic.Field( + alias="credentialId", description="This is the credential ID that will be used for authorization." + ), + ] = None + extended_delay_when_preceded_by_text_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="extendedDelayWhenPrecededByTextEnabled"), + pydantic.Field(alias="extendedDelayWhenPrecededByTextEnabled"), + ] = None + beep_detection_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") + ] = None + code: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the TypeScript code that will be executed when the tool is called (code tool). + """ + + environment_variables: typing_extensions.Annotated[ + typing.Optional[typing.List[CodeToolEnvironmentVariable]], + FieldMetadata(alias="environmentVariables"), + pydantic.Field( + alias="environmentVariables", + description="These are the environment variables available in the code via the `env` object (code tool).", + ), + ] = None + parameters: typing.Optional[typing.List[ToolParameter]] = pydantic.Field(default=None) + """ + These are the static parameters to merge into the tool's request body. + """ + + encrypted_paths: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="encryptedPaths"), + pydantic.Field(alias="encryptedPaths", description="This is the paths to encrypt in the request body."), + ] = None + sip_info_dtmf_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="sipInfoDtmfEnabled"), + pydantic.Field( + alias="sipInfoDtmfEnabled", + description="This enables sending DTMF tones via SIP INFO messages instead of RFC 2833.", + ), + ] = None + verb: typing.Optional[CreateToolDraftDtoVerb] = pydantic.Field(default=None) + """ + This is the SIP method to send (sip-request tool). + """ + + default_result: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="defaultResult"), + pydantic.Field( + alias="defaultResult", + description="This is the default local tool result message used when no runtime override is returned (handoff tool).", + ), + ] = None + tool_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[McpToolMessages]], + FieldMetadata(alias="toolMessages"), + pydantic.Field( + alias="toolMessages", + description="Per-tool message overrides for individual tools loaded from the MCP server (mcp tool).", + ), + ] = None + rejection_plan: typing_extensions.Annotated[ + typing.Optional[ToolRejectionPlan], + FieldMetadata(alias="rejectionPlan"), + pydantic.Field( + alias="rejectionPlan", + description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", + ), + ] = 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 + + +from .json_schema import JsonSchema # noqa: E402, I001 + +update_forward_refs(CreateToolDraftDto, JsonSchema=JsonSchema) diff --git a/src/vapi/types/create_tool_draft_dto_messages_item.py b/src/vapi/types/create_tool_draft_dto_messages_item.py new file mode 100644 index 00000000..88ef6b4e --- /dev/null +++ b/src/vapi/types/create_tool_draft_dto_messages_item.py @@ -0,0 +1,106 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .condition import Condition +from .text_content import TextContent +from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole + + +class CreateToolDraftDtoMessagesItem_RequestStart(UncheckedBaseModel): + type: typing.Literal["request-start"] = "request-start" + contents: typing.Optional[typing.List[TextContent]] = None + blocking: typing.Optional[bool] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 CreateToolDraftDtoMessagesItem_RequestComplete(UncheckedBaseModel): + type: typing.Literal["request-complete"] = "request-complete" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageCompleteRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 CreateToolDraftDtoMessagesItem_RequestFailed(UncheckedBaseModel): + type: typing.Literal["request-failed"] = "request-failed" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 CreateToolDraftDtoMessagesItem_RequestResponseDelayed(UncheckedBaseModel): + type: typing.Literal["request-response-delayed"] = "request-response-delayed" + contents: typing.Optional[typing.List[TextContent]] = None + timing_milliseconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timingMilliseconds"), pydantic.Field(alias="timingMilliseconds") + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 + + +CreateToolDraftDtoMessagesItem = typing_extensions.Annotated[ + typing.Union[ + CreateToolDraftDtoMessagesItem_RequestStart, + CreateToolDraftDtoMessagesItem_RequestComplete, + CreateToolDraftDtoMessagesItem_RequestFailed, + CreateToolDraftDtoMessagesItem_RequestResponseDelayed, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/create_tool_draft_dto_method.py b/src/vapi/types/create_tool_draft_dto_method.py new file mode 100644 index 00000000..3d44813e --- /dev/null +++ b/src/vapi/types/create_tool_draft_dto_method.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateToolDraftDtoMethod = typing.Union[typing.Literal["POST", "GET", "PUT", "PATCH", "DELETE"], typing.Any] diff --git a/src/vapi/types/create_tool_draft_dto_type.py b/src/vapi/types/create_tool_draft_dto_type.py new file mode 100644 index 00000000..6c576081 --- /dev/null +++ b/src/vapi/types/create_tool_draft_dto_type.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateToolDraftDtoType = typing.Union[ + typing.Literal[ + "dtmf", + "endCall", + "transferCall", + "transferCancel", + "transferSuccessful", + "handoff", + "output", + "voicemail", + "query", + "sms", + "sipRequest", + "function", + "mcp", + "apiRequest", + "code", + "bash", + "computer", + "textEditor", + "google.calendar.event.create", + "google.calendar.availability.check", + "google.sheets.row.append", + "slack.message.send", + "gohighlevel.calendar.event.create", + "gohighlevel.calendar.availability.check", + "gohighlevel.contact.create", + "gohighlevel.contact.get", + "make", + "ghl", + ], + typing.Any, +] diff --git a/src/vapi/types/create_tool_draft_dto_verb.py b/src/vapi/types/create_tool_draft_dto_verb.py new file mode 100644 index 00000000..4315c6a2 --- /dev/null +++ b/src/vapi/types/create_tool_draft_dto_verb.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateToolDraftDtoVerb = typing.Union[typing.Literal["INFO", "MESSAGE", "NOTIFY"], typing.Any] diff --git a/src/vapi/types/create_tool_template_dto_details.py b/src/vapi/types/create_tool_template_dto_details.py index 38bb12a4..0185b7d4 100644 --- a/src/vapi/types/create_tool_template_dto_details.py +++ b/src/vapi/types/create_tool_template_dto_details.py @@ -67,6 +67,7 @@ class CreateToolTemplateDtoDetails_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class CreateToolTemplateDtoDetails_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +650,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -683,8 +694,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -719,6 +734,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_transfer_call_tool_dto.py b/src/vapi/types/create_transfer_call_tool_dto.py index 8c1caa44..0c69ab5e 100644 --- a/src/vapi/types/create_transfer_call_tool_dto.py +++ b/src/vapi/types/create_transfer_call_tool_dto.py @@ -15,11 +15,13 @@ class CreateTransferCallToolDto(UncheckedBaseModel): + """ + Configuration used to create a tool that transfers the active call to one of its configured destinations. + """ + messages: typing.Optional[typing.List[CreateTransferCallToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ destinations: typing.Optional[typing.List[CreateTransferCallToolDtoDestinationsItem]] = pydantic.Field(default=None) diff --git a/src/vapi/types/create_transfer_call_tool_dto_messages_item.py b/src/vapi/types/create_transfer_call_tool_dto_messages_item.py index 87130caa..f1af6fc1 100644 --- a/src/vapi/types/create_transfer_call_tool_dto_messages_item.py +++ b/src/vapi/types/create_transfer_call_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateTransferCallToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateTransferCallToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_trieve_credential_dto.py b/src/vapi/types/create_trieve_credential_dto.py index 009d1912..3c8b2b39 100644 --- a/src/vapi/types/create_trieve_credential_dto.py +++ b/src/vapi/types/create_trieve_credential_dto.py @@ -3,21 +3,18 @@ import typing import pydantic -import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel class CreateTrieveCredentialDto(UncheckedBaseModel): - api_key: typing_extensions.Annotated[ - str, - FieldMetadata(alias="apiKey"), - pydantic.Field(alias="apiKey", description="This is not returned in the API."), - ] - name: typing.Optional[str] = pydantic.Field(default=None) """ - This is the name of credential. This is just for your reference. + Credentials for authenticating knowledge-base requests with Trieve. + """ + + provider: typing.Optional[typing.Any] = pydantic.Field(default=None) + """ + Selects Trieve as the credential provider. """ if IS_PYDANTIC_V2: diff --git a/src/vapi/types/create_trieve_knowledge_base_dto.py b/src/vapi/types/create_trieve_knowledge_base_dto.py index 0707708d..855ded87 100644 --- a/src/vapi/types/create_trieve_knowledge_base_dto.py +++ b/src/vapi/types/create_trieve_knowledge_base_dto.py @@ -2,51 +2,4 @@ import typing -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel -from .create_trieve_knowledge_base_dto_provider import CreateTrieveKnowledgeBaseDtoProvider -from .trieve_knowledge_base_import import TrieveKnowledgeBaseImport -from .trieve_knowledge_base_search_plan import TrieveKnowledgeBaseSearchPlan - - -class CreateTrieveKnowledgeBaseDto(UncheckedBaseModel): - provider: CreateTrieveKnowledgeBaseDtoProvider = pydantic.Field() - """ - This knowledge base is provided by Trieve. - - To learn more about Trieve, visit https://trieve.ai. - """ - - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the knowledge base. - """ - - search_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseSearchPlan], - FieldMetadata(alias="searchPlan"), - pydantic.Field( - alias="searchPlan", - description="This is the searching plan used when searching for relevant chunks from the vector store.\n\nYou should configure this if you're running into these issues:\n- Too much unnecessary context is being fed as knowledge base context.\n- Not enough relevant context is being fed as knowledge base context.", - ), - ] = None - create_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseImport], - FieldMetadata(alias="createPlan"), - pydantic.Field( - alias="createPlan", - description="This is the plan if you want us to create/import a new vector store using Trieve.", - ), - ] = 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 +CreateTrieveKnowledgeBaseDto = typing.Any diff --git a/src/vapi/types/create_trieve_knowledge_base_dto_provider.py b/src/vapi/types/create_trieve_knowledge_base_dto_provider.py deleted file mode 100644 index 6ae19187..00000000 --- a/src/vapi/types/create_trieve_knowledge_base_dto_provider.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -CreateTrieveKnowledgeBaseDtoProvider = typing.Union[typing.Literal["trieve"], typing.Any] diff --git a/src/vapi/types/create_twilio_credential_dto.py b/src/vapi/types/create_twilio_credential_dto.py index cdc97641..064925d7 100644 --- a/src/vapi/types/create_twilio_credential_dto.py +++ b/src/vapi/types/create_twilio_credential_dto.py @@ -10,6 +10,10 @@ class CreateTwilioCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating telephony requests with Twilio using an account SID and either an auth token or API key credentials. + """ + auth_token: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authToken"), @@ -25,7 +29,11 @@ class CreateTwilioCredentialDto(UncheckedBaseModel): FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret", description="This is not returned in the API."), ] = None - account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid")] + account_sid: typing_extensions.Annotated[ + str, + FieldMetadata(alias="accountSid"), + pydantic.Field(alias="accountSid", description="Twilio Account SID associated with the credential."), + ] name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_twilio_phone_number_dto.py b/src/vapi/types/create_twilio_phone_number_dto.py index ccc99ff1..a66644d7 100644 --- a/src/vapi/types/create_twilio_phone_number_dto.py +++ b/src/vapi/types/create_twilio_phone_number_dto.py @@ -13,6 +13,10 @@ class CreateTwilioPhoneNumberDto(UncheckedBaseModel): + """ + Configuration used to import a Twilio phone number into Vapi with its account credentials and routing settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[CreateTwilioPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/create_vapi_phone_number_dto.py b/src/vapi/types/create_vapi_phone_number_dto.py index 07436061..424a15f0 100644 --- a/src/vapi/types/create_vapi_phone_number_dto.py +++ b/src/vapi/types/create_vapi_phone_number_dto.py @@ -14,6 +14,10 @@ class CreateVapiPhoneNumberDto(UncheckedBaseModel): + """ + Configuration used to provision a Vapi-managed phone number or connect a SIP URI, with optional routing and authentication settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[CreateVapiPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/create_voicemail_tool_dto.py b/src/vapi/types/create_voicemail_tool_dto.py index 33d3e113..0bc86ab2 100644 --- a/src/vapi/types/create_voicemail_tool_dto.py +++ b/src/vapi/types/create_voicemail_tool_dto.py @@ -14,11 +14,13 @@ class CreateVoicemailToolDto(UncheckedBaseModel): + """ + Configuration used to create a voicemail-detection tool with optional beep detection for supported calls. + """ + messages: typing.Optional[typing.List[CreateVoicemailToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ beep_detection_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/create_voicemail_tool_dto_messages_item.py b/src/vapi/types/create_voicemail_tool_dto_messages_item.py index 35827a5f..bb399cae 100644 --- a/src/vapi/types/create_voicemail_tool_dto_messages_item.py +++ b/src/vapi/types/create_voicemail_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class CreateVoicemailToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class CreateVoicemailToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/create_vonage_credential_dto.py b/src/vapi/types/create_vonage_credential_dto.py index 23e1d481..f8162cf3 100644 --- a/src/vapi/types/create_vonage_credential_dto.py +++ b/src/vapi/types/create_vonage_credential_dto.py @@ -10,12 +10,20 @@ class CreateVonageCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating telephony requests with Vonage. + """ + api_secret: typing_extensions.Annotated[ str, FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret", description="This is not returned in the API."), ] - api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_key: typing_extensions.Annotated[ + str, + FieldMetadata(alias="apiKey"), + pydantic.Field(alias="apiKey", description="Vonage API key associated with the credential."), + ] name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/create_vonage_phone_number_dto.py b/src/vapi/types/create_vonage_phone_number_dto.py index 166577a1..006f3919 100644 --- a/src/vapi/types/create_vonage_phone_number_dto.py +++ b/src/vapi/types/create_vonage_phone_number_dto.py @@ -13,6 +13,10 @@ class CreateVonagePhoneNumberDto(UncheckedBaseModel): + """ + Configuration used to import a Vonage phone number into Vapi with a stored credential and routing settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[CreateVonagePhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/create_web_call_dto.py b/src/vapi/types/create_web_call_dto.py index 831ffd2f..fc15d3d1 100644 --- a/src/vapi/types/create_web_call_dto.py +++ b/src/vapi/types/create_web_call_dto.py @@ -14,6 +14,14 @@ class CreateWebCallDto(UncheckedBaseModel): + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the assistant version to use for this call. Supported only with\ndirect `assistantId`. Omit to follow the latest version.", + ), + ] = None room_delete_on_user_leave_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="roomDeleteOnUserLeaveEnabled"), @@ -126,8 +134,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -163,6 +175,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -186,8 +205,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -223,6 +246,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_web_chat_dto.py b/src/vapi/types/create_web_chat_dto.py index d4ea2f3f..8a76a0ac 100644 --- a/src/vapi/types/create_web_chat_dto.py +++ b/src/vapi/types/create_web_chat_dto.py @@ -107,8 +107,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -144,6 +148,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -167,8 +178,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -204,6 +219,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/create_well_said_credential_dto.py b/src/vapi/types/create_well_said_credential_dto.py index e58a0859..cfe78e28 100644 --- a/src/vapi/types/create_well_said_credential_dto.py +++ b/src/vapi/types/create_well_said_credential_dto.py @@ -10,6 +10,10 @@ class CreateWellSaidCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating voice synthesis requests with WellSaid. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/create_workflow_dto.py b/src/vapi/types/create_workflow_dto.py index 8d0d6a6d..d42a3dcd 100644 --- a/src/vapi/types/create_workflow_dto.py +++ b/src/vapi/types/create_workflow_dto.py @@ -31,7 +31,15 @@ class CreateWorkflowDto(UncheckedBaseModel): - nodes: typing.List[CreateWorkflowDtoNodesItem] + """ + Configuration for creating a graph-based workflow, including conversation and tool nodes, directed edges, global prompts, shared providers, hooks, credentials, and call behavior. + """ + + nodes: typing.List[CreateWorkflowDtoNodesItem] = pydantic.Field() + """ + Nodes that make up the workflow graph. Conversation nodes interact with the customer, while tool nodes invoke configured tools. + """ + model: typing.Optional[CreateWorkflowDtoModel] = pydantic.Field(default=None) """ This is the model for the workflow. @@ -94,10 +102,20 @@ class CreateWorkflowDto(UncheckedBaseModel): description="This is the maximum duration of the call in seconds.\n\nAfter this duration, the call will automatically end.\n\nDefault is 1800 (30 minutes), max is 43200 (12 hours), and min is 10 seconds.", ), ] = None - name: str - edges: typing.List[Edge] + name: str = pydantic.Field() + """ + Name used to identify the workflow. + """ + + edges: typing.List[Edge] = pydantic.Field() + """ + Directed connections that determine transitions between nodes. + """ + global_prompt: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="globalPrompt"), pydantic.Field(alias="globalPrompt") + typing.Optional[str], + FieldMetadata(alias="globalPrompt"), + pydantic.Field(alias="globalPrompt", description="Prompt applied across the workflow's conversation nodes."), ] = None server: typing.Optional[Server] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/create_workflow_dto_credentials_item.py b/src/vapi/types/create_workflow_dto_credentials_item.py index 5dcc2800..5e54b53a 100644 --- a/src/vapi/types/create_workflow_dto_credentials_item.py +++ b/src/vapi/types/create_workflow_dto_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class CreateWorkflowDtoCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class CreateWorkflowDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class CreateWorkflowDtoCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class CreateWorkflowDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 CreateWorkflowDtoCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class CreateWorkflowDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class CreateWorkflowDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class CreateWorkflowDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class CreateWorkflowDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class CreateWorkflowDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class CreateWorkflowDtoCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class CreateWorkflowDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: CreateWorkflowDtoCredentialsItem_RimeAi, CreateWorkflowDtoCredentialsItem_Runpod, CreateWorkflowDtoCredentialsItem_S3, + CreateWorkflowDtoCredentialsItem_S3Compatible, CreateWorkflowDtoCredentialsItem_Supabase, CreateWorkflowDtoCredentialsItem_SmallestAi, CreateWorkflowDtoCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: CreateWorkflowDtoCredentialsItem_Webhook, CreateWorkflowDtoCredentialsItem_CustomCredential, CreateWorkflowDtoCredentialsItem_Xai, + CreateWorkflowDtoCredentialsItem_Microsoft, CreateWorkflowDtoCredentialsItem_Neuphonic, CreateWorkflowDtoCredentialsItem_Hume, CreateWorkflowDtoCredentialsItem_Mistral, CreateWorkflowDtoCredentialsItem_Speechmatics, CreateWorkflowDtoCredentialsItem_Soniox, - CreateWorkflowDtoCredentialsItem_Trieve, CreateWorkflowDtoCredentialsItem_GoogleCalendarOauth2Client, CreateWorkflowDtoCredentialsItem_GoogleCalendarOauth2Authorization, CreateWorkflowDtoCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/create_workflow_dto_model.py b/src/vapi/types/create_workflow_dto_model.py index f2355606..07b9039f 100644 --- a/src/vapi/types/create_workflow_dto_model.py +++ b/src/vapi/types/create_workflow_dto_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -25,6 +26,7 @@ class CreateWorkflowDtoModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -49,6 +51,7 @@ class CreateWorkflowDtoModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -74,6 +77,7 @@ class CreateWorkflowDtoModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -99,6 +103,7 @@ class CreateWorkflowDtoModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -123,6 +128,7 @@ class CreateWorkflowDtoModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/create_workflow_dto_nodes_item.py b/src/vapi/types/create_workflow_dto_nodes_item.py index 0948ab03..00716909 100644 --- a/src/vapi/types/create_workflow_dto_nodes_item.py +++ b/src/vapi/types/create_workflow_dto_nodes_item.py @@ -10,11 +10,9 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .conversation_node_model import ConversationNodeModel -from .conversation_node_tools_item import ConversationNodeToolsItem from .conversation_node_transcriber import ConversationNodeTranscriber from .conversation_node_voice import ConversationNodeVoice from .global_node_plan import GlobalNodePlan -from .tool_node_tool import ToolNodeTool from .variable_extraction_plan import VariableExtractionPlan @@ -23,7 +21,7 @@ class CreateWorkflowDtoNodesItem_Conversation(UncheckedBaseModel): model: typing.Optional[ConversationNodeModel] = None transcriber: typing.Optional[ConversationNodeTranscriber] = None voice: typing.Optional[ConversationNodeVoice] = None - tools: typing.Optional[typing.List[ConversationNodeToolsItem]] = None + tools: typing.Optional[typing.List["ConversationNodeToolsItem"]] = None tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None @@ -54,7 +52,7 @@ class Config: class CreateWorkflowDtoNodesItem_Tool(UncheckedBaseModel): type: typing.Literal["tool"] = "tool" - tool: typing.Optional[ToolNodeTool] = None + tool: typing.Optional["ToolNodeTool"] = None tool_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="toolId"), pydantic.Field(alias="toolId") ] = None @@ -78,5 +76,212 @@ class Config: typing.Union[CreateWorkflowDtoNodesItem_Conversation, CreateWorkflowDtoNodesItem_Tool], UnionMetadata(discriminant="type"), ] -update_forward_refs(CreateWorkflowDtoNodesItem_Conversation) -update_forward_refs(CreateWorkflowDtoNodesItem_Tool) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 + +update_forward_refs( + CreateWorkflowDtoNodesItem_Conversation, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + CreateWorkflowDtoNodesItem_Tool, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/create_workflow_dto_transcriber.py b/src/vapi/types/create_workflow_dto_transcriber.py index 0129b154..3b65fba9 100644 --- a/src/vapi/types/create_workflow_dto_transcriber.py +++ b/src/vapi/types/create_workflow_dto_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class CreateWorkflowDtoTranscriber_AssemblyAi(UncheckedBaseModel): @@ -206,18 +215,17 @@ class CreateWorkflowDtoTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -294,7 +302,7 @@ class CreateWorkflowDtoTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -516,6 +524,7 @@ class CreateWorkflowDtoTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -527,6 +536,11 @@ class CreateWorkflowDtoTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -543,6 +557,60 @@ class Config: extra = pydantic.Extra.allow +class CreateWorkflowDtoTranscriber_Xai(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 CreateWorkflowDtoTranscriber_Vapi(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + CreateWorkflowDtoTranscriber = typing_extensions.Annotated[ typing.Union[ CreateWorkflowDtoTranscriber_AssemblyAi, @@ -557,6 +625,8 @@ class Config: CreateWorkflowDtoTranscriber_Openai, CreateWorkflowDtoTranscriber_Cartesia, CreateWorkflowDtoTranscriber_Soniox, + CreateWorkflowDtoTranscriber_Xai, + CreateWorkflowDtoTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/create_workflow_dto_voice.py b/src/vapi/types/create_workflow_dto_voice.py index 098c6169..86743a81 100644 --- a/src/vapi/types/create_workflow_dto_voice.py +++ b/src/vapi/types/create_workflow_dto_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class CreateWorkflowDtoVoice_Azure(UncheckedBaseModel): @@ -607,7 +614,9 @@ class CreateWorkflowDtoVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -616,9 +625,6 @@ class CreateWorkflowDtoVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -751,6 +757,76 @@ class Config: extra = pydantic.Extra.allow +class CreateWorkflowDtoVoice_Xai(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 CreateWorkflowDtoVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + CreateWorkflowDtoVoice = typing_extensions.Annotated[ typing.Union[ CreateWorkflowDtoVoice_Azure, @@ -771,6 +847,8 @@ class Config: CreateWorkflowDtoVoice_Sesame, CreateWorkflowDtoVoice_Inworld, CreateWorkflowDtoVoice_Minimax, + CreateWorkflowDtoVoice_Xai, + CreateWorkflowDtoVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/create_x_ai_credential_dto.py b/src/vapi/types/create_x_ai_credential_dto.py index 7ee391b9..63245f21 100644 --- a/src/vapi/types/create_x_ai_credential_dto.py +++ b/src/vapi/types/create_x_ai_credential_dto.py @@ -10,6 +10,10 @@ class CreateXAiCredentialDto(UncheckedBaseModel): + """ + Credentials for authenticating assistant model requests with xAI. + """ + api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/custom_endpointing_model_smart_endpointing_plan.py b/src/vapi/types/custom_endpointing_model_smart_endpointing_plan.py index 730ad9c7..d17bada5 100644 --- a/src/vapi/types/custom_endpointing_model_smart_endpointing_plan.py +++ b/src/vapi/types/custom_endpointing_model_smart_endpointing_plan.py @@ -10,6 +10,10 @@ class CustomEndpointingModelSmartEndpointingPlan(UncheckedBaseModel): + """ + Configuration for using a custom endpointing model, including its provider identifier and server connection. + """ + provider: CustomEndpointingModelSmartEndpointingPlanProvider = pydantic.Field() """ This is the provider for the smart endpointing plan. Use `custom-endpointing-model` for custom endpointing providers that are not natively supported. diff --git a/src/vapi/types/custom_llm_model.py b/src/vapi/types/custom_llm_model.py index 04176e19..75f26a4f 100644 --- a/src/vapi/types/custom_llm_model.py +++ b/src/vapi/types/custom_llm_model.py @@ -12,9 +12,14 @@ from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class CustomLlmModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses through a custom language model endpoint, including server URL, headers, metadata, prompts, tools, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class CustomLlmModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -81,7 +94,7 @@ class CustomLlmModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -137,8 +150,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -173,6 +190,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -196,8 +220,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -232,6 +260,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/custom_llm_model_tools_item.py b/src/vapi/types/custom_llm_model_tools_item.py index aaf37e10..1cfbc9c0 100644 --- a/src/vapi/types/custom_llm_model_tools_item.py +++ b/src/vapi/types/custom_llm_model_tools_item.py @@ -67,6 +67,7 @@ class CustomLlmModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class CustomLlmModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/custom_message.py b/src/vapi/types/custom_message.py index 8668d547..6edd6d39 100644 --- a/src/vapi/types/custom_message.py +++ b/src/vapi/types/custom_message.py @@ -10,6 +10,10 @@ class CustomMessage(UncheckedBaseModel): + """ + A message spoken by the assistant with optional language-specific content variants. + """ + contents: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None) """ This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. diff --git a/src/vapi/types/custom_transcriber.py b/src/vapi/types/custom_transcriber.py index a0b86096..8636b22b 100644 --- a/src/vapi/types/custom_transcriber.py +++ b/src/vapi/types/custom_transcriber.py @@ -12,6 +12,10 @@ class CustomTranscriber(UncheckedBaseModel): + """ + Configuration for sending conversation audio to a custom WebSocket transcription server. + """ + server: Server = pydantic.Field() """ This is where the transcription request will be sent. diff --git a/src/vapi/types/custom_voice.py b/src/vapi/types/custom_voice.py index ba9eef7f..cbc39d29 100644 --- a/src/vapi/types/custom_voice.py +++ b/src/vapi/types/custom_voice.py @@ -13,6 +13,10 @@ class CustomVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech through a custom server, including voice selection, server connection, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/customer_custom_endpointing_rule.py b/src/vapi/types/customer_custom_endpointing_rule.py index 79aa7ceb..f6b29362 100644 --- a/src/vapi/types/customer_custom_endpointing_rule.py +++ b/src/vapi/types/customer_custom_endpointing_rule.py @@ -11,6 +11,10 @@ class CustomerCustomEndpointingRule(UncheckedBaseModel): + """ + A custom endpointing rule that matches the customer's current speech and applies a configured timeout. + """ + regex: str = pydantic.Field() """ This is the regex pattern to match. diff --git a/src/vapi/types/customer_speech_timeout_options.py b/src/vapi/types/customer_speech_timeout_options.py index 4c4b3d89..8e3d5328 100644 --- a/src/vapi/types/customer_speech_timeout_options.py +++ b/src/vapi/types/customer_speech_timeout_options.py @@ -7,15 +7,28 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .customer_speech_timeout_options_trigger_reset_mode import CustomerSpeechTimeoutOptionsTriggerResetMode class CustomerSpeechTimeoutOptions(UncheckedBaseModel): + """ + Controls how long a hook waits for customer speech, how often it can trigger, and when its trigger counter resets. + """ + + trigger_reset_mode: typing_extensions.Annotated[ + typing.Optional[CustomerSpeechTimeoutOptionsTriggerResetMode], + FieldMetadata(alias="triggerResetMode"), + pydantic.Field( + alias="triggerResetMode", + description="Controls whether the hook's trigger counter resets after the customer speaks. Defaults to `never`.", + ), + ] = None timeout_seconds: typing_extensions.Annotated[ float, FieldMetadata(alias="timeoutSeconds"), pydantic.Field( alias="timeoutSeconds", - description="This is the timeout in seconds before action is triggered.\nThe clock starts when the assistant finishes speaking and remains active until the user speaks.\n\n@default 7.5", + description="This is the timeout in seconds before action is triggered.\nThe clock starts when the assistant finishes speaking and remains active until the user speaks.\n\n@default 7.5\n@minimum 2\n@maximum 1000", ), ] trigger_max_count: typing_extensions.Annotated[ @@ -26,14 +39,6 @@ class CustomerSpeechTimeoutOptions(UncheckedBaseModel): description="This is the maximum number of times the hook will trigger in a call.\n\n@default 3", ), ] = None - trigger_reset_mode: typing_extensions.Annotated[ - typing.Optional[typing.Dict[str, typing.Any]], - FieldMetadata(alias="triggerResetMode"), - pydantic.Field( - alias="triggerResetMode", - description="This is whether the counter for hook trigger resets the user speaks.\n\n@default never", - ), - ] = 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/vapi/types/customer_speech_timeout_options_trigger_reset_mode.py b/src/vapi/types/customer_speech_timeout_options_trigger_reset_mode.py new file mode 100644 index 00000000..54cc8671 --- /dev/null +++ b/src/vapi/types/customer_speech_timeout_options_trigger_reset_mode.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CustomerSpeechTimeoutOptionsTriggerResetMode = typing.Union[typing.Literal["onUserSpeech", "never"], typing.Any] diff --git a/src/vapi/types/deep_infra_model.py b/src/vapi/types/deep_infra_model.py index 98ee2064..46b52c4a 100644 --- a/src/vapi/types/deep_infra_model.py +++ b/src/vapi/types/deep_infra_model.py @@ -11,9 +11,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class DeepInfraModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with DeepInfra, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -34,6 +39,14 @@ class DeepInfraModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -46,7 +59,7 @@ class DeepInfraModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -102,8 +115,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -138,6 +155,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -161,8 +185,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -197,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/deep_infra_model_tools_item.py b/src/vapi/types/deep_infra_model_tools_item.py index a6596db5..06641bbd 100644 --- a/src/vapi/types/deep_infra_model_tools_item.py +++ b/src/vapi/types/deep_infra_model_tools_item.py @@ -67,6 +67,7 @@ class DeepInfraModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class DeepInfraModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/deep_seek_model.py b/src/vapi/types/deep_seek_model.py index c44da98f..e57519ef 100644 --- a/src/vapi/types/deep_seek_model.py +++ b/src/vapi/types/deep_seek_model.py @@ -12,9 +12,14 @@ from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .deep_seek_model_model import DeepSeekModelModel from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class DeepSeekModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with DeepSeek, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class DeepSeekModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class DeepSeekModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -198,6 +226,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/deep_seek_model_tools_item.py b/src/vapi/types/deep_seek_model_tools_item.py index 1bc54684..baf8038e 100644 --- a/src/vapi/types/deep_seek_model_tools_item.py +++ b/src/vapi/types/deep_seek_model_tools_item.py @@ -67,6 +67,7 @@ class DeepSeekModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class DeepSeekModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/deepgram_transcriber.py b/src/vapi/types/deepgram_transcriber.py index f0501e5b..a8ab4d3e 100644 --- a/src/vapi/types/deepgram_transcriber.py +++ b/src/vapi/types/deepgram_transcriber.py @@ -9,10 +9,15 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .fallback_transcriber_plan import FallbackTranscriberPlan class DeepgramTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Deepgram, including model, language, formatting, endpointing, vocabulary, and fallback settings. + """ + model: typing.Optional[DeepgramTranscriberModel] = pydantic.Field(default=None) """ This is the Deepgram model that will be used. A list of models can be found here: https://developers.deepgram.com/docs/models-languages-overview @@ -54,6 +59,22 @@ class DeepgramTranscriber(UncheckedBaseModel): description='If set to true, Deepgram will replace profanity in transcripts with surrounding asterisks, e.g. "f***".\n\n@default false', ), ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = pydantic.Field(default=None) + """ + Enables redaction of sensitive information from transcripts. + + Options include: + - "pci": Redacts credit card numbers, expiration dates, and CVV. + - "pii": Redacts personally identifiable information (names, locations, identifying numbers, etc.). + - "phi": Redacts protected health information (medical conditions, drugs, injuries, etc.). + - "numbers": Redacts numerical and identifying entities (dates, account numbers, SSNs, etc.). + + Multiple values can be provided to redact different categories simultaneously. + Redacted content is replaced with entity labels like [CREDIT_CARD_1], [SSN_1], etc. + + See https://developers.deepgram.com/docs/redaction for details. + """ + confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), @@ -62,14 +83,6 @@ class DeepgramTranscriber(UncheckedBaseModel): description="Transcripts below this confidence threshold will be discarded.\n\n@default 0.4", ), ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="eagerEotThreshold"), - pydantic.Field( - alias="eagerEotThreshold", - description="Eager end-of-turn confidence required to fire a eager end-of-turn event. Setting a value here will enable EagerEndOfTurn and SpeechResumed events. It is disabled by default. Only used with Flux models.", - ), - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), @@ -86,6 +99,13 @@ class DeepgramTranscriber(UncheckedBaseModel): description="A turn will be finished when this much time has passed after speech, regardless of EOT confidence. Only used with Flux models.\n\n@default 5000", ), ] = None + languages: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Language hints to bias Flux Multilingual (`flux-general-multi`) toward specific languages. + Provide BCP-47 language codes (e.g. "en", "es", "fr"). Multiple hints can be given for + multilingual or code-switching scenarios. Omit for auto-detection. Only used with `flux-general-multi`. + """ + keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. diff --git a/src/vapi/types/deepgram_transcriber_redaction_item.py b/src/vapi/types/deepgram_transcriber_redaction_item.py new file mode 100644 index 00000000..4c82c9f3 --- /dev/null +++ b/src/vapi/types/deepgram_transcriber_redaction_item.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +DeepgramTranscriberRedactionItem = typing.Union[typing.Literal["pci", "pii", "phi", "numbers"], typing.Any] diff --git a/src/vapi/types/deepgram_voice.py b/src/vapi/types/deepgram_voice.py index b44489d7..a3c0cf68 100644 --- a/src/vapi/types/deepgram_voice.py +++ b/src/vapi/types/deepgram_voice.py @@ -14,6 +14,10 @@ class DeepgramVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Deepgram, including voice and model selection, model-improvement preferences, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/deepgram_voice_id.py b/src/vapi/types/deepgram_voice_id.py index 9c96997c..c982d44d 100644 --- a/src/vapi/types/deepgram_voice_id.py +++ b/src/vapi/types/deepgram_voice_id.py @@ -59,6 +59,13 @@ "aquila", "selena", "javier", + "viktoria", + "kara", + "fabian", + "julius", + "lara", + "elara", + "aurelia", ], typing.Any, ] diff --git a/src/vapi/types/developer_message.py b/src/vapi/types/developer_message.py index ab5ca480..38d2e915 100644 --- a/src/vapi/types/developer_message.py +++ b/src/vapi/types/developer_message.py @@ -9,6 +9,10 @@ class DeveloperMessage(UncheckedBaseModel): + """ + A developer-authored instruction message supplied to the language model. + """ + role: DeveloperMessageRole = pydantic.Field() """ This is the role of the message author diff --git a/src/vapi/types/dial_plan_entry.py b/src/vapi/types/dial_plan_entry.py index 6ab312e5..ad8d7452 100644 --- a/src/vapi/types/dial_plan_entry.py +++ b/src/vapi/types/dial_plan_entry.py @@ -13,6 +13,10 @@ class DialPlanEntry(UncheckedBaseModel): + """ + Associates a phone number with the customers to dial through that number in a batch call plan. + """ + phone_number_id: typing_extensions.Annotated[ str, FieldMetadata(alias="phoneNumberId"), diff --git a/src/vapi/types/dtmf_tool.py b/src/vapi/types/dtmf_tool.py index 5a86c146..843748f8 100644 --- a/src/vapi/types/dtmf_tool.py +++ b/src/vapi/types/dtmf_tool.py @@ -15,11 +15,16 @@ class DtmfTool(UncheckedBaseModel): + """ + A reusable tool that lets an assistant send DTMF keypad tones during a call. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[DtmfToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sip_info_dtmf_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/dtmf_tool_messages_item.py b/src/vapi/types/dtmf_tool_messages_item.py index b1c300e0..7bb1dabd 100644 --- a/src/vapi/types/dtmf_tool_messages_item.py +++ b/src/vapi/types/dtmf_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class DtmfToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class DtmfToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/edge.py b/src/vapi/types/edge.py index 87364adb..ee3fb847 100644 --- a/src/vapi/types/edge.py +++ b/src/vapi/types/edge.py @@ -11,9 +11,23 @@ class Edge(UncheckedBaseModel): - condition: typing.Optional[AiEdgeCondition] = None - from_: typing_extensions.Annotated[str, FieldMetadata(alias="from"), pydantic.Field(alias="from")] - to: str + """ + A directed connection between two workflow nodes, with an optional AI-evaluated transition condition. + """ + + condition: typing.Optional[AiEdgeCondition] = pydantic.Field(default=None) + """ + Condition that must evaluate to true to follow this edge. + """ + + from_: typing_extensions.Annotated[ + str, FieldMetadata(alias="from"), pydantic.Field(alias="from", description="Name of the source workflow node.") + ] + to: str = pydantic.Field() + """ + Name of the destination workflow node. + """ + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ This is for metadata you want to store on the edge. diff --git a/src/vapi/types/eleven_labs_credential.py b/src/vapi/types/eleven_labs_credential.py index 4cc8db6b..f16f72ce 100644 --- a/src/vapi/types/eleven_labs_credential.py +++ b/src/vapi/types/eleven_labs_credential.py @@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .eleven_labs_credential_api_url import ElevenLabsCredentialApiUrl class ElevenLabsCredential(UncheckedBaseModel): @@ -17,6 +18,14 @@ class ElevenLabsCredential(UncheckedBaseModel): FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + api_url: typing_extensions.Annotated[ + typing.Optional[ElevenLabsCredentialApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="ElevenLabs-only API environment for this key: the global endpoint or the EU data residency endpoint. In EU deployments, new credentials must explicitly use the EU data residency endpoint; existing credentials may omit this field on update to retain their saved endpoint. Outside EU deployments, Vapi detects an omitted endpoint automatically and null on update clears and re-detects the endpoint.", + ), + ] = None id: str = pydantic.Field() """ This is the unique identifier for the credential. diff --git a/src/vapi/types/eleven_labs_credential_api_url.py b/src/vapi/types/eleven_labs_credential_api_url.py new file mode 100644 index 00000000..532caaca --- /dev/null +++ b/src/vapi/types/eleven_labs_credential_api_url.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ElevenLabsCredentialApiUrl = typing.Union[ + typing.Literal["https://api.elevenlabs.io", "https://api.eu.residency.elevenlabs.io"], typing.Any +] diff --git a/src/vapi/types/eleven_labs_pronunciation_dictionary_locator.py b/src/vapi/types/eleven_labs_pronunciation_dictionary_locator.py index 4cceab2a..8e66f2f7 100644 --- a/src/vapi/types/eleven_labs_pronunciation_dictionary_locator.py +++ b/src/vapi/types/eleven_labs_pronunciation_dictionary_locator.py @@ -10,6 +10,10 @@ class ElevenLabsPronunciationDictionaryLocator(UncheckedBaseModel): + """ + Identifies a specific version of an ElevenLabs pronunciation dictionary. + """ + pronunciation_dictionary_id: typing_extensions.Annotated[ str, FieldMetadata(alias="pronunciationDictionaryId"), diff --git a/src/vapi/types/eleven_labs_transcriber.py b/src/vapi/types/eleven_labs_transcriber.py index 7f51440c..5062bd50 100644 --- a/src/vapi/types/eleven_labs_transcriber.py +++ b/src/vapi/types/eleven_labs_transcriber.py @@ -13,6 +13,10 @@ class ElevenLabsTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with ElevenLabs, including model, language, speech thresholds, and fallback settings. + """ + model: typing.Optional[ElevenLabsTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/eleven_labs_voice.py b/src/vapi/types/eleven_labs_voice.py index e7fb8a50..ad8aeef3 100644 --- a/src/vapi/types/eleven_labs_voice.py +++ b/src/vapi/types/eleven_labs_voice.py @@ -15,6 +15,10 @@ class ElevenLabsVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with ElevenLabs, including voice and model selection, language, voice tuning, streaming, Speech Synthesis Markup Language parsing, pronunciation dictionaries, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/end_call_tool.py b/src/vapi/types/end_call_tool.py index 5135c00c..2a710faf 100644 --- a/src/vapi/types/end_call_tool.py +++ b/src/vapi/types/end_call_tool.py @@ -15,11 +15,16 @@ class EndCallTool(UncheckedBaseModel): + """ + A reusable tool that lets an assistant end the active call. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[EndCallToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/end_call_tool_messages_item.py b/src/vapi/types/end_call_tool_messages_item.py index f557c95f..59a351bb 100644 --- a/src/vapi/types/end_call_tool_messages_item.py +++ b/src/vapi/types/end_call_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class EndCallToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class EndCallToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/ended_reason_condition.py b/src/vapi/types/ended_reason_condition.py new file mode 100644 index 00000000..ac254dcd --- /dev/null +++ b/src/vapi/types/ended_reason_condition.py @@ -0,0 +1,35 @@ +# 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 .ended_reason_condition_operator import EndedReasonConditionOperator + + +class EndedReasonCondition(UncheckedBaseModel): + operator: EndedReasonConditionOperator = pydantic.Field() + """ + This is the membership operator applied against `values`. + + - 'oneOf': the structured output runs only if the call's ended reason is in `values`. + - 'notOneOf': the structured output runs only if the call's ended reason is NOT in `values`. + """ + + values: typing.List[str] = pydantic.Field() + """ + These are the ended reasons compared against the call's ended reason. + + Any string is accepted so configurations never break when new ended + reasons are introduced. Must contain at least one value. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/ended_reason_condition_operator.py b/src/vapi/types/ended_reason_condition_operator.py new file mode 100644 index 00000000..48d62cad --- /dev/null +++ b/src/vapi/types/ended_reason_condition_operator.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +EndedReasonConditionOperator = typing.Union[typing.Literal["oneOf", "notOneOf"], typing.Any] diff --git a/src/vapi/types/eval.py b/src/vapi/types/eval.py index 723830d3..23d72e51 100644 --- a/src/vapi/types/eval.py +++ b/src/vapi/types/eval.py @@ -13,6 +13,10 @@ class Eval(UncheckedBaseModel): + """ + A saved eval definition containing its mock conversation, checkpoints, descriptive metadata, type, and lifecycle information. + """ + messages: typing.List[EvalMessagesItem] = pydantic.Field() """ This is the mock conversation that will be used to evaluate the flow of the conversation. @@ -22,13 +26,25 @@ class Eval(UncheckedBaseModel): Evaluation Messages are used as checkpoints in the flow where the model's response to previous conversation needs to be evaluated to check the content and tool calls """ - id: str - org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] + id: str = pydantic.Field() + """ + The unique identifier for the eval. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="The unique identifier for the organization that owns the eval."), + ] created_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field(alias="createdAt", description="The ISO 8601 timestamp when the eval was created."), ] updated_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field(alias="updatedAt", description="The ISO 8601 timestamp when the eval was last updated."), ] name: typing.Optional[str] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/eval_anthropic_model.py b/src/vapi/types/eval_anthropic_model.py index 9a4866d6..7f22a090 100644 --- a/src/vapi/types/eval_anthropic_model.py +++ b/src/vapi/types/eval_anthropic_model.py @@ -12,6 +12,10 @@ class EvalAnthropicModel(UncheckedBaseModel): + """ + Anthropic model configuration for an LLM judge, including its messages, generation settings, and optional extended thinking. + """ + model: EvalAnthropicModelModel = pydantic.Field() """ This is the specific model that will be used. diff --git a/src/vapi/types/eval_anthropic_model_model.py b/src/vapi/types/eval_anthropic_model_model.py index 2d85cb6e..41efcce3 100644 --- a/src/vapi/types/eval_anthropic_model_model.py +++ b/src/vapi/types/eval_anthropic_model_model.py @@ -17,6 +17,7 @@ "claude-sonnet-4-20250514", "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", + "claude-sonnet-5", "claude-haiku-4-5-20251001", ], typing.Any, diff --git a/src/vapi/types/eval_custom_model.py b/src/vapi/types/eval_custom_model.py index 38f6edd0..39e87374 100644 --- a/src/vapi/types/eval_custom_model.py +++ b/src/vapi/types/eval_custom_model.py @@ -10,6 +10,10 @@ class EvalCustomModel(UncheckedBaseModel): + """ + OpenAI-compatible custom model configuration for an LLM judge, including its endpoint, headers, messages, and generation settings. + """ + url: str = pydantic.Field() """ These is the URL we'll use for the OpenAI client's `baseURL`. Ex. https://openrouter.ai/api/v1 diff --git a/src/vapi/types/eval_google_model.py b/src/vapi/types/eval_google_model.py index f4d4e6bf..34aea33a 100644 --- a/src/vapi/types/eval_google_model.py +++ b/src/vapi/types/eval_google_model.py @@ -11,6 +11,10 @@ class EvalGoogleModel(UncheckedBaseModel): + """ + Google model configuration for an LLM judge, including its messages and generation settings. + """ + model: EvalGoogleModelModel = pydantic.Field() """ This is the name of the model. Ex. gpt-4o diff --git a/src/vapi/types/eval_google_model_model.py b/src/vapi/types/eval_google_model_model.py index e8e9236e..ebda27f2 100644 --- a/src/vapi/types/eval_google_model_model.py +++ b/src/vapi/types/eval_google_model_model.py @@ -4,6 +4,8 @@ EvalGoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/eval_groq_model_model.py b/src/vapi/types/eval_groq_model_model.py index 7254324c..6b4f8e47 100644 --- a/src/vapi/types/eval_groq_model_model.py +++ b/src/vapi/types/eval_groq_model_model.py @@ -14,7 +14,6 @@ "llama3-70b-8192", "gemma2-9b-it", "moonshotai/kimi-k2-instruct-0905", - "meta-llama/llama-4-maverick-17b-128e-instruct", "meta-llama/llama-4-scout-17b-16e-instruct", "mistral-saba-24b", "compound-beta", diff --git a/src/vapi/types/eval_open_ai_model.py b/src/vapi/types/eval_open_ai_model.py index 5ecb8eed..489535a8 100644 --- a/src/vapi/types/eval_open_ai_model.py +++ b/src/vapi/types/eval_open_ai_model.py @@ -11,6 +11,10 @@ class EvalOpenAiModel(UncheckedBaseModel): + """ + OpenAI model configuration for an LLM judge, including its messages and generation settings. + """ + model: EvalOpenAiModelModel = pydantic.Field() """ This is the OpenAI model that will be used. diff --git a/src/vapi/types/eval_open_ai_model_model.py b/src/vapi/types/eval_open_ai_model_model.py index f56b54c3..3f0386cd 100644 --- a/src/vapi/types/eval_open_ai_model_model.py +++ b/src/vapi/types/eval_open_ai_model_model.py @@ -4,6 +4,11 @@ EvalOpenAiModelModel = typing.Union[ typing.Literal[ + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna", + "gpt-5.5", + "chat-latest", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", @@ -117,6 +122,9 @@ "gpt-3.5-turbo-0125:southcentralus", "gpt-3.5-turbo-1106:canadaeast", "gpt-3.5-turbo-1106:westus", + "gpt-4.1:australiaeast", + "gpt-4o:australiaeast", + "gpt-5.4-mini:australiaeast", ], typing.Any, ] diff --git a/src/vapi/types/eval_paginated_response.py b/src/vapi/types/eval_paginated_response.py index 9581f12e..ea4afa81 100644 --- a/src/vapi/types/eval_paginated_response.py +++ b/src/vapi/types/eval_paginated_response.py @@ -10,8 +10,19 @@ class EvalPaginatedResponse(UncheckedBaseModel): - results: typing.List[Eval] - metadata: PaginationMeta + """ + A paginated collection of saved eval definitions and metadata describing the result set. + """ + + results: typing.List[Eval] = pydantic.Field() + """ + The eval definitions returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the eval result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/eval_run.py b/src/vapi/types/eval_run.py index c37e75ca..e21cc256 100644 --- a/src/vapi/types/eval_run.py +++ b/src/vapi/types/eval_run.py @@ -19,6 +19,10 @@ class EvalRun(UncheckedBaseModel): + """ + A record of an eval execution, including its target, status, results, costs, completion details, and lifecycle timestamps. + """ + status: EvalRunStatus = pydantic.Field() """ This is the status of the eval run. When an eval run is created, the status is 'running'. @@ -43,15 +47,31 @@ class EvalRun(UncheckedBaseModel): This is the target that will be run against the eval """ - id: str - org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] + id: str = pydantic.Field() + """ + The unique identifier for the eval run. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="The unique identifier for the organization that owns the run."), + ] created_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field(alias="createdAt", description="The ISO 8601 timestamp when the eval run was created."), ] started_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="startedAt"), pydantic.Field(alias="startedAt") + dt.datetime, + FieldMetadata(alias="startedAt"), + pydantic.Field(alias="startedAt", description="The ISO 8601 timestamp when the eval run started."), + ] + ended_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="endedAt"), + pydantic.Field(alias="endedAt", description="The ISO 8601 timestamp when the eval run ended."), ] - ended_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="endedAt"), pydantic.Field(alias="endedAt")] ended_message: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="endedMessage"), diff --git a/src/vapi/types/eval_run_paginated_response.py b/src/vapi/types/eval_run_paginated_response.py index cde254a0..f66c58fd 100644 --- a/src/vapi/types/eval_run_paginated_response.py +++ b/src/vapi/types/eval_run_paginated_response.py @@ -12,8 +12,19 @@ class EvalRunPaginatedResponse(UncheckedBaseModel): - results: typing.List[EvalRun] - metadata: PaginationMeta + """ + A paginated collection of eval runs and metadata describing the result set. + """ + + results: typing.List[EvalRun] = pydantic.Field() + """ + The eval runs returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the eval-run result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/eval_run_result.py b/src/vapi/types/eval_run_result.py index 5841a3e0..bf92de1b 100644 --- a/src/vapi/types/eval_run_result.py +++ b/src/vapi/types/eval_run_result.py @@ -13,6 +13,10 @@ class EvalRunResult(UncheckedBaseModel): + """ + The pass or fail result of an evaluation run, including its conversation messages and timing. + """ + status: EvalRunResultStatus = pydantic.Field() """ This is the status of the eval run result. diff --git a/src/vapi/types/eval_run_target.py b/src/vapi/types/eval_run_target.py index 0e237b90..5801a87b 100644 --- a/src/vapi/types/eval_run_target.py +++ b/src/vapi/types/eval_run_target.py @@ -84,8 +84,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -121,6 +125,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -144,8 +155,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -181,6 +196,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -204,8 +226,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -241,6 +267,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/eval_run_target_assistant.py b/src/vapi/types/eval_run_target_assistant.py index 1ada44b1..c2c29718 100644 --- a/src/vapi/types/eval_run_target_assistant.py +++ b/src/vapi/types/eval_run_target_assistant.py @@ -12,6 +12,10 @@ class EvalRunTargetAssistant(UncheckedBaseModel): + """ + An assistant evaluation target provided as a saved assistant ID or a transient assistant, with optional assistant overrides. + """ + assistant: typing.Optional["CreateAssistantDto"] = pydantic.Field(default=None) """ This is the transient assistant that will be run against the eval @@ -60,8 +64,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -97,6 +105,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -120,8 +135,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -157,6 +176,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/eval_run_target_squad.py b/src/vapi/types/eval_run_target_squad.py index c954ae89..91ab7b2a 100644 --- a/src/vapi/types/eval_run_target_squad.py +++ b/src/vapi/types/eval_run_target_squad.py @@ -12,6 +12,10 @@ class EvalRunTargetSquad(UncheckedBaseModel): + """ + A squad evaluation target provided as a saved squad ID or a transient squad, with optional assistant overrides. + """ + squad: typing.Optional["CreateSquadDto"] = pydantic.Field(default=None) """ This is the transient squad that will be run against the eval @@ -58,8 +62,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -95,6 +103,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -118,8 +133,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -155,6 +174,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/evaluation_plan_item.py b/src/vapi/types/evaluation_plan_item.py index 7a7b48a9..5de379d8 100644 --- a/src/vapi/types/evaluation_plan_item.py +++ b/src/vapi/types/evaluation_plan_item.py @@ -31,6 +31,11 @@ class EvaluationPlanItem(UncheckedBaseModel): description="This is an inline structured output definition for evaluation.\nMutually exclusive with structuredOutputId.\nOnly primitive schema types (string, number, integer, boolean) are allowed.", ), ] = None + path: typing.Optional[str] = pydantic.Field(default=None) + """ + Optional dot-notation path to a primitive leaf when evaluating an object structured output. + """ + comparator: EvaluationPlanItemComparator = pydantic.Field() """ This is the comparison operator to use when evaluating the extracted value against the expected value. diff --git a/src/vapi/types/events_table_boolean_condition.py b/src/vapi/types/events_table_boolean_condition.py index 7f0d3438..42003580 100644 --- a/src/vapi/types/events_table_boolean_condition.py +++ b/src/vapi/types/events_table_boolean_condition.py @@ -9,6 +9,10 @@ class EventsTableBooleanCondition(UncheckedBaseModel): + """ + Filters event data by comparing a boolean field with an expected value. + """ + column: str = pydantic.Field() """ The boolean field name from the event data diff --git a/src/vapi/types/events_table_number_condition.py b/src/vapi/types/events_table_number_condition.py index 24b05a12..e98faa8b 100644 --- a/src/vapi/types/events_table_number_condition.py +++ b/src/vapi/types/events_table_number_condition.py @@ -9,6 +9,10 @@ class EventsTableNumberCondition(UncheckedBaseModel): + """ + Filters event data by comparing a numeric field with a value. + """ + column: str = pydantic.Field() """ The number field name from the event data diff --git a/src/vapi/types/events_table_string_condition.py b/src/vapi/types/events_table_string_condition.py index 6c1fd905..eb2d40ff 100644 --- a/src/vapi/types/events_table_string_condition.py +++ b/src/vapi/types/events_table_string_condition.py @@ -9,6 +9,10 @@ class EventsTableStringCondition(UncheckedBaseModel): + """ + Filters event data by comparing or searching a string field. + """ + column: str = pydantic.Field() """ The string field name from the event data diff --git a/src/vapi/types/exact_replacement.py b/src/vapi/types/exact_replacement.py index 3b706e16..dc5ef61a 100644 --- a/src/vapi/types/exact_replacement.py +++ b/src/vapi/types/exact_replacement.py @@ -10,6 +10,10 @@ class ExactReplacement(UncheckedBaseModel): + """ + Replaces an exact word or phrase before text is sent to a voice provider. + """ + replace_all_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="replaceAllEnabled"), diff --git a/src/vapi/types/export_chat_dto.py b/src/vapi/types/export_chat_dto.py index d58f8272..42ca2257 100644 --- a/src/vapi/types/export_chat_dto.py +++ b/src/vapi/types/export_chat_dto.py @@ -10,6 +10,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .export_chat_dto_columns import ExportChatDtoColumns from .export_chat_dto_format import ExportChatDtoFormat +from .export_chat_dto_sort_by import ExportChatDtoSortBy from .export_chat_dto_sort_order import ExportChatDtoSortOrder @@ -84,6 +85,11 @@ class ExportChatDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[ExportChatDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/export_chat_dto_sort_by.py b/src/vapi/types/export_chat_dto_sort_by.py new file mode 100644 index 00000000..0b31c978 --- /dev/null +++ b/src/vapi/types/export_chat_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ExportChatDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/export_session_dto.py b/src/vapi/types/export_session_dto.py index 1fe30ccf..0066dfce 100644 --- a/src/vapi/types/export_session_dto.py +++ b/src/vapi/types/export_session_dto.py @@ -13,6 +13,7 @@ from .create_customer_dto import CreateCustomerDto from .export_session_dto_columns import ExportSessionDtoColumns from .export_session_dto_format import ExportSessionDtoFormat +from .export_session_dto_sort_by import ExportSessionDtoSortBy from .export_session_dto_sort_order import ExportSessionDtoSortOrder @@ -104,6 +105,11 @@ class ExportSessionDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[ExportSessionDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/export_session_dto_sort_by.py b/src/vapi/types/export_session_dto_sort_by.py new file mode 100644 index 00000000..4a36a4ee --- /dev/null +++ b/src/vapi/types/export_session_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ExportSessionDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/fallback_assembly_ai_transcriber.py b/src/vapi/types/fallback_assembly_ai_transcriber.py index 142e796a..39edff05 100644 --- a/src/vapi/types/fallback_assembly_ai_transcriber.py +++ b/src/vapi/types/fallback_assembly_ai_transcriber.py @@ -12,6 +12,10 @@ class FallbackAssemblyAiTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with AssemblyAI, including language, streaming model, endpointing, and vocabulary. + """ + language: typing.Optional[FallbackAssemblyAiTranscriberLanguage] = pydantic.Field(default=None) """ This is the language that will be set for the transcription. diff --git a/src/vapi/types/fallback_azure_speech_transcriber.py b/src/vapi/types/fallback_azure_speech_transcriber.py index a44904af..75f93b68 100644 --- a/src/vapi/types/fallback_azure_speech_transcriber.py +++ b/src/vapi/types/fallback_azure_speech_transcriber.py @@ -12,6 +12,10 @@ class FallbackAzureSpeechTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Azure Speech, including language and segmentation. + """ + language: typing.Optional[FallbackAzureSpeechTranscriberLanguage] = pydantic.Field(default=None) """ This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt diff --git a/src/vapi/types/fallback_azure_voice.py b/src/vapi/types/fallback_azure_voice.py index 2fc1907d..a85398ad 100644 --- a/src/vapi/types/fallback_azure_voice.py +++ b/src/vapi/types/fallback_azure_voice.py @@ -12,6 +12,10 @@ class FallbackAzureVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Azure, including voice selection, speed, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_cartesia_transcriber.py b/src/vapi/types/fallback_cartesia_transcriber.py index ea8a3e4d..1ea33eeb 100644 --- a/src/vapi/types/fallback_cartesia_transcriber.py +++ b/src/vapi/types/fallback_cartesia_transcriber.py @@ -10,8 +10,19 @@ class FallbackCartesiaTranscriber(UncheckedBaseModel): - model: typing.Optional[FallbackCartesiaTranscriberModel] = None - language: typing.Optional[FallbackCartesiaTranscriberLanguage] = None + """ + Fallback configuration for transcribing speech with Cartesia, including model and language. + """ + + model: typing.Optional[FallbackCartesiaTranscriberModel] = pydantic.Field(default=None) + """ + The Cartesia speech-to-text model used for transcription. + """ + + language: typing.Optional[FallbackCartesiaTranscriberLanguage] = pydantic.Field(default=None) + """ + The language code used for transcription. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/fallback_cartesia_transcriber_model.py b/src/vapi/types/fallback_cartesia_transcriber_model.py index 6b1add46..9102e788 100644 --- a/src/vapi/types/fallback_cartesia_transcriber_model.py +++ b/src/vapi/types/fallback_cartesia_transcriber_model.py @@ -2,4 +2,4 @@ import typing -FallbackCartesiaTranscriberModel = typing.Union[typing.Literal["ink-whisper"], typing.Any] +FallbackCartesiaTranscriberModel = typing.Union[typing.Literal["ink-whisper", "ink-2"], typing.Any] diff --git a/src/vapi/types/fallback_cartesia_voice.py b/src/vapi/types/fallback_cartesia_voice.py index 64c4f18d..6271cd4f 100644 --- a/src/vapi/types/fallback_cartesia_voice.py +++ b/src/vapi/types/fallback_cartesia_voice.py @@ -15,6 +15,10 @@ class FallbackCartesiaVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Cartesia, including voice and model selection, language, generation controls, pronunciation dictionaries, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_cartesia_voice_model.py b/src/vapi/types/fallback_cartesia_voice_model.py index 52539936..d577a73d 100644 --- a/src/vapi/types/fallback_cartesia_voice_model.py +++ b/src/vapi/types/fallback_cartesia_voice_model.py @@ -4,6 +4,8 @@ FallbackCartesiaVoiceModel = typing.Union[ typing.Literal[ + "sonic-3.5", + "sonic-3.5-2026-05-04", "sonic-3", "sonic-3-2026-01-12", "sonic-3-2025-10-27", diff --git a/src/vapi/types/fallback_custom_transcriber.py b/src/vapi/types/fallback_custom_transcriber.py index 1fd3b583..0258c13f 100644 --- a/src/vapi/types/fallback_custom_transcriber.py +++ b/src/vapi/types/fallback_custom_transcriber.py @@ -9,6 +9,10 @@ class FallbackCustomTranscriber(UncheckedBaseModel): + """ + Fallback configuration for sending conversation audio to a custom WebSocket transcription server. + """ + server: Server = pydantic.Field() """ This is where the transcription request will be sent. diff --git a/src/vapi/types/fallback_custom_voice.py b/src/vapi/types/fallback_custom_voice.py index 08efb6c9..b81a2c17 100644 --- a/src/vapi/types/fallback_custom_voice.py +++ b/src/vapi/types/fallback_custom_voice.py @@ -12,6 +12,10 @@ class FallbackCustomVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech through a custom server, including voice selection, server connection, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_deepgram_transcriber.py b/src/vapi/types/fallback_deepgram_transcriber.py index 969a3f1a..02bb1a84 100644 --- a/src/vapi/types/fallback_deepgram_transcriber.py +++ b/src/vapi/types/fallback_deepgram_transcriber.py @@ -9,9 +9,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .fallback_deepgram_transcriber_redaction_item import FallbackDeepgramTranscriberRedactionItem class FallbackDeepgramTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Deepgram, including model, language, formatting, endpointing, and vocabulary. + """ + model: typing.Optional[DeepgramTranscriberModel] = pydantic.Field(default=None) """ This is the Deepgram model that will be used. A list of models can be found here: https://developers.deepgram.com/docs/models-languages-overview @@ -53,6 +58,22 @@ class FallbackDeepgramTranscriber(UncheckedBaseModel): description='If set to true, Deepgram will replace profanity in transcripts with surrounding asterisks, e.g. "f***".\n\n@default false', ), ] = None + redaction: typing.Optional[typing.List[FallbackDeepgramTranscriberRedactionItem]] = pydantic.Field(default=None) + """ + Enables redaction of sensitive information from transcripts. + + Options include: + - "pci": Redacts credit card numbers, expiration dates, and CVV. + - "pii": Redacts personally identifiable information (names, locations, identifying numbers, etc.). + - "phi": Redacts protected health information (medical conditions, drugs, injuries, etc.). + - "numbers": Redacts numerical and identifying entities (dates, account numbers, SSNs, etc.). + + Multiple values can be provided to redact different categories simultaneously. + Redacted content is replaced with entity labels like [CREDIT_CARD_1], [SSN_1], etc. + + See https://developers.deepgram.com/docs/redaction for details. + """ + confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), @@ -61,14 +82,6 @@ class FallbackDeepgramTranscriber(UncheckedBaseModel): description="Transcripts below this confidence threshold will be discarded.\n\n@default 0.4", ), ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="eagerEotThreshold"), - pydantic.Field( - alias="eagerEotThreshold", - description="Eager end-of-turn confidence required to fire a eager end-of-turn event. Setting a value here will enable EagerEndOfTurn and SpeechResumed events. It is disabled by default. Only used with Flux models.", - ), - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), @@ -85,6 +98,13 @@ class FallbackDeepgramTranscriber(UncheckedBaseModel): description="A turn will be finished when this much time has passed after speech, regardless of EOT confidence. Only used with Flux models.\n\n@default 5000", ), ] = None + languages: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Language hints to bias Flux Multilingual (`flux-general-multi`) toward specific languages. + Provide BCP-47 language codes (e.g. "en", "es", "fr"). Multiple hints can be given for + multilingual or code-switching scenarios. Omit for auto-detection. Only used with `flux-general-multi`. + """ + keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here. diff --git a/src/vapi/types/fallback_deepgram_transcriber_redaction_item.py b/src/vapi/types/fallback_deepgram_transcriber_redaction_item.py new file mode 100644 index 00000000..6302f4b3 --- /dev/null +++ b/src/vapi/types/fallback_deepgram_transcriber_redaction_item.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackDeepgramTranscriberRedactionItem = typing.Union[typing.Literal["pci", "pii", "phi", "numbers"], typing.Any] diff --git a/src/vapi/types/fallback_deepgram_voice.py b/src/vapi/types/fallback_deepgram_voice.py index 95c44fbf..9ee7d811 100644 --- a/src/vapi/types/fallback_deepgram_voice.py +++ b/src/vapi/types/fallback_deepgram_voice.py @@ -13,6 +13,10 @@ class FallbackDeepgramVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Deepgram, including voice and model selection, model-improvement preferences, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_deepgram_voice_id.py b/src/vapi/types/fallback_deepgram_voice_id.py index bb453fd3..7153c0a6 100644 --- a/src/vapi/types/fallback_deepgram_voice_id.py +++ b/src/vapi/types/fallback_deepgram_voice_id.py @@ -59,6 +59,13 @@ "aquila", "selena", "javier", + "viktoria", + "kara", + "fabian", + "julius", + "lara", + "elara", + "aurelia", ], typing.Any, ] diff --git a/src/vapi/types/fallback_eleven_labs_transcriber.py b/src/vapi/types/fallback_eleven_labs_transcriber.py index 451db34e..66c9eea4 100644 --- a/src/vapi/types/fallback_eleven_labs_transcriber.py +++ b/src/vapi/types/fallback_eleven_labs_transcriber.py @@ -12,6 +12,10 @@ class FallbackElevenLabsTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with ElevenLabs, including model, language, and speech thresholds. + """ + model: typing.Optional[FallbackElevenLabsTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/fallback_eleven_labs_voice.py b/src/vapi/types/fallback_eleven_labs_voice.py index 8a6c9d13..75a7a9b4 100644 --- a/src/vapi/types/fallback_eleven_labs_voice.py +++ b/src/vapi/types/fallback_eleven_labs_voice.py @@ -14,6 +14,10 @@ class FallbackElevenLabsVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with ElevenLabs, including voice and model selection, language, voice tuning, streaming, Speech Synthesis Markup Language parsing, pronunciation dictionaries, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_gladia_transcriber.py b/src/vapi/types/fallback_gladia_transcriber.py index 69e608a5..f022dcdf 100644 --- a/src/vapi/types/fallback_gladia_transcriber.py +++ b/src/vapi/types/fallback_gladia_transcriber.py @@ -9,13 +9,17 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .fallback_gladia_transcriber_language import FallbackGladiaTranscriberLanguage from .fallback_gladia_transcriber_language_behaviour import FallbackGladiaTranscriberLanguageBehaviour -from .fallback_gladia_transcriber_languages import FallbackGladiaTranscriberLanguages +from .fallback_gladia_transcriber_languages_item import FallbackGladiaTranscriberLanguagesItem from .fallback_gladia_transcriber_model import FallbackGladiaTranscriberModel from .fallback_gladia_transcriber_region import FallbackGladiaTranscriberRegion from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto class FallbackGladiaTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Gladia, including language behavior, audio processing, endpointing, vocabulary, and region. + """ + model: typing.Optional[FallbackGladiaTranscriberModel] = pydantic.Field(default=None) """ This is the Gladia model that will be used. Default is 'fast' @@ -34,7 +38,7 @@ class FallbackGladiaTranscriber(UncheckedBaseModel): Defines the language to use for the transcription. Required when languageBehaviour is 'manual'. """ - languages: typing.Optional[FallbackGladiaTranscriberLanguages] = pydantic.Field(default=None) + languages: typing.Optional[typing.List[FallbackGladiaTranscriberLanguagesItem]] = pydantic.Field(default=None) """ Defines the languages to use for the transcription. Required when languageBehaviour is 'manual'. """ diff --git a/src/vapi/types/fallback_gladia_transcriber_languages.py b/src/vapi/types/fallback_gladia_transcriber_languages_item.py similarity index 96% rename from src/vapi/types/fallback_gladia_transcriber_languages.py rename to src/vapi/types/fallback_gladia_transcriber_languages_item.py index dcaf410d..198a4f39 100644 --- a/src/vapi/types/fallback_gladia_transcriber_languages.py +++ b/src/vapi/types/fallback_gladia_transcriber_languages_item.py @@ -2,7 +2,7 @@ import typing -FallbackGladiaTranscriberLanguages = typing.Union[ +FallbackGladiaTranscriberLanguagesItem = typing.Union[ typing.Literal[ "af", "sq", diff --git a/src/vapi/types/fallback_google_transcriber.py b/src/vapi/types/fallback_google_transcriber.py index dbb53c41..21add710 100644 --- a/src/vapi/types/fallback_google_transcriber.py +++ b/src/vapi/types/fallback_google_transcriber.py @@ -10,6 +10,10 @@ class FallbackGoogleTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Google, including model and language. + """ + model: typing.Optional[FallbackGoogleTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/fallback_google_transcriber_model.py b/src/vapi/types/fallback_google_transcriber_model.py index 00679f7e..17632e97 100644 --- a/src/vapi/types/fallback_google_transcriber_model.py +++ b/src/vapi/types/fallback_google_transcriber_model.py @@ -4,6 +4,8 @@ FallbackGoogleTranscriberModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/fallback_hume_voice.py b/src/vapi/types/fallback_hume_voice.py index a5fe4279..ea7a980b 100644 --- a/src/vapi/types/fallback_hume_voice.py +++ b/src/vapi/types/fallback_hume_voice.py @@ -12,6 +12,10 @@ class FallbackHumeVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Hume, including model and voice selection, custom voice metadata, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_inworld_voice.py b/src/vapi/types/fallback_inworld_voice.py index 6e05a5d9..ee60a963 100644 --- a/src/vapi/types/fallback_inworld_voice.py +++ b/src/vapi/types/fallback_inworld_voice.py @@ -14,6 +14,10 @@ class FallbackInworldVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Inworld, including voice and model selection, language, temperature, speaking rate, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_lmnt_voice.py b/src/vapi/types/fallback_lmnt_voice.py index 72a1b8e0..0b2318ab 100644 --- a/src/vapi/types/fallback_lmnt_voice.py +++ b/src/vapi/types/fallback_lmnt_voice.py @@ -13,6 +13,10 @@ class FallbackLmntVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with LMNT, including voice selection, language, speed, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_microsoft_voice.py b/src/vapi/types/fallback_microsoft_voice.py new file mode 100644 index 00000000..7ae1dd15 --- /dev/null +++ b/src/vapi/types/fallback_microsoft_voice.py @@ -0,0 +1,68 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .chunk_plan import ChunkPlan +from .fallback_microsoft_voice_role import FallbackMicrosoftVoiceRole +from .fallback_microsoft_voice_style import FallbackMicrosoftVoiceStyle +from .fallback_microsoft_voice_voice_id import FallbackMicrosoftVoiceVoiceId + + +class FallbackMicrosoftVoice(UncheckedBaseModel): + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="cachingEnabled"), + pydantic.Field( + alias="cachingEnabled", description="This is the flag to toggle voice caching for the assistant." + ), + ] = None + voice_id: typing_extensions.Annotated[ + FallbackMicrosoftVoiceVoiceId, + FieldMetadata(alias="voiceId"), + pydantic.Field(alias="voiceId", description="MAI-Voice-2 voice ID. Built-in voices listed in enum."), + ] + style: typing.Optional[FallbackMicrosoftVoiceStyle] = pydantic.Field(default=None) + """ + Speaking style applied via mstts:express-as on every request. Unknown styles are ignored by Azure and fall back to neutral. + """ + + style_degree: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="styleDegree"), + pydantic.Field( + alias="styleDegree", + description="Style intensity (0.01–2). Default 1 = the predefined style strength. Only applies when `style` is set.", + ), + ] = None + role: typing.Optional[FallbackMicrosoftVoiceRole] = pydantic.Field(default=None) + """ + Role-play (age/gender imitation). Requires `style` to be set; ignored otherwise. + """ + + speed: typing.Optional[float] = pydantic.Field(default=None) + """ + This is the speed multiplier that will be used. + """ + + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], + FieldMetadata(alias="chunkPlan"), + pydantic.Field( + alias="chunkPlan", + description="This is the plan for chunking the model output before it is sent to the voice provider.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/fallback_microsoft_voice_role.py b/src/vapi/types/fallback_microsoft_voice_role.py new file mode 100644 index 00000000..b5d9ab49 --- /dev/null +++ b/src/vapi/types/fallback_microsoft_voice_role.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackMicrosoftVoiceRole = typing.Union[ + typing.Literal[ + "Girl", + "Boy", + "YoungAdultFemale", + "YoungAdultMale", + "OlderAdultFemale", + "OlderAdultMale", + "SeniorFemale", + "SeniorMale", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_microsoft_voice_style.py b/src/vapi/types/fallback_microsoft_voice_style.py new file mode 100644 index 00000000..46ae49f1 --- /dev/null +++ b/src/vapi/types/fallback_microsoft_voice_style.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackMicrosoftVoiceStyle = typing.Union[ + typing.Literal[ + "adventurous", + "angry", + "caring", + "cheerful", + "confused", + "curious", + "determined", + "disappointed", + "disgusted", + "embarrassed", + "empathy", + "encouraging", + "excited", + "fearful", + "friendly", + "happy", + "hopeful", + "jealous", + "joyful", + "nostalgic", + "reflective", + "regretful", + "relieved", + "sad", + "serious", + "shouting", + "softvoice", + "surprised", + "whispering", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_microsoft_voice_voice_id.py b/src/vapi/types/fallback_microsoft_voice_voice_id.py new file mode 100644 index 00000000..3bfcc0df --- /dev/null +++ b/src/vapi/types/fallback_microsoft_voice_voice_id.py @@ -0,0 +1,55 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackMicrosoftVoiceVoiceId = typing.Union[ + typing.Literal[ + "de-DE-Klaus:MAI-Voice-2", + "de-DE-Mia:MAI-Voice-2", + "en-AU-Lisa:MAI-Voice-2", + "en-US-Ethan:MAI-Voice-2", + "en-US-Grant:MAI-Voice-2", + "en-US-Harper:MAI-Voice-2", + "en-US-Iris:MAI-Voice-2", + "en-US-Jasper:MAI-Voice-2", + "en-US-Olivia:MAI-Voice-2", + "es-ES-Marta:MAI-Voice-2", + "es-MX-Alejo:MAI-Voice-2", + "es-MX-Valeria:MAI-Voice-2", + "fr-FR-Marc:MAI-Voice-2", + "fr-FR-Soleil:MAI-Voice-2", + "hi-IN-Arjun:MAI-Voice-2", + "hi-IN-Dhruv:MAI-Voice-2", + "hi-IN-Kavya:MAI-Voice-2", + "hi-IN-Priya:MAI-Voice-2", + "hu-HU-Bence:MAI-Voice-2", + "hu-HU-Levente:MAI-Voice-2", + "hu-HU-Lilla:MAI-Voice-2", + "hu-HU-Réka:MAI-Voice-2", + "it-IT-Luca:MAI-Voice-2", + "it-IT-Rosa:MAI-Voice-2", + "ko-KR-Hana:MAI-Voice-2", + "ko-KR-Junho:MAI-Voice-2", + "nl-NL-Fleur:MAI-Voice-2", + "nl-NL-Sander:MAI-Voice-2", + "pt-BR-Caio:MAI-Voice-2", + "pt-BR-Luana:MAI-Voice-2", + "pt-BR-Pedro:MAI-Voice-2", + "pt-BR-Rafael:MAI-Voice-2", + "pt-PT-Rui:MAI-Voice-2", + "ro-RO-Andrei:MAI-Voice-2", + "ro-RO-Elena:MAI-Voice-2", + "ro-RO-Ioana:MAI-Voice-2", + "ro-RO-Radu:MAI-Voice-2", + "ru-RU-Lev:MAI-Voice-2", + "ru-RU-Masha:MAI-Voice-2", + "th-TH-Krit:MAI-Voice-2", + "th-TH-Nattapong:MAI-Voice-2", + "tr-TR-Aydin:MAI-Voice-2", + "tr-TR-Elif:MAI-Voice-2", + "zh-CN-Bo:MAI-Voice-2", + "zh-CN-Lan:MAI-Voice-2", + "zh-CN-Mei:MAI-Voice-2", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_neuphonic_voice.py b/src/vapi/types/fallback_neuphonic_voice.py index eb5bd169..6638592f 100644 --- a/src/vapi/types/fallback_neuphonic_voice.py +++ b/src/vapi/types/fallback_neuphonic_voice.py @@ -12,6 +12,10 @@ class FallbackNeuphonicVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Neuphonic, including voice and model selection, language, speed, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_open_ai_transcriber.py b/src/vapi/types/fallback_open_ai_transcriber.py index 382b2658..181c8849 100644 --- a/src/vapi/types/fallback_open_ai_transcriber.py +++ b/src/vapi/types/fallback_open_ai_transcriber.py @@ -10,6 +10,10 @@ class FallbackOpenAiTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with OpenAI, including model and language. + """ + model: FallbackOpenAiTranscriberModel = pydantic.Field() """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/fallback_open_ai_voice.py b/src/vapi/types/fallback_open_ai_voice.py index 29d6833d..9d3e15cf 100644 --- a/src/vapi/types/fallback_open_ai_voice.py +++ b/src/vapi/types/fallback_open_ai_voice.py @@ -13,6 +13,10 @@ class FallbackOpenAiVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with OpenAI, including voice and model selection, delivery instructions, speed, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_plan.py b/src/vapi/types/fallback_plan.py index 01bd7393..8eaef544 100644 --- a/src/vapi/types/fallback_plan.py +++ b/src/vapi/types/fallback_plan.py @@ -9,6 +9,10 @@ class FallbackPlan(UncheckedBaseModel): + """ + Lists backup voice configurations that can be used if the primary voice provider fails. + """ + voices: typing.List[FallbackPlanVoicesItem] = pydantic.Field() """ This is the list of voices to fallback to in the event that the primary voice provider fails. diff --git a/src/vapi/types/fallback_plan_voices_item.py b/src/vapi/types/fallback_plan_voices_item.py index 69c3626e..ec725fc1 100644 --- a/src/vapi/types/fallback_plan_voices_item.py +++ b/src/vapi/types/fallback_plan_voices_item.py @@ -26,6 +26,9 @@ from .fallback_inworld_voice_voice_id import FallbackInworldVoiceVoiceId from .fallback_lmnt_voice_id import FallbackLmntVoiceId from .fallback_lmnt_voice_language import FallbackLmntVoiceLanguage +from .fallback_microsoft_voice_role import FallbackMicrosoftVoiceRole +from .fallback_microsoft_voice_style import FallbackMicrosoftVoiceStyle +from .fallback_microsoft_voice_voice_id import FallbackMicrosoftVoiceVoiceId from .fallback_neuphonic_voice_model import FallbackNeuphonicVoiceModel from .fallback_open_ai_voice_id import FallbackOpenAiVoiceId from .fallback_open_ai_voice_model import FallbackOpenAiVoiceModel @@ -40,8 +43,12 @@ from .fallback_smallest_ai_voice_id import FallbackSmallestAiVoiceId from .fallback_smallest_ai_voice_model import FallbackSmallestAiVoiceModel from .fallback_tavus_voice_voice_id import FallbackTavusVoiceVoiceId +from .fallback_vapi_voice_language import FallbackVapiVoiceLanguage +from .fallback_vapi_voice_version import FallbackVapiVoiceVersion from .fallback_vapi_voice_voice_id import FallbackVapiVoiceVoiceId from .fallback_well_said_voice_model import FallbackWellSaidVoiceModel +from .fallback_xai_voice_language import FallbackXaiVoiceLanguage +from .fallback_xai_voice_voice_id import FallbackXaiVoiceVoiceId from .server import Server from .tavus_conversation_properties import TavusConversationProperties from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator @@ -239,7 +246,9 @@ class FallbackPlanVoicesItem_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ FallbackVapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[FallbackVapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[FallbackVapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -550,6 +559,58 @@ class Config: extra = pydantic.Extra.allow +class FallbackPlanVoicesItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + FallbackXaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[FallbackXaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 FallbackPlanVoicesItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + FallbackMicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[FallbackMicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[FallbackMicrosoftVoiceRole] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 + + FallbackPlanVoicesItem = typing_extensions.Annotated[ typing.Union[ FallbackPlanVoicesItem_Azure, @@ -569,6 +630,8 @@ class Config: FallbackPlanVoicesItem_Neuphonic, FallbackPlanVoicesItem_Sesame, FallbackPlanVoicesItem_Inworld, + FallbackPlanVoicesItem_Xai, + FallbackPlanVoicesItem_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/fallback_play_ht_voice.py b/src/vapi/types/fallback_play_ht_voice.py index a3493d74..64315d72 100644 --- a/src/vapi/types/fallback_play_ht_voice.py +++ b/src/vapi/types/fallback_play_ht_voice.py @@ -15,6 +15,10 @@ class FallbackPlayHtVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with PlayHT, including voice and model selection, language, emotion and style guidance, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_rime_ai_voice.py b/src/vapi/types/fallback_rime_ai_voice.py index 34013dc0..0197714c 100644 --- a/src/vapi/types/fallback_rime_ai_voice.py +++ b/src/vapi/types/fallback_rime_ai_voice.py @@ -14,6 +14,10 @@ class FallbackRimeAiVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Rime AI, including voice and model selection, language, speed, pauses, phonemization, latency, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_sesame_voice.py b/src/vapi/types/fallback_sesame_voice.py index 3ebd8d5e..41e834ff 100644 --- a/src/vapi/types/fallback_sesame_voice.py +++ b/src/vapi/types/fallback_sesame_voice.py @@ -12,6 +12,10 @@ class FallbackSesameVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Sesame, including voice and model selection, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_smallest_ai_voice.py b/src/vapi/types/fallback_smallest_ai_voice.py index 4c982e34..578f0cce 100644 --- a/src/vapi/types/fallback_smallest_ai_voice.py +++ b/src/vapi/types/fallback_smallest_ai_voice.py @@ -13,6 +13,10 @@ class FallbackSmallestAiVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Smallest AI, including voice and model selection, speed, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_soniox_transcriber.py b/src/vapi/types/fallback_soniox_transcriber.py index 36583c94..fb176baa 100644 --- a/src/vapi/types/fallback_soniox_transcriber.py +++ b/src/vapi/types/fallback_soniox_transcriber.py @@ -8,10 +8,16 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .fallback_soniox_transcriber_language import FallbackSonioxTranscriberLanguage +from .fallback_soniox_transcriber_languages_item import FallbackSonioxTranscriberLanguagesItem from .fallback_soniox_transcriber_model import FallbackSonioxTranscriberModel +from .soniox_context_general_item import SonioxContextGeneralItem class FallbackSonioxTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Soniox, including model, language detection, endpointing, and vocabulary. + """ + model: typing.Optional[FallbackSonioxTranscriberModel] = pydantic.Field(default=None) """ The Soniox model to use for transcription. @@ -19,7 +25,12 @@ class FallbackSonioxTranscriber(UncheckedBaseModel): language: typing.Optional[FallbackSonioxTranscriberLanguage] = pydantic.Field(default=None) """ - The language for transcription. Uses ISO 639-1 codes. Soniox supports 60+ languages with a single universal model. + Single language for transcription as an ISO 639-1 code (e.g., `en`, `es`). For multi-language hints or to enable Soniox auto-detect, use `languages` instead — when `languages` is set (including to an empty array), this field is ignored when building the Soniox request. Defaults to `en` if neither this nor `languages` is set. + """ + + languages: typing.Optional[typing.List[FallbackSonioxTranscriberLanguagesItem]] = pydantic.Field(default=None) + """ + Language hints sent to Soniox as `language_hints`. Provide `[lang1, lang2, ...]` (ISO 639-1 codes) to bias recognition toward specific languages, or provide an explicit empty array `[]` to enable Soniox auto-detect across all 60+ supported languages. When set (including the empty array), this field takes precedence over the singular `language` field. When omitted, falls back to the singular `language` (which defaults to `en` if also unset). Best accuracy is achieved with a single language. """ language_hints_strict: typing_extensions.Annotated[ @@ -27,7 +38,7 @@ class FallbackSonioxTranscriber(UncheckedBaseModel): FieldMetadata(alias="languageHintsStrict"), pydantic.Field( alias="languageHintsStrict", - description="When enabled, restricts transcription to the language specified in the language field. When disabled, the model can detect and transcribe any of 60+ supported languages. Defaults to true.", + description="When `true`, Soniox strictly restricts transcription to the languages in `languages` (or the singular `language` if `languages` is unset). When `false`, Soniox biases toward those languages but still allows transcription in other languages. Has no effect when no language hints are sent (e.g., `languages: []` for auto-detect). Defaults to `true` (strict mode).", ), ] = None max_endpoint_delay_ms: typing_extensions.Annotated[ @@ -46,6 +57,14 @@ class FallbackSonioxTranscriber(UncheckedBaseModel): description="Custom vocabulary terms to boost recognition accuracy. Useful for brand names, product names, and domain-specific terminology. Maps to Soniox context.terms.", ), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field( + alias="contextGeneral", + description="General context key-value pairs that guide the AI model during transcription. Helps adapt vocabulary to the correct domain, improving accuracy. Recommended: 10 or fewer pairs. Maps to Soniox context.general.", + ), + ] = 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/vapi/types/fallback_soniox_transcriber_languages_item.py b/src/vapi/types/fallback_soniox_transcriber_languages_item.py new file mode 100644 index 00000000..31510dd3 --- /dev/null +++ b/src/vapi/types/fallback_soniox_transcriber_languages_item.py @@ -0,0 +1,194 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackSonioxTranscriberLanguagesItem = typing.Union[ + typing.Literal[ + "aa", + "ab", + "ae", + "af", + "ak", + "am", + "an", + "ar", + "as", + "av", + "ay", + "az", + "ba", + "be", + "bg", + "bh", + "bi", + "bm", + "bn", + "bo", + "br", + "bs", + "ca", + "ce", + "ch", + "co", + "cr", + "cs", + "cu", + "cv", + "cy", + "da", + "de", + "dv", + "dz", + "ee", + "el", + "en", + "eo", + "es", + "et", + "eu", + "fa", + "ff", + "fi", + "fj", + "fo", + "fr", + "fy", + "ga", + "gd", + "gl", + "gn", + "gu", + "gv", + "ha", + "he", + "hi", + "ho", + "hr", + "ht", + "hu", + "hy", + "hz", + "ia", + "id", + "ie", + "ig", + "ii", + "ik", + "io", + "is", + "it", + "iu", + "ja", + "jv", + "ka", + "kg", + "ki", + "kj", + "kk", + "kl", + "km", + "kn", + "ko", + "kr", + "ks", + "ku", + "kv", + "kw", + "ky", + "la", + "lb", + "lg", + "li", + "ln", + "lo", + "lt", + "lu", + "lv", + "mg", + "mh", + "mi", + "mk", + "ml", + "mn", + "mr", + "ms", + "mt", + "my", + "na", + "nb", + "nd", + "ne", + "ng", + "nl", + "nn", + "no", + "nr", + "nv", + "ny", + "oc", + "oj", + "om", + "or", + "os", + "pa", + "pi", + "pl", + "ps", + "pt", + "qu", + "rm", + "rn", + "ro", + "ru", + "rw", + "sa", + "sc", + "sd", + "se", + "sg", + "si", + "sk", + "sl", + "sm", + "sn", + "so", + "sq", + "sr", + "ss", + "st", + "su", + "sv", + "sw", + "ta", + "te", + "tg", + "th", + "ti", + "tk", + "tl", + "tn", + "to", + "tr", + "ts", + "tt", + "tw", + "ty", + "ug", + "uk", + "ur", + "uz", + "ve", + "vi", + "vo", + "wa", + "wo", + "xh", + "yi", + "yue", + "yo", + "za", + "zh", + "zu", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_soniox_transcriber_model.py b/src/vapi/types/fallback_soniox_transcriber_model.py index 14d6b709..98517a15 100644 --- a/src/vapi/types/fallback_soniox_transcriber_model.py +++ b/src/vapi/types/fallback_soniox_transcriber_model.py @@ -2,4 +2,4 @@ import typing -FallbackSonioxTranscriberModel = typing.Union[typing.Literal["stt-rt-v4"], typing.Any] +FallbackSonioxTranscriberModel = typing.Union[typing.Literal["stt-rt-v4", "stt-rt-v5"], typing.Any] diff --git a/src/vapi/types/fallback_speechmatics_transcriber.py b/src/vapi/types/fallback_speechmatics_transcriber.py index e8e5952d..a248e114 100644 --- a/src/vapi/types/fallback_speechmatics_transcriber.py +++ b/src/vapi/types/fallback_speechmatics_transcriber.py @@ -16,12 +16,20 @@ class FallbackSpeechmaticsTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Speechmatics, including language, region, diarization, vocabulary, endpointing, and formatting. + """ + model: typing.Optional[FallbackSpeechmaticsTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. """ - language: typing.Optional[FallbackSpeechmaticsTranscriberLanguage] = None + language: typing.Optional[FallbackSpeechmaticsTranscriberLanguage] = pydantic.Field(default=None) + """ + Language used for transcription. Set to `auto` to detect the language automatically. + """ + operating_point: typing_extensions.Annotated[ typing.Optional[FallbackSpeechmaticsTranscriberOperatingPoint], FieldMetadata(alias="operatingPoint"), @@ -56,7 +64,10 @@ class FallbackSpeechmaticsTranscriber(UncheckedBaseModel): custom_vocabulary: typing_extensions.Annotated[ typing.List[SpeechmaticsCustomVocabularyItem], FieldMetadata(alias="customVocabulary"), - pydantic.Field(alias="customVocabulary"), + pydantic.Field( + alias="customVocabulary", + description="Words and phrases that Speechmatics should recognize more accurately, with optional phonetic alternatives.", + ), ] numeral_style: typing_extensions.Annotated[ typing.Optional[FallbackSpeechmaticsTranscriberNumeralStyle], diff --git a/src/vapi/types/fallback_talkscriber_transcriber.py b/src/vapi/types/fallback_talkscriber_transcriber.py index 097497c9..3a6c93d9 100644 --- a/src/vapi/types/fallback_talkscriber_transcriber.py +++ b/src/vapi/types/fallback_talkscriber_transcriber.py @@ -10,6 +10,10 @@ class FallbackTalkscriberTranscriber(UncheckedBaseModel): + """ + Fallback configuration for transcribing speech with Talkscriber, including model and language. + """ + model: typing.Optional[FallbackTalkscriberTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/fallback_tavus_voice.py b/src/vapi/types/fallback_tavus_voice.py index aaa81155..bf0ac9e5 100644 --- a/src/vapi/types/fallback_tavus_voice.py +++ b/src/vapi/types/fallback_tavus_voice.py @@ -13,6 +13,10 @@ class FallbackTavusVoice(UncheckedBaseModel): + """ + Fallback configuration for using Tavus as the assistant's voice provider, including persona, callback, context, greeting, conversation properties, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_transcriber_plan.py b/src/vapi/types/fallback_transcriber_plan.py index f5143a01..a81ddb43 100644 --- a/src/vapi/types/fallback_transcriber_plan.py +++ b/src/vapi/types/fallback_transcriber_plan.py @@ -9,7 +9,14 @@ class FallbackTranscriberPlan(UncheckedBaseModel): - transcribers: typing.List[FallbackTranscriberPlanTranscribersItem] + """ + Lists backup transcriber configurations that can be used if the primary transcriber fails. + """ + + transcribers: typing.Optional[typing.List[FallbackTranscriberPlanTranscribersItem]] = pydantic.Field(default=None) + """ + Transcriber configurations available when the primary transcriber fails. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/fallback_transcriber_plan_transcribers_item.py b/src/vapi/types/fallback_transcriber_plan_transcribers_item.py index 0f9d77d1..5ef0825a 100644 --- a/src/vapi/types/fallback_transcriber_plan_transcribers_item.py +++ b/src/vapi/types/fallback_transcriber_plan_transcribers_item.py @@ -17,11 +17,12 @@ from .fallback_azure_speech_transcriber_segmentation_strategy import FallbackAzureSpeechTranscriberSegmentationStrategy from .fallback_cartesia_transcriber_language import FallbackCartesiaTranscriberLanguage from .fallback_cartesia_transcriber_model import FallbackCartesiaTranscriberModel +from .fallback_deepgram_transcriber_redaction_item import FallbackDeepgramTranscriberRedactionItem from .fallback_eleven_labs_transcriber_language import FallbackElevenLabsTranscriberLanguage from .fallback_eleven_labs_transcriber_model import FallbackElevenLabsTranscriberModel from .fallback_gladia_transcriber_language import FallbackGladiaTranscriberLanguage from .fallback_gladia_transcriber_language_behaviour import FallbackGladiaTranscriberLanguageBehaviour -from .fallback_gladia_transcriber_languages import FallbackGladiaTranscriberLanguages +from .fallback_gladia_transcriber_languages_item import FallbackGladiaTranscriberLanguagesItem from .fallback_gladia_transcriber_model import FallbackGladiaTranscriberModel from .fallback_gladia_transcriber_region import FallbackGladiaTranscriberRegion from .fallback_google_transcriber_language import FallbackGoogleTranscriberLanguage @@ -29,6 +30,7 @@ from .fallback_open_ai_transcriber_language import FallbackOpenAiTranscriberLanguage from .fallback_open_ai_transcriber_model import FallbackOpenAiTranscriberModel from .fallback_soniox_transcriber_language import FallbackSonioxTranscriberLanguage +from .fallback_soniox_transcriber_languages_item import FallbackSonioxTranscriberLanguagesItem from .fallback_soniox_transcriber_model import FallbackSonioxTranscriberModel from .fallback_speechmatics_transcriber_language import FallbackSpeechmaticsTranscriberLanguage from .fallback_speechmatics_transcriber_model import FallbackSpeechmaticsTranscriberModel @@ -37,8 +39,11 @@ from .fallback_speechmatics_transcriber_region import FallbackSpeechmaticsTranscriberRegion from .fallback_talkscriber_transcriber_language import FallbackTalkscriberTranscriberLanguage from .fallback_talkscriber_transcriber_model import FallbackTalkscriberTranscriberModel +from .fallback_xai_transcriber_language import FallbackXaiTranscriberLanguage +from .fallback_xai_transcriber_model import FallbackXaiTranscriberModel from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem @@ -166,18 +171,17 @@ class FallbackTranscriberPlanTranscribersItem_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[FallbackDeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -232,7 +236,7 @@ class FallbackTranscriberPlanTranscribersItem_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[FallbackGladiaTranscriberLanguage] = None - languages: typing.Optional[FallbackGladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[FallbackGladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -388,6 +392,7 @@ class FallbackTranscriberPlanTranscribersItem_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[FallbackSonioxTranscriberModel] = None language: typing.Optional[FallbackSonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[FallbackSonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -399,6 +404,26 @@ class FallbackTranscriberPlanTranscribersItem_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = 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 FallbackTranscriberPlanTranscribersItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[FallbackXaiTranscriberModel] = None + language: typing.Optional[FallbackXaiTranscriberLanguage] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -424,6 +449,7 @@ class Config: FallbackTranscriberPlanTranscribersItem_Openai, FallbackTranscriberPlanTranscribersItem_Cartesia, FallbackTranscriberPlanTranscribersItem_Soniox, + FallbackTranscriberPlanTranscribersItem_Xai, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/fallback_vapi_voice.py b/src/vapi/types/fallback_vapi_voice.py index 63f97402..aadb7f8d 100644 --- a/src/vapi/types/fallback_vapi_voice.py +++ b/src/vapi/types/fallback_vapi_voice.py @@ -8,11 +8,17 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .chunk_plan import ChunkPlan +from .fallback_vapi_voice_language import FallbackVapiVoiceLanguage +from .fallback_vapi_voice_version import FallbackVapiVoiceVersion from .fallback_vapi_voice_voice_id import FallbackVapiVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator class FallbackVapiVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with Vapi, including voice selection, speed, pronunciation dictionary, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), @@ -25,6 +31,11 @@ class FallbackVapiVoice(UncheckedBaseModel): FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId", description="The voices provided by Vapi"), ] + version: typing.Optional[FallbackVapiVoiceVersion] = pydantic.Field(default=None) + """ + The Vapi voice routing generation. `latest` auto-updates to the newest generation; version 1 uses legacy mappings; version 2 can use xAI-backed voices when available. When omitted, Version 1 is used. Accepts the string channel ('latest', '1', '2'); legacy numeric values (1, 2) are also accepted and coerced to their string form. + """ + speed: typing.Optional[float] = pydantic.Field(default=None) """ This is the speed multiplier that will be used. @@ -32,6 +43,11 @@ class FallbackVapiVoice(UncheckedBaseModel): @default 1 """ + language: typing.Optional[FallbackVapiVoiceLanguage] = pydantic.Field(default=None) + """ + Language for Vapi voice synthesis. For Version 2, omit this field or set `auto` for automatic language detection. Version 1 supports legacy Vapi language values. + """ + pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), diff --git a/src/vapi/types/fallback_vapi_voice_language.py b/src/vapi/types/fallback_vapi_voice_language.py new file mode 100644 index 00000000..ece29b1c --- /dev/null +++ b/src/vapi/types/fallback_vapi_voice_language.py @@ -0,0 +1,66 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackVapiVoiceLanguage = typing.Union[ + typing.Literal[ + "en-US", + "en-GB", + "en-AU", + "en-CA", + "ja", + "zh", + "de", + "hi", + "fr-FR", + "fr-CA", + "ko", + "pt-BR", + "pt-PT", + "it", + "es-ES", + "es-MX", + "id", + "nl", + "tr", + "fil", + "pl", + "sv", + "bg", + "ro", + "ar-SA", + "ar-AE", + "cs", + "el", + "fi", + "hr", + "ms", + "sk", + "da", + "ta", + "uk", + "ru", + "hu", + "no", + "vi", + "auto", + "en", + "ar", + "ar-EG", + "bn", + "es", + "fr", + "gu", + "he", + "ka", + "kn", + "ml", + "mr", + "pa", + "pt", + "te", + "th", + "tl", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_vapi_voice_version.py b/src/vapi/types/fallback_vapi_voice_version.py new file mode 100644 index 00000000..01d5c28f --- /dev/null +++ b/src/vapi/types/fallback_vapi_voice_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackVapiVoiceVersion = typing.Union[typing.Literal["1", "2", "latest"], typing.Any] diff --git a/src/vapi/types/fallback_vapi_voice_voice_id.py b/src/vapi/types/fallback_vapi_voice_voice_id.py index ce7e1d2f..78321c38 100644 --- a/src/vapi/types/fallback_vapi_voice_voice_id.py +++ b/src/vapi/types/fallback_vapi_voice_voice_id.py @@ -6,25 +6,25 @@ typing.Literal[ "Clara", "Godfrey", + "Elliot", + "Savannah", + "Nico", + "Kai", + "Emma", + "Sagar", + "Neil", "Layla", "Sid", "Gustavo", - "Elliot", "Kylie", "Rohan", "Lily", - "Savannah", "Hana", "Neha", "Cole", "Harry", "Paige", "Spencer", - "Nico", - "Kai", - "Emma", - "Sagar", - "Neil", "Naina", "Leah", "Tara", diff --git a/src/vapi/types/fallback_well_said_voice.py b/src/vapi/types/fallback_well_said_voice.py index 299a3d8d..07097b17 100644 --- a/src/vapi/types/fallback_well_said_voice.py +++ b/src/vapi/types/fallback_well_said_voice.py @@ -12,6 +12,10 @@ class FallbackWellSaidVoice(UncheckedBaseModel): + """ + Fallback configuration for synthesizing assistant speech with WellSaid, including voice and model selection, Speech Synthesis Markup Language support, voice libraries, chunking, and caching. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/fallback_xai_transcriber.py b/src/vapi/types/fallback_xai_transcriber.py new file mode 100644 index 00000000..1f1c31d3 --- /dev/null +++ b/src/vapi/types/fallback_xai_transcriber.py @@ -0,0 +1,30 @@ +# 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 .fallback_xai_transcriber_language import FallbackXaiTranscriberLanguage +from .fallback_xai_transcriber_model import FallbackXaiTranscriberModel + + +class FallbackXaiTranscriber(UncheckedBaseModel): + model: typing.Optional[FallbackXaiTranscriberModel] = pydantic.Field(default=None) + """ + The xAI speech-to-text model to use. xAI currently exposes a single STT model — placeholder for future model selection. + """ + + language: typing.Optional[FallbackXaiTranscriberLanguage] = pydantic.Field(default=None) + """ + Single language for transcription as an ISO 639-1 code (e.g., `en`, `es`). Defaults to `en` if not set. xAI auto-detects when omitted via the API but Vapi defaults to English for deterministic behavior. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/fallback_xai_transcriber_language.py b/src/vapi/types/fallback_xai_transcriber_language.py new file mode 100644 index 00000000..d2658419 --- /dev/null +++ b/src/vapi/types/fallback_xai_transcriber_language.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackXaiTranscriberLanguage = typing.Union[ + typing.Literal[ + "ar", + "cs", + "da", + "nl", + "en", + "fil", + "fr", + "de", + "hi", + "id", + "it", + "ja", + "ko", + "mk", + "ms", + "fa", + "pl", + "pt", + "ro", + "ru", + "es", + "sv", + "th", + "tr", + "vi", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_xai_transcriber_model.py b/src/vapi/types/fallback_xai_transcriber_model.py new file mode 100644 index 00000000..9cb60cf3 --- /dev/null +++ b/src/vapi/types/fallback_xai_transcriber_model.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackXaiTranscriberModel = typing.Union[typing.Literal["default"], typing.Any] diff --git a/src/vapi/types/fallback_xai_voice.py b/src/vapi/types/fallback_xai_voice.py new file mode 100644 index 00000000..1e42e012 --- /dev/null +++ b/src/vapi/types/fallback_xai_voice.py @@ -0,0 +1,56 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .chunk_plan import ChunkPlan +from .fallback_xai_voice_language import FallbackXaiVoiceLanguage +from .fallback_xai_voice_voice_id import FallbackXaiVoiceVoiceId + + +class FallbackXaiVoice(UncheckedBaseModel): + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="cachingEnabled"), + pydantic.Field( + alias="cachingEnabled", description="This is the flag to toggle voice caching for the assistant." + ), + ] = None + voice_id: typing_extensions.Annotated[ + FallbackXaiVoiceVoiceId, + FieldMetadata(alias="voiceId"), + pydantic.Field( + alias="voiceId", description="Built-in voices: eve, ara, rex, sal, leo. Cloned voice IDs are also accepted." + ), + ] + language: typing.Optional[FallbackXaiVoiceLanguage] = pydantic.Field(default=None) + """ + BCP-47 language code for xAI TTS synthesis. + """ + + speed: typing.Optional[float] = pydantic.Field(default=None) + """ + Speed multiplier for xAI TTS synthesis. + """ + + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], + FieldMetadata(alias="chunkPlan"), + pydantic.Field( + alias="chunkPlan", + description="This is the plan for chunking the model output before it is sent to the voice provider.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/fallback_xai_voice_language.py b/src/vapi/types/fallback_xai_voice_language.py new file mode 100644 index 00000000..8f2c8992 --- /dev/null +++ b/src/vapi/types/fallback_xai_voice_language.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackXaiVoiceLanguage = typing.Union[ + typing.Literal[ + "auto", + "en", + "ar-EG", + "ar-SA", + "ar-AE", + "bn", + "zh", + "fr", + "de", + "hi", + "id", + "it", + "ja", + "ko", + "pt-BR", + "pt-PT", + "ru", + "es-MX", + "es-ES", + "tr", + "vi", + ], + typing.Any, +] diff --git a/src/vapi/types/fallback_xai_voice_voice_id.py b/src/vapi/types/fallback_xai_voice_voice_id.py new file mode 100644 index 00000000..8fda48d0 --- /dev/null +++ b/src/vapi/types/fallback_xai_voice_voice_id.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +FallbackXaiVoiceVoiceId = typing.Union[typing.Literal["eve", "ara", "rex", "sal", "leo"], typing.Any] diff --git a/src/vapi/types/file.py b/src/vapi/types/file.py index b97971c1..3b7bef5c 100644 --- a/src/vapi/types/file.py +++ b/src/vapi/types/file.py @@ -13,30 +13,80 @@ class File(UncheckedBaseModel): - object: typing.Optional[FileObject] = None - status: typing.Optional[FileStatus] = None + """ + An uploaded file record, including its processing status, storage details, extracted-text location, metadata, and lifecycle timestamps. + """ + + object: typing.Optional[FileObject] = pydantic.Field(default=None) + """ + The object type. This is always `file`. + """ + + status: typing.Optional[FileStatus] = pydantic.Field(default=None) + """ + The current processing status of the uploaded file. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the file. This is just for your own reference. """ original_name: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="originalName"), pydantic.Field(alias="originalName") + typing.Optional[str], + FieldMetadata(alias="originalName"), + pydantic.Field(alias="originalName", description="The original name of the uploaded file."), ] = None - bytes: typing.Optional[float] = None - purpose: typing.Optional[str] = None - mimetype: typing.Optional[str] = None - key: typing.Optional[str] = None - path: typing.Optional[str] = None - bucket: typing.Optional[str] = None - url: typing.Optional[str] = None + bytes: typing.Optional[float] = pydantic.Field(default=None) + """ + The size of the uploaded file in bytes. + """ + + purpose: typing.Optional[str] = pydantic.Field(default=None) + """ + The intended use assigned to the uploaded file. + """ + + mimetype: typing.Optional[str] = pydantic.Field(default=None) + """ + The MIME type of the uploaded file. + """ + + key: typing.Optional[str] = pydantic.Field(default=None) + """ + The object-storage key for the uploaded file. + """ + + path: typing.Optional[str] = pydantic.Field(default=None) + """ + The object-storage path for the uploaded file. + """ + + bucket: typing.Optional[str] = pydantic.Field(default=None) + """ + The object-storage bucket containing the uploaded file. + """ + + url: typing.Optional[str] = pydantic.Field(default=None) + """ + The URL used to access the uploaded file. + """ + parsed_text_url: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="parsedTextUrl"), pydantic.Field(alias="parsedTextUrl") + typing.Optional[str], + FieldMetadata(alias="parsedTextUrl"), + pydantic.Field(alias="parsedTextUrl", description="The URL used to access text extracted from the file."), ] = None parsed_text_bytes: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="parsedTextBytes"), pydantic.Field(alias="parsedTextBytes") + typing.Optional[float], + FieldMetadata(alias="parsedTextBytes"), + pydantic.Field(alias="parsedTextBytes", description="The size of the extracted text in bytes."), ] = None - metadata: typing.Optional[typing.Dict[str, typing.Any]] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + Additional metadata associated with the uploaded file. + """ + id: str = pydantic.Field() """ This is the unique identifier for the file. diff --git a/src/vapi/types/filter_date_type_column_on_call_table.py b/src/vapi/types/filter_date_type_column_on_call_table.py index ee66f6a5..78cedd92 100644 --- a/src/vapi/types/filter_date_type_column_on_call_table.py +++ b/src/vapi/types/filter_date_type_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterDateTypeColumnOnCallTable(UncheckedBaseModel): + """ + Filters call records by comparing a start or end timestamp with a date. + """ + column: FilterDateTypeColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/filter_number_array_type_column_on_call_table.py b/src/vapi/types/filter_number_array_type_column_on_call_table.py index 5014fdfe..b4fd4b44 100644 --- a/src/vapi/types/filter_number_array_type_column_on_call_table.py +++ b/src/vapi/types/filter_number_array_type_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterNumberArrayTypeColumnOnCallTable(UncheckedBaseModel): + """ + Filters numeric call fields using a list of values or an emptiness test. + """ + column: FilterNumberArrayTypeColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/filter_number_type_column_on_call_table.py b/src/vapi/types/filter_number_type_column_on_call_table.py index 1d4990b4..293b49f4 100644 --- a/src/vapi/types/filter_number_type_column_on_call_table.py +++ b/src/vapi/types/filter_number_type_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterNumberTypeColumnOnCallTable(UncheckedBaseModel): + """ + Filters call records by comparing a numeric field with a value. + """ + column: FilterNumberTypeColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/filter_string_array_type_column_on_call_table.py b/src/vapi/types/filter_string_array_type_column_on_call_table.py index 5e788dcb..f0d5cb9f 100644 --- a/src/vapi/types/filter_string_array_type_column_on_call_table.py +++ b/src/vapi/types/filter_string_array_type_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterStringArrayTypeColumnOnCallTable(UncheckedBaseModel): + """ + Filters string-valued call fields using a list of values or an emptiness test. + """ + column: FilterStringArrayTypeColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/filter_string_type_column_on_call_table.py b/src/vapi/types/filter_string_type_column_on_call_table.py index 67541d8c..d760d7a8 100644 --- a/src/vapi/types/filter_string_type_column_on_call_table.py +++ b/src/vapi/types/filter_string_type_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterStringTypeColumnOnCallTable(UncheckedBaseModel): + """ + Filters call records by comparing or searching a string-valued field. + """ + column: FilterStringTypeColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/filter_structured_output_column_on_call_table.py b/src/vapi/types/filter_structured_output_column_on_call_table.py index 914a31d2..a49744d0 100644 --- a/src/vapi/types/filter_structured_output_column_on_call_table.py +++ b/src/vapi/types/filter_structured_output_column_on_call_table.py @@ -10,6 +10,10 @@ class FilterStructuredOutputColumnOnCallTable(UncheckedBaseModel): + """ + Filters a structured-output value stored on a call using comparison, membership, containment, or emptiness operators. + """ + column: FilterStructuredOutputColumnOnCallTableColumn = pydantic.Field() """ This is the column in the call table that will be filtered on. diff --git a/src/vapi/types/format_plan.py b/src/vapi/types/format_plan.py index 25374c8e..da26b168 100644 --- a/src/vapi/types/format_plan.py +++ b/src/vapi/types/format_plan.py @@ -12,6 +12,10 @@ class FormatPlan(UncheckedBaseModel): + """ + Controls text normalization before voice synthesis, including built-in formatters, number handling, and custom replacements. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ This determines whether the chunk is formatted before being sent to the voice provider. This helps with enunciation. This includes phone numbers, emails and addresses. Default `true`. diff --git a/src/vapi/types/fourier_denoising_plan.py b/src/vapi/types/fourier_denoising_plan.py index 96331093..d2c25039 100644 --- a/src/vapi/types/fourier_denoising_plan.py +++ b/src/vapi/types/fourier_denoising_plan.py @@ -10,6 +10,10 @@ class FourierDenoisingPlan(UncheckedBaseModel): + """ + Configuration for Fourier denoising, including media detection, thresholds, baseline calculation, and analysis window. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ Whether Fourier denoising is enabled. Note that this is experimental and may not work as expected. diff --git a/src/vapi/types/function_call_hook_action.py b/src/vapi/types/function_call_hook_action.py index fd8222c7..d9578b9a 100644 --- a/src/vapi/types/function_call_hook_action.py +++ b/src/vapi/types/function_call_hook_action.py @@ -21,9 +21,7 @@ class FunctionCallHookAction(UncheckedBaseModel): messages: typing.Optional[typing.List[FunctionCallHookActionMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: FunctionCallHookActionType = pydantic.Field() diff --git a/src/vapi/types/function_call_hook_action_messages_item.py b/src/vapi/types/function_call_hook_action_messages_item.py index 6368722d..f85ac812 100644 --- a/src/vapi/types/function_call_hook_action_messages_item.py +++ b/src/vapi/types/function_call_hook_action_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class FunctionCallHookActionMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class FunctionCallHookActionMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/function_tool.py b/src/vapi/types/function_tool.py index b80d9f39..f48da782 100644 --- a/src/vapi/types/function_tool.py +++ b/src/vapi/types/function_tool.py @@ -19,11 +19,16 @@ class FunctionTool(UncheckedBaseModel): + """ + A reusable custom function tool that sends model-generated arguments to a configured server and returns the result to the assistant. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[FunctionToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/function_tool_messages_item.py b/src/vapi/types/function_tool_messages_item.py index 7bbcc18b..32afb0a2 100644 --- a/src/vapi/types/function_tool_messages_item.py +++ b/src/vapi/types/function_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class FunctionToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class FunctionToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/function_tool_with_tool_call.py b/src/vapi/types/function_tool_with_tool_call.py index cdda4cac..1bf0203e 100644 --- a/src/vapi/types/function_tool_with_tool_call.py +++ b/src/vapi/types/function_tool_with_tool_call.py @@ -21,9 +21,7 @@ class FunctionToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[FunctionToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/function_tool_with_tool_call_messages_item.py b/src/vapi/types/function_tool_with_tool_call_messages_item.py index 55fa781e..f7722f66 100644 --- a/src/vapi/types/function_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/function_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class FunctionToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class FunctionToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/gcp_key.py b/src/vapi/types/gcp_key.py index 13f4043e..4ad5e143 100644 --- a/src/vapi/types/gcp_key.py +++ b/src/vapi/types/gcp_key.py @@ -10,6 +10,10 @@ class GcpKey(UncheckedBaseModel): + """ + Google Cloud service-account key used to authenticate access to Google Cloud resources. + """ + type: str = pydantic.Field() """ This is the type of the key. Most likely, this is "service_account". diff --git a/src/vapi/types/gemini_multimodal_live_prebuilt_voice_config.py b/src/vapi/types/gemini_multimodal_live_prebuilt_voice_config.py index 236a71ae..947ee124 100644 --- a/src/vapi/types/gemini_multimodal_live_prebuilt_voice_config.py +++ b/src/vapi/types/gemini_multimodal_live_prebuilt_voice_config.py @@ -11,10 +11,14 @@ class GeminiMultimodalLivePrebuiltVoiceConfig(UncheckedBaseModel): + """ + Selects a prebuilt voice for Gemini Multimodal Live audio output. + """ + voice_name: typing_extensions.Annotated[ GeminiMultimodalLivePrebuiltVoiceConfigVoiceName, FieldMetadata(alias="voiceName"), - pydantic.Field(alias="voiceName"), + pydantic.Field(alias="voiceName", description="Prebuilt Gemini voice used for audio output."), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/gemini_multimodal_live_speech_config.py b/src/vapi/types/gemini_multimodal_live_speech_config.py index 3cfbc912..66853814 100644 --- a/src/vapi/types/gemini_multimodal_live_speech_config.py +++ b/src/vapi/types/gemini_multimodal_live_speech_config.py @@ -11,8 +11,16 @@ class GeminiMultimodalLiveSpeechConfig(UncheckedBaseModel): + """ + Speech-output configuration for Gemini Multimodal Live. + """ + voice_config: typing_extensions.Annotated[ - GeminiMultimodalLiveVoiceConfig, FieldMetadata(alias="voiceConfig"), pydantic.Field(alias="voiceConfig") + GeminiMultimodalLiveVoiceConfig, + FieldMetadata(alias="voiceConfig"), + pydantic.Field( + alias="voiceConfig", description="Voice configuration used for Gemini Multimodal Live speech output." + ), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/gemini_multimodal_live_voice_config.py b/src/vapi/types/gemini_multimodal_live_voice_config.py index 44a28f07..24f8118a 100644 --- a/src/vapi/types/gemini_multimodal_live_voice_config.py +++ b/src/vapi/types/gemini_multimodal_live_voice_config.py @@ -11,10 +11,16 @@ class GeminiMultimodalLiveVoiceConfig(UncheckedBaseModel): + """ + Voice selection configuration for Gemini Multimodal Live. + """ + prebuilt_voice_config: typing_extensions.Annotated[ GeminiMultimodalLivePrebuiltVoiceConfig, FieldMetadata(alias="prebuiltVoiceConfig"), - pydantic.Field(alias="prebuiltVoiceConfig"), + pydantic.Field( + alias="prebuiltVoiceConfig", description="Prebuilt voice used for Gemini Multimodal Live speech output." + ), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/get_chat_paginated_dto.py b/src/vapi/types/get_chat_paginated_dto.py index ef76e9e4..d1b18ba0 100644 --- a/src/vapi/types/get_chat_paginated_dto.py +++ b/src/vapi/types/get_chat_paginated_dto.py @@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .get_chat_paginated_dto_sort_by import GetChatPaginatedDtoSortBy from .get_chat_paginated_dto_sort_order import GetChatPaginatedDtoSortOrder @@ -64,6 +65,11 @@ class GetChatPaginatedDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[GetChatPaginatedDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/get_chat_paginated_dto_sort_by.py b/src/vapi/types/get_chat_paginated_dto_sort_by.py new file mode 100644 index 00000000..92f2efa7 --- /dev/null +++ b/src/vapi/types/get_chat_paginated_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +GetChatPaginatedDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/get_eval_paginated_dto.py b/src/vapi/types/get_eval_paginated_dto.py index db48ac22..4a3b1dd2 100644 --- a/src/vapi/types/get_eval_paginated_dto.py +++ b/src/vapi/types/get_eval_paginated_dto.py @@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .get_eval_paginated_dto_sort_by import GetEvalPaginatedDtoSortBy from .get_eval_paginated_dto_sort_order import GetEvalPaginatedDtoSortOrder @@ -23,6 +24,11 @@ class GetEvalPaginatedDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[GetEvalPaginatedDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/get_eval_paginated_dto_sort_by.py b/src/vapi/types/get_eval_paginated_dto_sort_by.py new file mode 100644 index 00000000..c6158a4e --- /dev/null +++ b/src/vapi/types/get_eval_paginated_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +GetEvalPaginatedDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/get_eval_run_paginated_dto.py b/src/vapi/types/get_eval_run_paginated_dto.py index 5839ce34..e0ffe297 100644 --- a/src/vapi/types/get_eval_run_paginated_dto.py +++ b/src/vapi/types/get_eval_run_paginated_dto.py @@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .get_eval_run_paginated_dto_sort_by import GetEvalRunPaginatedDtoSortBy from .get_eval_run_paginated_dto_sort_order import GetEvalRunPaginatedDtoSortOrder @@ -23,6 +24,11 @@ class GetEvalRunPaginatedDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[GetEvalRunPaginatedDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/get_eval_run_paginated_dto_sort_by.py b/src/vapi/types/get_eval_run_paginated_dto_sort_by.py new file mode 100644 index 00000000..01d10533 --- /dev/null +++ b/src/vapi/types/get_eval_run_paginated_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +GetEvalRunPaginatedDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/get_session_paginated_dto.py b/src/vapi/types/get_session_paginated_dto.py index a11683dc..24afd2ce 100644 --- a/src/vapi/types/get_session_paginated_dto.py +++ b/src/vapi/types/get_session_paginated_dto.py @@ -11,6 +11,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .create_customer_dto import CreateCustomerDto +from .get_session_paginated_dto_sort_by import GetSessionPaginatedDtoSortBy from .get_session_paginated_dto_sort_order import GetSessionPaginatedDtoSortOrder @@ -84,6 +85,11 @@ class GetSessionPaginatedDto(UncheckedBaseModel): FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder", description="This is the sort order for pagination. Defaults to 'DESC'."), ] = None + sort_by: typing_extensions.Annotated[ + typing.Optional[GetSessionPaginatedDtoSortBy], + FieldMetadata(alias="sortBy"), + pydantic.Field(alias="sortBy", description="This is the column to sort by. Defaults to 'createdAt'."), + ] = None limit: typing.Optional[float] = pydantic.Field(default=None) """ This is the maximum number of items to return. Defaults to 100. diff --git a/src/vapi/types/get_session_paginated_dto_sort_by.py b/src/vapi/types/get_session_paginated_dto_sort_by.py new file mode 100644 index 00000000..d72c2c90 --- /dev/null +++ b/src/vapi/types/get_session_paginated_dto_sort_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +GetSessionPaginatedDtoSortBy = typing.Union[typing.Literal["createdAt", "duration", "cost"], typing.Any] diff --git a/src/vapi/types/get_tool_drafts_dto.py b/src/vapi/types/get_tool_drafts_dto.py new file mode 100644 index 00000000..4e3161f0 --- /dev/null +++ b/src/vapi/types/get_tool_drafts_dto.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class GetToolDraftsDto(UncheckedBaseModel): + cursor: typing.Optional[str] = pydantic.Field(default=None) + """ + Opaque base64-encoded keyset cursor. Omit on first page. + """ + + limit: typing.Optional[float] = pydantic.Field(default=None) + """ + Page size, defaults to 25, capped at 100. + """ + + created_by: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="createdBy"), pydantic.Field(alias="createdBy") + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/ghl_tool.py b/src/vapi/types/ghl_tool.py index cd8dbac4..08207523 100644 --- a/src/vapi/types/ghl_tool.py +++ b/src/vapi/types/ghl_tool.py @@ -17,11 +17,12 @@ class GhlTool(UncheckedBaseModel): + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GhlToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GhlToolType = pydantic.Field() diff --git a/src/vapi/types/ghl_tool_messages_item.py b/src/vapi/types/ghl_tool_messages_item.py index 16ef3fb1..49aa84d5 100644 --- a/src/vapi/types/ghl_tool_messages_item.py +++ b/src/vapi/types/ghl_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GhlToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GhlToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/ghl_tool_metadata.py b/src/vapi/types/ghl_tool_metadata.py index 2b88aa13..383ad1c9 100644 --- a/src/vapi/types/ghl_tool_metadata.py +++ b/src/vapi/types/ghl_tool_metadata.py @@ -10,11 +10,19 @@ class GhlToolMetadata(UncheckedBaseModel): + """ + GHL workflow and location identifiers attached to a tool. + """ + workflow_id: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + typing.Optional[str], + FieldMetadata(alias="workflowId"), + pydantic.Field(alias="workflowId", description="GHL workflow identifier associated with the tool."), ] = None location_id: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="locationId"), pydantic.Field(alias="locationId") + typing.Optional[str], + FieldMetadata(alias="locationId"), + pydantic.Field(alias="locationId", description="GHL location identifier associated with the tool."), ] = None if IS_PYDANTIC_V2: diff --git a/src/vapi/types/ghl_tool_with_tool_call.py b/src/vapi/types/ghl_tool_with_tool_call.py index 1b98dbec..0a8c6acf 100644 --- a/src/vapi/types/ghl_tool_with_tool_call.py +++ b/src/vapi/types/ghl_tool_with_tool_call.py @@ -18,9 +18,7 @@ class GhlToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[GhlToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ tool_call: typing_extensions.Annotated[ToolCall, FieldMetadata(alias="toolCall"), pydantic.Field(alias="toolCall")] diff --git a/src/vapi/types/ghl_tool_with_tool_call_messages_item.py b/src/vapi/types/ghl_tool_with_tool_call_messages_item.py index 0cf4fe58..033dd517 100644 --- a/src/vapi/types/ghl_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/ghl_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GhlToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GhlToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/gladia_custom_vocabulary_config_dto.py b/src/vapi/types/gladia_custom_vocabulary_config_dto.py index 06f5d160..554b08b5 100644 --- a/src/vapi/types/gladia_custom_vocabulary_config_dto.py +++ b/src/vapi/types/gladia_custom_vocabulary_config_dto.py @@ -11,6 +11,10 @@ class GladiaCustomVocabularyConfigDto(UncheckedBaseModel): + """ + Custom vocabulary configuration for Gladia transcription, including vocabulary items and default recognition intensity. + """ + vocabulary: typing.List[GladiaCustomVocabularyConfigDtoVocabularyItem] = pydantic.Field() """ Array of vocabulary items (strings or objects with value, pronunciations, intensity, language) diff --git a/src/vapi/types/gladia_transcriber.py b/src/vapi/types/gladia_transcriber.py index 14566ae4..eef16145 100644 --- a/src/vapi/types/gladia_transcriber.py +++ b/src/vapi/types/gladia_transcriber.py @@ -11,12 +11,16 @@ from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion class GladiaTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Gladia, including language behavior, audio processing, endpointing, vocabulary, region, and fallback settings. + """ + model: typing.Optional[GladiaTranscriberModel] = pydantic.Field(default=None) """ This is the Gladia model that will be used. Default is 'fast' @@ -35,7 +39,7 @@ class GladiaTranscriber(UncheckedBaseModel): Defines the language to use for the transcription. Required when languageBehaviour is 'manual'. """ - languages: typing.Optional[GladiaTranscriberLanguages] = pydantic.Field(default=None) + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = pydantic.Field(default=None) """ Defines the languages to use for the transcription. Required when languageBehaviour is 'manual'. """ diff --git a/src/vapi/types/gladia_transcriber_languages.py b/src/vapi/types/gladia_transcriber_languages_item.py similarity index 96% rename from src/vapi/types/gladia_transcriber_languages.py rename to src/vapi/types/gladia_transcriber_languages_item.py index 222f5d27..1200ef38 100644 --- a/src/vapi/types/gladia_transcriber_languages.py +++ b/src/vapi/types/gladia_transcriber_languages_item.py @@ -2,7 +2,7 @@ import typing -GladiaTranscriberLanguages = typing.Union[ +GladiaTranscriberLanguagesItem = typing.Union[ typing.Literal[ "af", "sq", diff --git a/src/vapi/types/gladia_vocabulary_item_dto.py b/src/vapi/types/gladia_vocabulary_item_dto.py index b39a742f..798f422d 100644 --- a/src/vapi/types/gladia_vocabulary_item_dto.py +++ b/src/vapi/types/gladia_vocabulary_item_dto.py @@ -8,6 +8,10 @@ class GladiaVocabularyItemDto(UncheckedBaseModel): + """ + A Gladia custom vocabulary word or phrase with optional pronunciations, intensity, and language. + """ + value: str = pydantic.Field() """ The vocabulary word or phrase diff --git a/src/vapi/types/global_node_plan.py b/src/vapi/types/global_node_plan.py index 1b146813..b1cc3381 100644 --- a/src/vapi/types/global_node_plan.py +++ b/src/vapi/types/global_node_plan.py @@ -10,6 +10,10 @@ class GlobalNodePlan(UncheckedBaseModel): + """ + Controls whether a conversation node can be entered globally and the condition evaluated before that node runs. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ This is the flag to determine if this node is a global node diff --git a/src/vapi/types/go_high_level_calendar_availability_tool.py b/src/vapi/types/go_high_level_calendar_availability_tool.py index 4402c2ce..0cb91e9e 100644 --- a/src/vapi/types/go_high_level_calendar_availability_tool.py +++ b/src/vapi/types/go_high_level_calendar_availability_tool.py @@ -15,13 +15,18 @@ class GoHighLevelCalendarAvailabilityTool(UncheckedBaseModel): + """ + A reusable tool that checks calendar availability in a connected GoHighLevel account. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarAvailabilityToolMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/go_high_level_calendar_availability_tool_messages_item.py b/src/vapi/types/go_high_level_calendar_availability_tool_messages_item.py index 9376ec08..5734141d 100644 --- a/src/vapi/types/go_high_level_calendar_availability_tool_messages_item.py +++ b/src/vapi/types/go_high_level_calendar_availability_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelCalendarAvailabilityToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelCalendarAvailabilityToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call.py b/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call.py index ce56fb43..d4fc60cc 100644 --- a/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call.py +++ b/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call.py @@ -24,9 +24,7 @@ class GoHighLevelCalendarAvailabilityToolWithToolCall(UncheckedBaseModel): pydantic.Field(default=None) ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GoHighLevelCalendarAvailabilityToolWithToolCallType = pydantic.Field() diff --git a/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.py b/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.py index 9a2f6976..709a8c37 100644 --- a/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelCalendarAvailabilityToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelCalendarAvailabilityToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_calendar_event_create_tool.py b/src/vapi/types/go_high_level_calendar_event_create_tool.py index bd9ee32a..72e96957 100644 --- a/src/vapi/types/go_high_level_calendar_event_create_tool.py +++ b/src/vapi/types/go_high_level_calendar_event_create_tool.py @@ -15,13 +15,18 @@ class GoHighLevelCalendarEventCreateTool(UncheckedBaseModel): + """ + A reusable tool that adds calendar events to a connected GoHighLevel account. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelCalendarEventCreateToolMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/go_high_level_calendar_event_create_tool_messages_item.py b/src/vapi/types/go_high_level_calendar_event_create_tool_messages_item.py index 5487a487..05921f13 100644 --- a/src/vapi/types/go_high_level_calendar_event_create_tool_messages_item.py +++ b/src/vapi/types/go_high_level_calendar_event_create_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelCalendarEventCreateToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelCalendarEventCreateToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call.py b/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call.py index da050af1..5a41cb2a 100644 --- a/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call.py +++ b/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call.py @@ -24,9 +24,7 @@ class GoHighLevelCalendarEventCreateToolWithToolCall(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GoHighLevelCalendarEventCreateToolWithToolCallType = pydantic.Field() diff --git a/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.py b/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.py index 9dc3e56b..de272579 100644 --- a/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelCalendarEventCreateToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelCalendarEventCreateToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_contact_create_tool.py b/src/vapi/types/go_high_level_contact_create_tool.py index 6bfa0939..2c823419 100644 --- a/src/vapi/types/go_high_level_contact_create_tool.py +++ b/src/vapi/types/go_high_level_contact_create_tool.py @@ -15,11 +15,16 @@ class GoHighLevelContactCreateTool(UncheckedBaseModel): + """ + A reusable tool that adds contacts to a connected GoHighLevel account. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactCreateToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/go_high_level_contact_create_tool_messages_item.py b/src/vapi/types/go_high_level_contact_create_tool_messages_item.py index 36512e55..3fc1399d 100644 --- a/src/vapi/types/go_high_level_contact_create_tool_messages_item.py +++ b/src/vapi/types/go_high_level_contact_create_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelContactCreateToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelContactCreateToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_contact_create_tool_with_tool_call.py b/src/vapi/types/go_high_level_contact_create_tool_with_tool_call.py index f764fd3a..ef56b39f 100644 --- a/src/vapi/types/go_high_level_contact_create_tool_with_tool_call.py +++ b/src/vapi/types/go_high_level_contact_create_tool_with_tool_call.py @@ -22,9 +22,7 @@ class GoHighLevelContactCreateToolWithToolCall(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GoHighLevelContactCreateToolWithToolCallType = pydantic.Field() diff --git a/src/vapi/types/go_high_level_contact_create_tool_with_tool_call_messages_item.py b/src/vapi/types/go_high_level_contact_create_tool_with_tool_call_messages_item.py index 8507c340..52b13127 100644 --- a/src/vapi/types/go_high_level_contact_create_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/go_high_level_contact_create_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelContactCreateToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelContactCreateToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_contact_get_tool.py b/src/vapi/types/go_high_level_contact_get_tool.py index b0105260..6246813e 100644 --- a/src/vapi/types/go_high_level_contact_get_tool.py +++ b/src/vapi/types/go_high_level_contact_get_tool.py @@ -15,11 +15,16 @@ class GoHighLevelContactGetTool(UncheckedBaseModel): + """ + A reusable tool that retrieves contacts from a connected GoHighLevel account. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoHighLevelContactGetToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/go_high_level_contact_get_tool_messages_item.py b/src/vapi/types/go_high_level_contact_get_tool_messages_item.py index dbed1fc9..b098e9e0 100644 --- a/src/vapi/types/go_high_level_contact_get_tool_messages_item.py +++ b/src/vapi/types/go_high_level_contact_get_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelContactGetToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelContactGetToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/go_high_level_contact_get_tool_with_tool_call.py b/src/vapi/types/go_high_level_contact_get_tool_with_tool_call.py index b4c324e7..e1544330 100644 --- a/src/vapi/types/go_high_level_contact_get_tool_with_tool_call.py +++ b/src/vapi/types/go_high_level_contact_get_tool_with_tool_call.py @@ -22,9 +22,7 @@ class GoHighLevelContactGetToolWithToolCall(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GoHighLevelContactGetToolWithToolCallType = pydantic.Field() diff --git a/src/vapi/types/go_high_level_contact_get_tool_with_tool_call_messages_item.py b/src/vapi/types/go_high_level_contact_get_tool_with_tool_call_messages_item.py index 2f428099..ec2afd02 100644 --- a/src/vapi/types/go_high_level_contact_get_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/go_high_level_contact_get_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoHighLevelContactGetToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoHighLevelContactGetToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_calendar_check_availability_tool.py b/src/vapi/types/google_calendar_check_availability_tool.py index c3fbc722..3d53653d 100644 --- a/src/vapi/types/google_calendar_check_availability_tool.py +++ b/src/vapi/types/google_calendar_check_availability_tool.py @@ -15,13 +15,18 @@ class GoogleCalendarCheckAvailabilityTool(UncheckedBaseModel): + """ + A reusable tool that checks availability in a connected Google Calendar. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCheckAvailabilityToolMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/google_calendar_check_availability_tool_messages_item.py b/src/vapi/types/google_calendar_check_availability_tool_messages_item.py index 598c6216..87e839e0 100644 --- a/src/vapi/types/google_calendar_check_availability_tool_messages_item.py +++ b/src/vapi/types/google_calendar_check_availability_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoogleCalendarCheckAvailabilityToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoogleCalendarCheckAvailabilityToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_calendar_create_event_tool.py b/src/vapi/types/google_calendar_create_event_tool.py index ecc09e7a..827d15c5 100644 --- a/src/vapi/types/google_calendar_create_event_tool.py +++ b/src/vapi/types/google_calendar_create_event_tool.py @@ -15,11 +15,16 @@ class GoogleCalendarCreateEventTool(UncheckedBaseModel): + """ + A reusable tool that adds events to a connected Google Calendar. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleCalendarCreateEventToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/google_calendar_create_event_tool_messages_item.py b/src/vapi/types/google_calendar_create_event_tool_messages_item.py index 20c9fed4..9029f154 100644 --- a/src/vapi/types/google_calendar_create_event_tool_messages_item.py +++ b/src/vapi/types/google_calendar_create_event_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoogleCalendarCreateEventToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoogleCalendarCreateEventToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_calendar_create_event_tool_with_tool_call.py b/src/vapi/types/google_calendar_create_event_tool_with_tool_call.py index d7006807..91528dd8 100644 --- a/src/vapi/types/google_calendar_create_event_tool_with_tool_call.py +++ b/src/vapi/types/google_calendar_create_event_tool_with_tool_call.py @@ -21,9 +21,7 @@ class GoogleCalendarCreateEventToolWithToolCall(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ tool_call: typing_extensions.Annotated[ToolCall, FieldMetadata(alias="toolCall"), pydantic.Field(alias="toolCall")] diff --git a/src/vapi/types/google_calendar_create_event_tool_with_tool_call_messages_item.py b/src/vapi/types/google_calendar_create_event_tool_with_tool_call_messages_item.py index e8a69100..1fc1636a 100644 --- a/src/vapi/types/google_calendar_create_event_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/google_calendar_create_event_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoogleCalendarCreateEventToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoogleCalendarCreateEventToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_model.py b/src/vapi/types/google_model.py index c1f075e8..20e350a0 100644 --- a/src/vapi/types/google_model.py +++ b/src/vapi/types/google_model.py @@ -13,9 +13,14 @@ from .google_model_model import GoogleModelModel from .google_realtime_config import GoogleRealtimeConfig from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class GoogleModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Google, including model, prompts, tools, knowledge-base access, realtime settings, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -36,6 +41,14 @@ class GoogleModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -56,7 +69,7 @@ class GoogleModel(UncheckedBaseModel): ] = None temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -112,8 +125,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -148,6 +165,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -171,8 +195,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -207,6 +235,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/google_model_model.py b/src/vapi/types/google_model_model.py index 10540e99..ca510fea 100644 --- a/src/vapi/types/google_model_model.py +++ b/src/vapi/types/google_model_model.py @@ -4,6 +4,8 @@ GoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/google_model_tools_item.py b/src/vapi/types/google_model_tools_item.py index 8217b73e..a200e9c7 100644 --- a/src/vapi/types/google_model_tools_item.py +++ b/src/vapi/types/google_model_tools_item.py @@ -67,6 +67,7 @@ class GoogleModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class GoogleModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/google_realtime_config.py b/src/vapi/types/google_realtime_config.py index 18818a3f..947cd528 100644 --- a/src/vapi/types/google_realtime_config.py +++ b/src/vapi/types/google_realtime_config.py @@ -11,6 +11,10 @@ class GoogleRealtimeConfig(UncheckedBaseModel): + """ + Realtime Gemini generation and speech-output settings, including sampling, repetition penalties, and voice configuration. + """ + top_p: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="topP"), diff --git a/src/vapi/types/google_sheets_row_append_tool.py b/src/vapi/types/google_sheets_row_append_tool.py index fc56b24b..216b68e4 100644 --- a/src/vapi/types/google_sheets_row_append_tool.py +++ b/src/vapi/types/google_sheets_row_append_tool.py @@ -15,11 +15,16 @@ class GoogleSheetsRowAppendTool(UncheckedBaseModel): + """ + A reusable tool that appends rows to a connected Google Sheet. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[GoogleSheetsRowAppendToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/google_sheets_row_append_tool_messages_item.py b/src/vapi/types/google_sheets_row_append_tool_messages_item.py index c5b6277b..e28a7c15 100644 --- a/src/vapi/types/google_sheets_row_append_tool_messages_item.py +++ b/src/vapi/types/google_sheets_row_append_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoogleSheetsRowAppendToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoogleSheetsRowAppendToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_sheets_row_append_tool_with_tool_call.py b/src/vapi/types/google_sheets_row_append_tool_with_tool_call.py index 228e8dfd..7dc802bf 100644 --- a/src/vapi/types/google_sheets_row_append_tool_with_tool_call.py +++ b/src/vapi/types/google_sheets_row_append_tool_with_tool_call.py @@ -22,9 +22,7 @@ class GoogleSheetsRowAppendToolWithToolCall(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: GoogleSheetsRowAppendToolWithToolCallType = pydantic.Field() diff --git a/src/vapi/types/google_sheets_row_append_tool_with_tool_call_messages_item.py b/src/vapi/types/google_sheets_row_append_tool_with_tool_call_messages_item.py index bbef2343..f57f4507 100644 --- a/src/vapi/types/google_sheets_row_append_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/google_sheets_row_append_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class GoogleSheetsRowAppendToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class GoogleSheetsRowAppendToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/google_transcriber.py b/src/vapi/types/google_transcriber.py index 092cb05c..c816f20a 100644 --- a/src/vapi/types/google_transcriber.py +++ b/src/vapi/types/google_transcriber.py @@ -13,6 +13,10 @@ class GoogleTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Google, including model, language, and fallback settings. + """ + model: typing.Optional[GoogleTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/google_transcriber_model.py b/src/vapi/types/google_transcriber_model.py index 783a8754..d406d174 100644 --- a/src/vapi/types/google_transcriber_model.py +++ b/src/vapi/types/google_transcriber_model.py @@ -4,6 +4,8 @@ GoogleTranscriberModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/google_voicemail_detection_plan.py b/src/vapi/types/google_voicemail_detection_plan.py index 73420d06..00956253 100644 --- a/src/vapi/types/google_voicemail_detection_plan.py +++ b/src/vapi/types/google_voicemail_detection_plan.py @@ -13,6 +13,10 @@ class GoogleVoicemailDetectionPlan(UncheckedBaseModel): + """ + Configuration for detecting voicemail with Google, including detection type, maximum beep wait, and retry backoff. + """ + beep_max_await_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="beepMaxAwaitSeconds"), diff --git a/src/vapi/types/groq_model.py b/src/vapi/types/groq_model.py index 6f6c6172..39ee2718 100644 --- a/src/vapi/types/groq_model.py +++ b/src/vapi/types/groq_model.py @@ -12,9 +12,14 @@ from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .groq_model_model import GroqModelModel from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class GroqModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Groq, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class GroqModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class GroqModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -198,6 +226,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/groq_model_model.py b/src/vapi/types/groq_model_model.py index ae9358b9..51de1f35 100644 --- a/src/vapi/types/groq_model_model.py +++ b/src/vapi/types/groq_model_model.py @@ -14,7 +14,6 @@ "llama3-70b-8192", "gemma2-9b-it", "moonshotai/kimi-k2-instruct-0905", - "meta-llama/llama-4-maverick-17b-128e-instruct", "meta-llama/llama-4-scout-17b-16e-instruct", "mistral-saba-24b", "compound-beta", diff --git a/src/vapi/types/groq_model_tools_item.py b/src/vapi/types/groq_model_tools_item.py index db0595f8..32da5740 100644 --- a/src/vapi/types/groq_model_tools_item.py +++ b/src/vapi/types/groq_model_tools_item.py @@ -67,6 +67,7 @@ class GroqModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class GroqModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/group_condition.py b/src/vapi/types/group_condition.py index 9e55b704..a96cbae5 100644 --- a/src/vapi/types/group_condition.py +++ b/src/vapi/types/group_condition.py @@ -11,6 +11,10 @@ class GroupCondition(UncheckedBaseModel): + """ + Combines nested regular-expression, Liquid, or grouped conditions with an `AND` or `OR` operator. + """ + operator: GroupConditionOperator = pydantic.Field() """ This is the logical operator for combining conditions in this group diff --git a/src/vapi/types/handoff_destination_assistant.py b/src/vapi/types/handoff_destination_assistant.py index 3c413154..898422f2 100644 --- a/src/vapi/types/handoff_destination_assistant.py +++ b/src/vapi/types/handoff_destination_assistant.py @@ -15,7 +15,15 @@ class HandoffDestinationAssistant(UncheckedBaseModel): - type: HandoffDestinationAssistantType + """ + Routes a handoff to a saved or transient assistant, with optional context engineering, variable extraction, and assistant overrides. + """ + + type: HandoffDestinationAssistantType = pydantic.Field() + """ + Selects an assistant as the handoff destination. + """ + context_engineering_plan: typing_extensions.Annotated[ typing.Optional[HandoffDestinationAssistantContextEngineeringPlan], FieldMetadata(alias="contextEngineeringPlan"), @@ -93,8 +101,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -129,6 +141,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -152,8 +171,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -188,6 +211,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/handoff_destination_assistant_context_engineering_plan.py b/src/vapi/types/handoff_destination_assistant_context_engineering_plan.py index 4ce850fe..4df50574 100644 --- a/src/vapi/types/handoff_destination_assistant_context_engineering_plan.py +++ b/src/vapi/types/handoff_destination_assistant_context_engineering_plan.py @@ -82,12 +82,30 @@ class Config: extra = pydantic.Extra.allow +class HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages(UncheckedBaseModel): + """ + This is the plan for manipulating the message context before handing off the call to the next assistant. + """ + + type: typing.Literal["previousAssistantMessages"] = "previousAssistantMessages" + + 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 + + HandoffDestinationAssistantContextEngineeringPlan = typing_extensions.Annotated[ typing.Union[ HandoffDestinationAssistantContextEngineeringPlan_LastNMessages, HandoffDestinationAssistantContextEngineeringPlan_None, HandoffDestinationAssistantContextEngineeringPlan_All, HandoffDestinationAssistantContextEngineeringPlan_UserAndAssistantMessages, + HandoffDestinationAssistantContextEngineeringPlan_PreviousAssistantMessages, ], UnionMetadata(discriminant="type"), ] diff --git a/src/vapi/types/handoff_destination_dynamic.py b/src/vapi/types/handoff_destination_dynamic.py index 520c8750..0ffa54b8 100644 --- a/src/vapi/types/handoff_destination_dynamic.py +++ b/src/vapi/types/handoff_destination_dynamic.py @@ -9,6 +9,10 @@ class HandoffDestinationDynamic(UncheckedBaseModel): + """ + Uses a webhook response to select the handoff destination at runtime. + """ + server: typing.Optional[Server] = pydantic.Field(default=None) """ This is where Vapi will send the handoff-destination-request webhook in a dynamic handoff. diff --git a/src/vapi/types/handoff_destination_squad.py b/src/vapi/types/handoff_destination_squad.py index c7be3f6b..9b8cd604 100644 --- a/src/vapi/types/handoff_destination_squad.py +++ b/src/vapi/types/handoff_destination_squad.py @@ -14,6 +14,10 @@ class HandoffDestinationSquad(UncheckedBaseModel): + """ + Routes a handoff to a saved or transient squad, with optional entry assistant, context engineering, variable extraction, and overrides. + """ + context_engineering_plan: typing_extensions.Annotated[ typing.Optional[HandoffDestinationSquadContextEngineeringPlan], FieldMetadata(alias="contextEngineeringPlan"), @@ -88,8 +92,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -124,6 +132,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -147,8 +162,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -183,6 +202,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/handoff_destination_squad_context_engineering_plan.py b/src/vapi/types/handoff_destination_squad_context_engineering_plan.py index 4fe6f3d5..48d1c826 100644 --- a/src/vapi/types/handoff_destination_squad_context_engineering_plan.py +++ b/src/vapi/types/handoff_destination_squad_context_engineering_plan.py @@ -82,12 +82,30 @@ class Config: extra = pydantic.Extra.allow +class HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages(UncheckedBaseModel): + """ + This is the plan for manipulating the message context before handing off the call to the squad. + """ + + type: typing.Literal["previousAssistantMessages"] = "previousAssistantMessages" + + 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 + + HandoffDestinationSquadContextEngineeringPlan = typing_extensions.Annotated[ typing.Union[ HandoffDestinationSquadContextEngineeringPlan_LastNMessages, HandoffDestinationSquadContextEngineeringPlan_None, HandoffDestinationSquadContextEngineeringPlan_All, HandoffDestinationSquadContextEngineeringPlan_UserAndAssistantMessages, + HandoffDestinationSquadContextEngineeringPlan_PreviousAssistantMessages, ], UnionMetadata(discriminant="type"), ] diff --git a/src/vapi/types/handoff_tool.py b/src/vapi/types/handoff_tool.py index 5fe21b45..57a7582d 100644 --- a/src/vapi/types/handoff_tool.py +++ b/src/vapi/types/handoff_tool.py @@ -17,11 +17,16 @@ class HandoffTool(UncheckedBaseModel): + """ + A reusable tool that hands a conversation to another assistant, squad, or dynamically selected destination. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[HandoffToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ default_result: typing_extensions.Annotated[ diff --git a/src/vapi/types/handoff_tool_destinations_item.py b/src/vapi/types/handoff_tool_destinations_item.py index 4d9ba844..650695db 100644 --- a/src/vapi/types/handoff_tool_destinations_item.py +++ b/src/vapi/types/handoff_tool_destinations_item.py @@ -126,8 +126,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -162,6 +166,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 @@ -186,8 +197,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -222,6 +237,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -245,8 +267,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -281,6 +307,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/handoff_tool_messages_item.py b/src/vapi/types/handoff_tool_messages_item.py index 6254fade..a309d3a7 100644 --- a/src/vapi/types/handoff_tool_messages_item.py +++ b/src/vapi/types/handoff_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class HandoffToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class HandoffToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/hmac_authentication_plan.py b/src/vapi/types/hmac_authentication_plan.py index 667165a9..a105a059 100644 --- a/src/vapi/types/hmac_authentication_plan.py +++ b/src/vapi/types/hmac_authentication_plan.py @@ -12,6 +12,10 @@ class HmacAuthenticationPlan(UncheckedBaseModel): + """ + Configuration for signing outbound requests with an HMAC secret, including algorithm, headers, payload format, and signature encoding. + """ + secret_key: typing_extensions.Annotated[ str, FieldMetadata(alias="secretKey"), diff --git a/src/vapi/types/hume_voice.py b/src/vapi/types/hume_voice.py index 2a032dc7..ecb1c488 100644 --- a/src/vapi/types/hume_voice.py +++ b/src/vapi/types/hume_voice.py @@ -13,6 +13,10 @@ class HumeVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Hume, including model and voice selection, custom voice metadata, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/import_twilio_phone_number_dto.py b/src/vapi/types/import_twilio_phone_number_dto.py index a49c8127..408a0233 100644 --- a/src/vapi/types/import_twilio_phone_number_dto.py +++ b/src/vapi/types/import_twilio_phone_number_dto.py @@ -13,6 +13,10 @@ class ImportTwilioPhoneNumberDto(UncheckedBaseModel): + """ + Configuration for importing a Twilio phone number into Vapi, including Twilio credentials, routing target, fallback destination, hooks, SMS, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[ImportTwilioPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/inflection_ai_model.py b/src/vapi/types/inflection_ai_model.py index 27bac9c8..7a78455d 100644 --- a/src/vapi/types/inflection_ai_model.py +++ b/src/vapi/types/inflection_ai_model.py @@ -12,9 +12,14 @@ from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .inflection_ai_model_model import InflectionAiModelModel from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class InflectionAiModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Inflection AI, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class InflectionAiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class InflectionAiModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -198,6 +226,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/inflection_ai_model_tools_item.py b/src/vapi/types/inflection_ai_model_tools_item.py index e6b38622..80b29c97 100644 --- a/src/vapi/types/inflection_ai_model_tools_item.py +++ b/src/vapi/types/inflection_ai_model_tools_item.py @@ -67,6 +67,7 @@ class InflectionAiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class InflectionAiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/insight.py b/src/vapi/types/insight.py index 0a19b662..7c4f0c53 100644 --- a/src/vapi/types/insight.py +++ b/src/vapi/types/insight.py @@ -12,6 +12,10 @@ class Insight(UncheckedBaseModel): + """ + A saved insight returned by the API, including its visualization type, identity, organization, and lifecycle timestamps. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -48,6 +52,11 @@ class Insight(UncheckedBaseModel): alias="updatedAt", description="This is the ISO 8601 date-time string of when the Insight was last updated." ), ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field(alias="systemKey", description="Stable server-owned identifier for system-created insights."), + ] = 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/vapi/types/insight_formula.py b/src/vapi/types/insight_formula.py index 3c371cf2..b3ae5166 100644 --- a/src/vapi/types/insight_formula.py +++ b/src/vapi/types/insight_formula.py @@ -8,6 +8,10 @@ class InsightFormula(UncheckedBaseModel): + """ + A formula used to calculate an insight from its query results, with an optional display name. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the formula. diff --git a/src/vapi/types/insight_paginated_response.py b/src/vapi/types/insight_paginated_response.py index cbd1d6c6..e4eef830 100644 --- a/src/vapi/types/insight_paginated_response.py +++ b/src/vapi/types/insight_paginated_response.py @@ -10,8 +10,19 @@ class InsightPaginatedResponse(UncheckedBaseModel): - results: typing.List[Insight] - metadata: PaginationMeta + """ + A paginated collection of saved reporting insights and metadata describing the result set. + """ + + results: typing.List[Insight] = pydantic.Field() + """ + The reporting insights returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the insight result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/insight_run_format_plan.py b/src/vapi/types/insight_run_format_plan.py index 78de707d..70c31d96 100644 --- a/src/vapi/types/insight_run_format_plan.py +++ b/src/vapi/types/insight_run_format_plan.py @@ -9,6 +9,10 @@ class InsightRunFormatPlan(UncheckedBaseModel): + """ + Selects whether an insight run returns raw data or Recharts-formatted data. + """ + format: typing.Optional[InsightRunFormatPlanFormat] = pydantic.Field(default=None) """ This is the format of the data to return. diff --git a/src/vapi/types/insight_run_response.py b/src/vapi/types/insight_run_response.py index 91446dee..9bf0ad12 100644 --- a/src/vapi/types/insight_run_response.py +++ b/src/vapi/types/insight_run_response.py @@ -11,14 +11,34 @@ class InsightRunResponse(UncheckedBaseModel): - id: str - insight_id: typing_extensions.Annotated[str, FieldMetadata(alias="insightId"), pydantic.Field(alias="insightId")] - org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] + """ + Metadata identifying a saved insight run and its lifecycle timestamps. + """ + + id: str = pydantic.Field() + """ + The unique identifier for the insight run. + """ + + insight_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="insightId"), + pydantic.Field(alias="insightId", description="The unique identifier for the insight that was run."), + ] + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="The unique identifier for the organization that owns the run."), + ] created_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field(alias="createdAt", description="The ISO 8601 timestamp when the insight run was created."), ] updated_at: typing_extensions.Annotated[ - dt.datetime, FieldMetadata(alias="updatedAt"), pydantic.Field(alias="updatedAt") + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field(alias="updatedAt", description="The ISO 8601 timestamp when the insight run was last updated."), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/insight_time_range.py b/src/vapi/types/insight_time_range.py index 73cafe69..03dfdc06 100644 --- a/src/vapi/types/insight_time_range.py +++ b/src/vapi/types/insight_time_range.py @@ -8,6 +8,10 @@ class InsightTimeRange(UncheckedBaseModel): + """ + Start, end, and timezone used to limit an insight query by time. + """ + start: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ This is the start date for the time range. diff --git a/src/vapi/types/insight_time_range_with_step.py b/src/vapi/types/insight_time_range_with_step.py index c3958c11..e48d0258 100644 --- a/src/vapi/types/insight_time_range_with_step.py +++ b/src/vapi/types/insight_time_range_with_step.py @@ -9,6 +9,10 @@ class InsightTimeRangeWithStep(UncheckedBaseModel): + """ + Start, end, timezone, and aggregation step used for a time-series insight query. + """ + step: typing.Optional[InsightTimeRangeWithStepStep] = pydantic.Field(default=None) """ This is the group by step for aggregation. diff --git a/src/vapi/types/invite_user_dto_role.py b/src/vapi/types/invite_user_dto_role.py index c76259c6..b6ea81d9 100644 --- a/src/vapi/types/invite_user_dto_role.py +++ b/src/vapi/types/invite_user_dto_role.py @@ -2,4 +2,6 @@ import typing -InviteUserDtoRole = typing.Union[typing.Literal["admin", "editor", "viewer"], typing.Any] +from .invite_user_dto_role_zero import InviteUserDtoRoleZero + +InviteUserDtoRole = typing.Union[InviteUserDtoRoleZero, str] diff --git a/src/vapi/types/invite_user_dto_role_zero.py b/src/vapi/types/invite_user_dto_role_zero.py new file mode 100644 index 00000000..876dd844 --- /dev/null +++ b/src/vapi/types/invite_user_dto_role_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +InviteUserDtoRoleZero = typing.Union[typing.Literal["admin", "editor", "viewer"], typing.Any] diff --git a/src/vapi/types/inworld_voice.py b/src/vapi/types/inworld_voice.py index 73218f4a..6934d773 100644 --- a/src/vapi/types/inworld_voice.py +++ b/src/vapi/types/inworld_voice.py @@ -15,6 +15,10 @@ class InworldVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Inworld, including voice and model selection, language, temperature, speaking rate, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/json_query_on_call_table_with_number_type_column.py b/src/vapi/types/json_query_on_call_table_with_number_type_column.py index b939a57e..307db56a 100644 --- a/src/vapi/types/json_query_on_call_table_with_number_type_column.py +++ b/src/vapi/types/json_query_on_call_table_with_number_type_column.py @@ -17,6 +17,10 @@ class JsonQueryOnCallTableWithNumberTypeColumn(UncheckedBaseModel): + """ + VapiQL JSON query that aggregates a numeric call-table column with optional call filters. + """ + type: JsonQueryOnCallTableWithNumberTypeColumnType = pydantic.Field() """ This is the type of query. Only allowed type is "vapiql-json". diff --git a/src/vapi/types/json_query_on_call_table_with_string_type_column.py b/src/vapi/types/json_query_on_call_table_with_string_type_column.py index a37bda9b..1c68c2be 100644 --- a/src/vapi/types/json_query_on_call_table_with_string_type_column.py +++ b/src/vapi/types/json_query_on_call_table_with_string_type_column.py @@ -17,6 +17,10 @@ class JsonQueryOnCallTableWithStringTypeColumn(UncheckedBaseModel): + """ + VapiQL JSON query that counts values from a string-valued call-table column with optional call filters. + """ + type: JsonQueryOnCallTableWithStringTypeColumnType = pydantic.Field() """ This is the type of query. Only allowed type is "vapiql-json". diff --git a/src/vapi/types/json_query_on_call_table_with_structured_output_column.py b/src/vapi/types/json_query_on_call_table_with_structured_output_column.py index 7cdd242b..b9bb3146 100644 --- a/src/vapi/types/json_query_on_call_table_with_structured_output_column.py +++ b/src/vapi/types/json_query_on_call_table_with_structured_output_column.py @@ -23,6 +23,10 @@ class JsonQueryOnCallTableWithStructuredOutputColumn(UncheckedBaseModel): + """ + VapiQL JSON query that aggregates or counts a structured-output value stored on call records. + """ + type: JsonQueryOnCallTableWithStructuredOutputColumnType = pydantic.Field() """ This is the type of query. Only allowed type is "vapiql-json". diff --git a/src/vapi/types/json_query_on_events_table.py b/src/vapi/types/json_query_on_events_table.py index 05e9289c..9368744a 100644 --- a/src/vapi/types/json_query_on_events_table.py +++ b/src/vapi/types/json_query_on_events_table.py @@ -13,6 +13,10 @@ class JsonQueryOnEventsTable(UncheckedBaseModel): + """ + VapiQL JSON query that counts or calculates the percentage of matching events using optional typed event-data filters. + """ + type: JsonQueryOnEventsTableType = pydantic.Field() """ This is the type of query. Only allowed type is "vapiql-json". diff --git a/src/vapi/types/json_query_on_events_table_on.py b/src/vapi/types/json_query_on_events_table_on.py index 626fcf54..d8b61763 100644 --- a/src/vapi/types/json_query_on_events_table_on.py +++ b/src/vapi/types/json_query_on_events_table_on.py @@ -89,6 +89,7 @@ "assistant.transcriber.transcriptIgnored", "assistant.transcriber.languageSwitched", "assistant.analysis.structuredOutputGenerated", + "assistant.analysis.structuredOutputSkipped", "pipeline.turnStarted", "pipeline.cleared", "pipeline.botSpeechStarted", diff --git a/src/vapi/types/json_schema.py b/src/vapi/types/json_schema.py index b6f68529..21fb2b7b 100644 --- a/src/vapi/types/json_schema.py +++ b/src/vapi/types/json_schema.py @@ -12,6 +12,10 @@ class JsonSchema(UncheckedBaseModel): + """ + JSON Schema definition used to describe structured data for extraction, validation, or model output. + """ + type: JsonSchemaType = pydantic.Field() """ This is the type of output you'd like. diff --git a/src/vapi/types/keypad_input_plan.py b/src/vapi/types/keypad_input_plan.py index a934a7ca..98a8bc4f 100644 --- a/src/vapi/types/keypad_input_plan.py +++ b/src/vapi/types/keypad_input_plan.py @@ -11,6 +11,10 @@ class KeypadInputPlan(UncheckedBaseModel): + """ + Controls collection of dual-tone multi-frequency (DTMF) keypad input, including enablement, processing timeout, and delimiters. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ This keeps track of whether the user has enabled keypad input. diff --git a/src/vapi/types/knowledge_base.py b/src/vapi/types/knowledge_base.py index 0f09119d..51ffd1ee 100644 --- a/src/vapi/types/knowledge_base.py +++ b/src/vapi/types/knowledge_base.py @@ -12,6 +12,10 @@ class KnowledgeBase(UncheckedBaseModel): + """ + A knowledge-base configuration, including its provider, model, description, and associated files. + """ + name: str = pydantic.Field() """ The name of the knowledge base diff --git a/src/vapi/types/knowledge_base_cost.py b/src/vapi/types/knowledge_base_cost.py index 69c07475..69be3c7b 100644 --- a/src/vapi/types/knowledge_base_cost.py +++ b/src/vapi/types/knowledge_base_cost.py @@ -10,6 +10,10 @@ class KnowledgeBaseCost(UncheckedBaseModel): + """ + Knowledge-base model cost, including model, token usage, and amount. + """ + model: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the model that was used for processing the knowledge base. diff --git a/src/vapi/types/knowledge_base_model.py b/src/vapi/types/knowledge_base_model.py index dd590eee..ab42fc6e 100644 --- a/src/vapi/types/knowledge_base_model.py +++ b/src/vapi/types/knowledge_base_model.py @@ -4,6 +4,8 @@ KnowledgeBaseModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/langfuse_observability_plan.py b/src/vapi/types/langfuse_observability_plan.py index 203fc559..0876c68b 100644 --- a/src/vapi/types/langfuse_observability_plan.py +++ b/src/vapi/types/langfuse_observability_plan.py @@ -11,7 +11,15 @@ class LangfuseObservabilityPlan(UncheckedBaseModel): - provider: LangfuseObservabilityPlanProvider + """ + Configuration for sending assistant call traces to Langfuse, including prompt version linkage, trace naming, tags, and metadata. + """ + + provider: LangfuseObservabilityPlanProvider = pydantic.Field() + """ + Routes assistant call observability data to Langfuse. + """ + prompt_name: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="promptName"), diff --git a/src/vapi/types/legacy_assistant_version.py b/src/vapi/types/legacy_assistant_version.py new file mode 100644 index 00000000..42c471c2 --- /dev/null +++ b/src/vapi/types/legacy_assistant_version.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class LegacyAssistantVersion(UncheckedBaseModel): + id: str + assistant_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] + org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId"), pydantic.Field(alias="orgId")] + data: typing.Optional[str] = None + created_at: typing_extensions.Annotated[ + dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt") + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/legacy_assistant_version_paginated_response.py b/src/vapi/types/legacy_assistant_version_paginated_response.py new file mode 100644 index 00000000..b6887eb7 --- /dev/null +++ b/src/vapi/types/legacy_assistant_version_paginated_response.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .legacy_assistant_version import LegacyAssistantVersion +from .pagination_meta import PaginationMeta + + +class LegacyAssistantVersionPaginatedResponse(UncheckedBaseModel): + results: typing.List[LegacyAssistantVersion] + metadata: PaginationMeta + next_page_state: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="nextPageState"), pydantic.Field(alias="nextPageState") + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/line_insight.py b/src/vapi/types/line_insight.py index baf5328f..1c8552ea 100644 --- a/src/vapi/types/line_insight.py +++ b/src/vapi/types/line_insight.py @@ -16,6 +16,10 @@ class LineInsight(UncheckedBaseModel): + """ + A saved line-chart insight containing its call-data queries, formulas, grouping, stepped time range, metadata, and lifecycle information. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -46,7 +50,11 @@ class LineInsight(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the line-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[LineInsightGroupBy], @@ -87,6 +95,11 @@ class LineInsight(UncheckedBaseModel): alias="updatedAt", description="This is the ISO 8601 date-time string of when the Insight was last updated." ), ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field(alias="systemKey", description="Stable server-owned identifier for system-created insights."), + ] = 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/vapi/types/line_insight_metadata.py b/src/vapi/types/line_insight_metadata.py index 72b1ad03..7a3646ed 100644 --- a/src/vapi/types/line_insight_metadata.py +++ b/src/vapi/types/line_insight_metadata.py @@ -10,19 +10,34 @@ class LineInsightMetadata(UncheckedBaseModel): + """ + Display settings for a line insight, including chart name, axis labels, and optional y-axis bounds. + """ + x_axis_label: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="xAxisLabel"), pydantic.Field(alias="xAxisLabel") + typing.Optional[str], + FieldMetadata(alias="xAxisLabel"), + pydantic.Field(alias="xAxisLabel", description="Label displayed on the chart's x-axis."), ] = None y_axis_label: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="yAxisLabel"), pydantic.Field(alias="yAxisLabel") + typing.Optional[str], + FieldMetadata(alias="yAxisLabel"), + pydantic.Field(alias="yAxisLabel", description="Label displayed on the chart's y-axis."), ] = None y_axis_min: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="yAxisMin"), pydantic.Field(alias="yAxisMin") + typing.Optional[float], + FieldMetadata(alias="yAxisMin"), + pydantic.Field(alias="yAxisMin", description="Minimum value displayed on the chart's y-axis."), ] = None y_axis_max: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="yAxisMax"), pydantic.Field(alias="yAxisMax") + typing.Optional[float], + FieldMetadata(alias="yAxisMax"), + pydantic.Field(alias="yAxisMax", description="Maximum value displayed on the chart's y-axis."), ] = None - name: typing.Optional[str] = None + name: typing.Optional[str] = pydantic.Field(default=None) + """ + Display name for the insight chart. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/liquid_condition.py b/src/vapi/types/liquid_condition.py index 92be88f4..3bd74b24 100644 --- a/src/vapi/types/liquid_condition.py +++ b/src/vapi/types/liquid_condition.py @@ -8,6 +8,10 @@ class LiquidCondition(UncheckedBaseModel): + """ + Evaluates a Liquid template that must return `true` or `false`. + """ + liquid: str = pydantic.Field() """ This is the Liquid template that must return exactly "true" or "false" as a string. diff --git a/src/vapi/types/livekit_smart_endpointing_plan.py b/src/vapi/types/livekit_smart_endpointing_plan.py index d99834e2..25f7e13c 100644 --- a/src/vapi/types/livekit_smart_endpointing_plan.py +++ b/src/vapi/types/livekit_smart_endpointing_plan.py @@ -11,6 +11,10 @@ class LivekitSmartEndpointingPlan(UncheckedBaseModel): + """ + Configuration for using LiveKit smart endpointing, including provider selection and wait-function behavior. + """ + provider: LivekitSmartEndpointingPlanProvider = pydantic.Field() """ This is the provider for the smart endpointing plan. diff --git a/src/vapi/types/lmnt_voice.py b/src/vapi/types/lmnt_voice.py index f25a6e30..b31a57e4 100644 --- a/src/vapi/types/lmnt_voice.py +++ b/src/vapi/types/lmnt_voice.py @@ -14,6 +14,10 @@ class LmntVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with LMNT, including voice selection, language, speed, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/make_tool.py b/src/vapi/types/make_tool.py index dc0e22d9..ff4753ba 100644 --- a/src/vapi/types/make_tool.py +++ b/src/vapi/types/make_tool.py @@ -17,11 +17,12 @@ class MakeTool(UncheckedBaseModel): + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[MakeToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: MakeToolType = pydantic.Field() diff --git a/src/vapi/types/make_tool_messages_item.py b/src/vapi/types/make_tool_messages_item.py index 367a28d3..cb28f226 100644 --- a/src/vapi/types/make_tool_messages_item.py +++ b/src/vapi/types/make_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class MakeToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class MakeToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/make_tool_with_tool_call.py b/src/vapi/types/make_tool_with_tool_call.py index dc9f259a..810b449d 100644 --- a/src/vapi/types/make_tool_with_tool_call.py +++ b/src/vapi/types/make_tool_with_tool_call.py @@ -18,9 +18,7 @@ class MakeToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[MakeToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ tool_call: typing_extensions.Annotated[ToolCall, FieldMetadata(alias="toolCall"), pydantic.Field(alias="toolCall")] diff --git a/src/vapi/types/make_tool_with_tool_call_messages_item.py b/src/vapi/types/make_tool_with_tool_call_messages_item.py index e59845e1..66477c64 100644 --- a/src/vapi/types/make_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/make_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class MakeToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class MakeToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/mcp_tool.py b/src/vapi/types/mcp_tool.py index e4b3f9a8..0e76da18 100644 --- a/src/vapi/types/mcp_tool.py +++ b/src/vapi/types/mcp_tool.py @@ -18,11 +18,16 @@ class McpTool(UncheckedBaseModel): + """ + A reusable tool that connects an assistant to a Model Context Protocol server and exposes its available tools. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[McpToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ server: typing.Optional[Server] = pydantic.Field(default=None) @@ -80,7 +85,10 @@ class McpTool(UncheckedBaseModel): description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", ), ] = None - metadata: typing.Optional[McpToolMetadata] = None + metadata: typing.Optional[McpToolMetadata] = pydantic.Field(default=None) + """ + Connection metadata for the MCP server, including its communication protocol. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/mcp_tool_messages.py b/src/vapi/types/mcp_tool_messages.py index 4d210cb6..3aa48be7 100644 --- a/src/vapi/types/mcp_tool_messages.py +++ b/src/vapi/types/mcp_tool_messages.py @@ -9,6 +9,10 @@ class McpToolMessages(UncheckedBaseModel): + """ + Per-tool message overrides for a tool discovered through an MCP server. + """ + name: str = pydantic.Field() """ The name of the tool from the MCP server. @@ -16,7 +20,7 @@ class McpToolMessages(UncheckedBaseModel): messages: typing.Optional[typing.List[McpToolMessagesMessagesItem]] = pydantic.Field(default=None) """ - Custom messages for this specific tool. Set to an empty array to suppress all messages for this tool. If not provided, the tool will use the default messages from the parent MCP tool configuration. + Custom messages for this specific tool. Set to an empty array to suppress all messages for this tool. If not provided, the tool will use the default messages from the parent MCP tool configuration. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ if IS_PYDANTIC_V2: diff --git a/src/vapi/types/mcp_tool_messages_item.py b/src/vapi/types/mcp_tool_messages_item.py index 6727f058..783cce51 100644 --- a/src/vapi/types/mcp_tool_messages_item.py +++ b/src/vapi/types/mcp_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class McpToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class McpToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/mcp_tool_messages_messages_item.py b/src/vapi/types/mcp_tool_messages_messages_item.py index d126e6f7..9acea2f4 100644 --- a/src/vapi/types/mcp_tool_messages_messages_item.py +++ b/src/vapi/types/mcp_tool_messages_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class McpToolMessagesMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class McpToolMessagesMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/mcp_tool_metadata.py b/src/vapi/types/mcp_tool_metadata.py index c9e7c1db..a95b0d3a 100644 --- a/src/vapi/types/mcp_tool_metadata.py +++ b/src/vapi/types/mcp_tool_metadata.py @@ -9,6 +9,10 @@ class McpToolMetadata(UncheckedBaseModel): + """ + Protocol metadata used to communicate with an MCP server. + """ + protocol: typing.Optional[McpToolMetadataProtocol] = pydantic.Field(default=None) """ This is the protocol used for MCP communication. Defaults to Streamable HTTP. diff --git a/src/vapi/types/message_add_hook_action.py b/src/vapi/types/message_add_hook_action.py index 823ec0f7..09081885 100644 --- a/src/vapi/types/message_add_hook_action.py +++ b/src/vapi/types/message_add_hook_action.py @@ -11,6 +11,10 @@ class MessageAddHookAction(UncheckedBaseModel): + """ + A hook action that adds an OpenAI-format message to the conversation and can trigger an assistant response. + """ + message: OpenAiMessage = pydantic.Field() """ The message to add to the conversation in OpenAI format diff --git a/src/vapi/types/message_target.py b/src/vapi/types/message_target.py index b063231b..a6cfff0d 100644 --- a/src/vapi/types/message_target.py +++ b/src/vapi/types/message_target.py @@ -9,6 +9,10 @@ class MessageTarget(UncheckedBaseModel): + """ + Selects a conversation message by participant role and position for condition evaluation. + """ + role: typing.Optional[MessageTargetRole] = pydantic.Field(default=None) """ This is the role of the message to target. diff --git a/src/vapi/types/trieve_credential.py b/src/vapi/types/microsoft_credential.py similarity index 83% rename from src/vapi/types/trieve_credential.py rename to src/vapi/types/microsoft_credential.py index bfa01444..95af7ee5 100644 --- a/src/vapi/types/trieve_credential.py +++ b/src/vapi/types/microsoft_credential.py @@ -8,16 +8,21 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_credential_provider import TrieveCredentialProvider +from .microsoft_credential_provider import MicrosoftCredentialProvider -class TrieveCredential(UncheckedBaseModel): - provider: TrieveCredentialProvider +class MicrosoftCredential(UncheckedBaseModel): + provider: MicrosoftCredentialProvider api_key: typing_extensions.Annotated[ str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + region: typing.Optional[str] = pydantic.Field(default=None) + """ + Azure region for the Speech resource. Defaults to `eastus` when omitted. MAI-Voice-2 is preview and region-limited. + """ + id: str = pydantic.Field() """ This is the unique identifier for the credential. diff --git a/src/vapi/types/microsoft_credential_provider.py b/src/vapi/types/microsoft_credential_provider.py new file mode 100644 index 00000000..3af8f77e --- /dev/null +++ b/src/vapi/types/microsoft_credential_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +MicrosoftCredentialProvider = typing.Union[typing.Literal["microsoft"], typing.Any] diff --git a/src/vapi/types/microsoft_voice.py b/src/vapi/types/microsoft_voice.py new file mode 100644 index 00000000..79214c2f --- /dev/null +++ b/src/vapi/types/microsoft_voice.py @@ -0,0 +1,77 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .chunk_plan import ChunkPlan +from .fallback_plan import FallbackPlan +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId + + +class MicrosoftVoice(UncheckedBaseModel): + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="cachingEnabled"), + pydantic.Field( + alias="cachingEnabled", description="This is the flag to toggle voice caching for the assistant." + ), + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, + FieldMetadata(alias="voiceId"), + pydantic.Field(alias="voiceId", description="MAI-Voice-2 voice ID. Built-in voices listed in enum."), + ] + style: typing.Optional[MicrosoftVoiceStyle] = pydantic.Field(default=None) + """ + Speaking style applied via mstts:express-as on every request. Unknown styles are ignored by Azure and fall back to neutral. + """ + + style_degree: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="styleDegree"), + pydantic.Field( + alias="styleDegree", + description="Style intensity (0.01–2). Default 1 = the predefined style strength. Only applies when `style` is set.", + ), + ] = None + role: typing.Optional[MicrosoftVoiceRole] = pydantic.Field(default=None) + """ + Role-play (age/gender imitation). Requires `style` to be set; ignored otherwise. + """ + + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], + FieldMetadata(alias="chunkPlan"), + pydantic.Field( + alias="chunkPlan", + description="This is the plan for chunking the model output before it is sent to the voice provider.", + ), + ] = None + speed: typing.Optional[float] = pydantic.Field(default=None) + """ + This is the speed multiplier that will be used. + """ + + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field( + alias="fallbackPlan", + description="This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/microsoft_voice_role.py b/src/vapi/types/microsoft_voice_role.py new file mode 100644 index 00000000..5852ba66 --- /dev/null +++ b/src/vapi/types/microsoft_voice_role.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +MicrosoftVoiceRole = typing.Union[ + typing.Literal[ + "Girl", + "Boy", + "YoungAdultFemale", + "YoungAdultMale", + "OlderAdultFemale", + "OlderAdultMale", + "SeniorFemale", + "SeniorMale", + ], + typing.Any, +] diff --git a/src/vapi/types/microsoft_voice_style.py b/src/vapi/types/microsoft_voice_style.py new file mode 100644 index 00000000..5917bddd --- /dev/null +++ b/src/vapi/types/microsoft_voice_style.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +MicrosoftVoiceStyle = typing.Union[ + typing.Literal[ + "adventurous", + "angry", + "caring", + "cheerful", + "confused", + "curious", + "determined", + "disappointed", + "disgusted", + "embarrassed", + "empathy", + "encouraging", + "excited", + "fearful", + "friendly", + "happy", + "hopeful", + "jealous", + "joyful", + "nostalgic", + "reflective", + "regretful", + "relieved", + "sad", + "serious", + "shouting", + "softvoice", + "surprised", + "whispering", + ], + typing.Any, +] diff --git a/src/vapi/types/microsoft_voice_voice_id.py b/src/vapi/types/microsoft_voice_voice_id.py new file mode 100644 index 00000000..3fcdb26a --- /dev/null +++ b/src/vapi/types/microsoft_voice_voice_id.py @@ -0,0 +1,55 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +MicrosoftVoiceVoiceId = typing.Union[ + typing.Literal[ + "de-DE-Klaus:MAI-Voice-2", + "de-DE-Mia:MAI-Voice-2", + "en-AU-Lisa:MAI-Voice-2", + "en-US-Ethan:MAI-Voice-2", + "en-US-Grant:MAI-Voice-2", + "en-US-Harper:MAI-Voice-2", + "en-US-Iris:MAI-Voice-2", + "en-US-Jasper:MAI-Voice-2", + "en-US-Olivia:MAI-Voice-2", + "es-ES-Marta:MAI-Voice-2", + "es-MX-Alejo:MAI-Voice-2", + "es-MX-Valeria:MAI-Voice-2", + "fr-FR-Marc:MAI-Voice-2", + "fr-FR-Soleil:MAI-Voice-2", + "hi-IN-Arjun:MAI-Voice-2", + "hi-IN-Dhruv:MAI-Voice-2", + "hi-IN-Kavya:MAI-Voice-2", + "hi-IN-Priya:MAI-Voice-2", + "hu-HU-Bence:MAI-Voice-2", + "hu-HU-Levente:MAI-Voice-2", + "hu-HU-Lilla:MAI-Voice-2", + "hu-HU-Réka:MAI-Voice-2", + "it-IT-Luca:MAI-Voice-2", + "it-IT-Rosa:MAI-Voice-2", + "ko-KR-Hana:MAI-Voice-2", + "ko-KR-Junho:MAI-Voice-2", + "nl-NL-Fleur:MAI-Voice-2", + "nl-NL-Sander:MAI-Voice-2", + "pt-BR-Caio:MAI-Voice-2", + "pt-BR-Luana:MAI-Voice-2", + "pt-BR-Pedro:MAI-Voice-2", + "pt-BR-Rafael:MAI-Voice-2", + "pt-PT-Rui:MAI-Voice-2", + "ro-RO-Andrei:MAI-Voice-2", + "ro-RO-Elena:MAI-Voice-2", + "ro-RO-Ioana:MAI-Voice-2", + "ro-RO-Radu:MAI-Voice-2", + "ru-RU-Lev:MAI-Voice-2", + "ru-RU-Masha:MAI-Voice-2", + "th-TH-Krit:MAI-Voice-2", + "th-TH-Nattapong:MAI-Voice-2", + "tr-TR-Aydin:MAI-Voice-2", + "tr-TR-Elif:MAI-Voice-2", + "zh-CN-Bo:MAI-Voice-2", + "zh-CN-Lan:MAI-Voice-2", + "zh-CN-Mei:MAI-Voice-2", + ], + typing.Any, +] diff --git a/src/vapi/types/min_call_duration_condition.py b/src/vapi/types/min_call_duration_condition.py new file mode 100644 index 00000000..41d6738c --- /dev/null +++ b/src/vapi/types/min_call_duration_condition.py @@ -0,0 +1,27 @@ +# 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 MinCallDurationCondition(UncheckedBaseModel): + seconds: float = pydantic.Field() + """ + This is the minimum call duration in seconds required for the structured + output to run. + + When timestamps are unavailable (for example, chat sessions have no call + timestamps), this check passes and does not block the structured output. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/min_messages_condition.py b/src/vapi/types/min_messages_condition.py new file mode 100644 index 00000000..75bdefb6 --- /dev/null +++ b/src/vapi/types/min_messages_condition.py @@ -0,0 +1,27 @@ +# 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 MinMessagesCondition(UncheckedBaseModel): + count: float = pydantic.Field() + """ + This is the minimum number of conversation messages required for the + structured output to run. + + A count of 0 removes the runtime default minimum, so the structured output + runs regardless of how few messages the conversation has. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/minimax_llm_model.py b/src/vapi/types/minimax_llm_model.py index 0b651809..f658d96b 100644 --- a/src/vapi/types/minimax_llm_model.py +++ b/src/vapi/types/minimax_llm_model.py @@ -12,9 +12,14 @@ from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .minimax_llm_model_model import MinimaxLlmModelModel from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class MinimaxLlmModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with MiniMax, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class MinimaxLlmModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class MinimaxLlmModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -198,6 +226,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/minimax_llm_model_tools_item.py b/src/vapi/types/minimax_llm_model_tools_item.py index 17df247e..e5fc958d 100644 --- a/src/vapi/types/minimax_llm_model_tools_item.py +++ b/src/vapi/types/minimax_llm_model_tools_item.py @@ -67,6 +67,7 @@ class MinimaxLlmModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class MinimaxLlmModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/minimax_voice.py b/src/vapi/types/minimax_voice.py index 7668934d..3899a75a 100644 --- a/src/vapi/types/minimax_voice.py +++ b/src/vapi/types/minimax_voice.py @@ -16,6 +16,10 @@ class MinimaxVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with MiniMax, including voice and model selection, emotion, pitch, speed, volume, region, language, text normalization, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/model_cost.py b/src/vapi/types/model_cost.py index 200d9484..e07bb9aa 100644 --- a/src/vapi/types/model_cost.py +++ b/src/vapi/types/model_cost.py @@ -10,6 +10,10 @@ class ModelCost(UncheckedBaseModel): + """ + Language-model cost for a call, including model, token usage, and amount. + """ + model: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the model that was used during the call. @@ -47,6 +51,14 @@ class ModelCost(UncheckedBaseModel): description="This is the number of cached prompt tokens used in the call. This is only applicable to certain providers (e.g., OpenAI, Azure OpenAI) that support prompt caching. Cached tokens are billed at a discounted rate.", ), ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="reasoningTokens"), + pydantic.Field( + alias="reasoningTokens", + description="This is the number of reasoning tokens generated in the call. This is only applicable to reasoning models (e.g., OpenAI o-series, GPT-5) on providers that report them.\n\nThis is a **subset of `completionTokens`**, not an addition to it: reasoning tokens are already counted in `completionTokens` and are already billed at the output-token rate. It is reported separately for visibility only and does not affect `cost`.", + ), + ] = None cost: float = pydantic.Field() """ This is the cost of the component in USD. diff --git a/src/vapi/types/monitor.py b/src/vapi/types/monitor.py index 016d1ef6..dd23f619 100644 --- a/src/vapi/types/monitor.py +++ b/src/vapi/types/monitor.py @@ -11,7 +11,15 @@ class Monitor(UncheckedBaseModel): - monitors: typing.Optional[typing.List[MonitorResult]] = None + """ + Live monitoring data for a call, including attached monitor results and listening and control URLs. + """ + + monitors: typing.Optional[typing.List[MonitorResult]] = pydantic.Field(default=None) + """ + Results produced by monitors attached to the call. + """ + listen_url: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="listenUrl"), diff --git a/src/vapi/types/monitor_plan.py b/src/vapi/types/monitor_plan.py index 4aaa9f1d..c4598d9b 100644 --- a/src/vapi/types/monitor_plan.py +++ b/src/vapi/types/monitor_plan.py @@ -10,6 +10,10 @@ class MonitorPlan(UncheckedBaseModel): + """ + Controls real-time listening and control for assistant calls, authentication requirements for monitor URLs, and attached monitors. + """ + listen_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="listenEnabled"), @@ -47,7 +51,7 @@ class MonitorPlan(UncheckedBaseModel): FieldMetadata(alias="monitorIds"), pydantic.Field( alias="monitorIds", - description="This the set of monitor ids that are attached to the assistant.\nThe source of truth for the monitor ids is the assistant_monitor join table.\nThis field can be used for transient assistants and to update assistants with new monitor ids.\n\n@default []", + description="IDs of the monitors attached to the assistant. Use this field for transient assistants or to update the monitors attached to an existing assistant. Defaults to an empty array.", ), ] = None diff --git a/src/vapi/types/monitor_result.py b/src/vapi/types/monitor_result.py index 85906a14..729f9953 100644 --- a/src/vapi/types/monitor_result.py +++ b/src/vapi/types/monitor_result.py @@ -10,9 +10,19 @@ class MonitorResult(UncheckedBaseModel): - monitor_id: typing_extensions.Annotated[str, FieldMetadata(alias="monitorId"), pydantic.Field(alias="monitorId")] + """ + Result of evaluating an attached monitor's filter for a call. + """ + + monitor_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="monitorId"), + pydantic.Field(alias="monitorId", description="Unique identifier of the monitor that produced this result."), + ] filter_passed: typing_extensions.Annotated[ - bool, FieldMetadata(alias="filterPassed"), pydantic.Field(alias="filterPassed") + bool, + FieldMetadata(alias="filterPassed"), + pydantic.Field(alias="filterPassed", description="Whether the monitor's filter matched the call."), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/mono.py b/src/vapi/types/mono.py index 0bba6562..53c39871 100644 --- a/src/vapi/types/mono.py +++ b/src/vapi/types/mono.py @@ -10,6 +10,10 @@ class Mono(UncheckedBaseModel): + """ + Mono recording URLs for the combined call and isolated assistant and customer audio. + """ + combined_url: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="combinedUrl"), diff --git a/src/vapi/types/neuphonic_voice.py b/src/vapi/types/neuphonic_voice.py index 0a12a4ce..6d074fce 100644 --- a/src/vapi/types/neuphonic_voice.py +++ b/src/vapi/types/neuphonic_voice.py @@ -13,6 +13,10 @@ class NeuphonicVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Neuphonic, including voice and model selection, language, speed, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/node_artifact.py b/src/vapi/types/node_artifact.py index b0563165..c3806e7f 100644 --- a/src/vapi/types/node_artifact.py +++ b/src/vapi/types/node_artifact.py @@ -11,6 +11,10 @@ class NodeArtifact(UncheckedBaseModel): + """ + Messages and variable values captured while a workflow node was active. + """ + messages: typing.Optional[typing.List[NodeArtifactMessagesItem]] = pydantic.Field(default=None) """ These are the messages that were spoken during the node. diff --git a/src/vapi/types/number_comparator_scorecard_metric_condition.py b/src/vapi/types/number_comparator_scorecard_metric_condition.py new file mode 100644 index 00000000..61ba8a30 --- /dev/null +++ b/src/vapi/types/number_comparator_scorecard_metric_condition.py @@ -0,0 +1,44 @@ +# 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 .number_comparator_scorecard_metric_condition_comparator import NumberComparatorScorecardMetricConditionComparator +from .number_comparator_scorecard_metric_condition_type import NumberComparatorScorecardMetricConditionType + + +class NumberComparatorScorecardMetricCondition(UncheckedBaseModel): + type: NumberComparatorScorecardMetricConditionType = pydantic.Field() + """ + This is the type of the condition. Currently only 'comparator' is supported. + """ + + comparator: NumberComparatorScorecardMetricConditionComparator = pydantic.Field() + """ + This is the comparator that will be used to compare the result of the structured output with the value specified. + Only '=', '!=', '>', '<', '>=', and '<=' are supported for number conditions + Only '=' is supported for boolean conditions. + """ + + value: float = pydantic.Field() + """ + This is the value that will be used to compare the result of the structured output with the comparator. + If the result of the comparison is true, the points will be added to the overall score. + """ + + points: float = pydantic.Field() + """ + These are the points that will be added to the overall score if the condition is met. + The points must be between 0 and 100. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/number_comparator_scorecard_metric_condition_comparator.py b/src/vapi/types/number_comparator_scorecard_metric_condition_comparator.py new file mode 100644 index 00000000..60195b66 --- /dev/null +++ b/src/vapi/types/number_comparator_scorecard_metric_condition_comparator.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +NumberComparatorScorecardMetricConditionComparator = typing.Union[ + typing.Literal["=", "!=", ">", "<", ">=", "<="], typing.Any +] diff --git a/src/vapi/types/number_comparator_scorecard_metric_condition_type.py b/src/vapi/types/number_comparator_scorecard_metric_condition_type.py new file mode 100644 index 00000000..11d16522 --- /dev/null +++ b/src/vapi/types/number_comparator_scorecard_metric_condition_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +NumberComparatorScorecardMetricConditionType = typing.Union[typing.Literal["comparator"], typing.Any] diff --git a/src/vapi/types/o_auth_2_authentication_plan.py b/src/vapi/types/o_auth_2_authentication_plan.py index 2c02aecf..154e543f 100644 --- a/src/vapi/types/o_auth_2_authentication_plan.py +++ b/src/vapi/types/o_auth_2_authentication_plan.py @@ -11,7 +11,15 @@ class OAuth2AuthenticationPlan(UncheckedBaseModel): - type: OAuth2AuthenticationPlanType + """ + Client-credentials configuration for obtaining an OAuth 2.0 access token used to authenticate outbound requests. + """ + + type: OAuth2AuthenticationPlanType = pydantic.Field() + """ + Selects OAuth 2.0 authentication. + """ + url: str = pydantic.Field() """ This is the OAuth2 URL. diff --git a/src/vapi/types/oauth_2_authentication_session.py b/src/vapi/types/oauth_2_authentication_session.py index b81f7247..eef6ba72 100644 --- a/src/vapi/types/oauth_2_authentication_session.py +++ b/src/vapi/types/oauth_2_authentication_session.py @@ -11,6 +11,10 @@ class Oauth2AuthenticationSession(UncheckedBaseModel): + """ + OAuth 2.0 session tokens and expiration used to authenticate integration requests. + """ + access_token: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="accessToken"), diff --git a/src/vapi/types/open_ai_function.py b/src/vapi/types/open_ai_function.py index 4cd13861..e32cb985 100644 --- a/src/vapi/types/open_ai_function.py +++ b/src/vapi/types/open_ai_function.py @@ -11,11 +11,8 @@ class OpenAiFunction(UncheckedBaseModel): - strict: typing.Optional[bool] = pydantic.Field(default=None) """ - This is a boolean that controls whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the parameters field. Only a subset of JSON Schema is supported when strict is true. Learn more about Structured Outputs in the [OpenAI guide](https://openai.com/index/introducing-structured-outputs-in-the-api/). - - @default false + Function definition exposed to a language model, including its name, purpose, parameter schema, and strict-schema behavior. """ name: str = pydantic.Field() @@ -25,6 +22,13 @@ class OpenAiFunction(UncheckedBaseModel): Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64. """ + strict: typing.Optional[bool] = pydantic.Field(default=None) + """ + This is a boolean that controls whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the parameters field. Only a subset of JSON Schema is supported when strict is true. Learn more about Structured Outputs in the [OpenAI guide](https://openai.com/index/introducing-structured-outputs-in-the-api/). + + @default false + """ + description: typing.Optional[str] = pydantic.Field(default=None) """ This is the description of what the function does, used by the AI to choose when and how to call the function. diff --git a/src/vapi/types/open_ai_function_parameters.py b/src/vapi/types/open_ai_function_parameters.py index e711cfc2..6818667c 100644 --- a/src/vapi/types/open_ai_function_parameters.py +++ b/src/vapi/types/open_ai_function_parameters.py @@ -11,6 +11,10 @@ class OpenAiFunctionParameters(UncheckedBaseModel): + """ + JSON object schema defining the properties accepted by a function and which properties are required. + """ + type: OpenAiFunctionParametersType = pydantic.Field() """ This must be set to 'object'. It instructs the model to return a JSON object containing the function call properties. diff --git a/src/vapi/types/open_ai_message.py b/src/vapi/types/open_ai_message.py index ded0058f..a55c1806 100644 --- a/src/vapi/types/open_ai_message.py +++ b/src/vapi/types/open_ai_message.py @@ -9,8 +9,19 @@ class OpenAiMessage(UncheckedBaseModel): - content: typing.Optional[str] = None - role: OpenAiMessageRole + """ + A conversation message represented in OpenAI chat format. + """ + + content: typing.Optional[str] = pydantic.Field(default=None) + """ + Content of the conversation message. + """ + + role: OpenAiMessageRole = pydantic.Field() + """ + Role associated with the conversation message. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/open_ai_model.py b/src/vapi/types/open_ai_model.py index c25efd0d..744097ac 100644 --- a/src/vapi/types/open_ai_model.py +++ b/src/vapi/types/open_ai_model.py @@ -14,10 +14,16 @@ from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem from .open_ai_model_model import OpenAiModelModel from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef class OpenAiModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with OpenAI, including model selection, fallback models, prompts, tools, prompt caching, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -38,6 +44,14 @@ class OpenAiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -74,7 +88,7 @@ class OpenAiModel(UncheckedBaseModel): FieldMetadata(alias="promptCacheRetention"), pydantic.Field( alias="promptCacheRetention", - description="This controls the prompt cache retention policy for models that support extended caching (GPT-4.1, GPT-5 series).\n\n- `in_memory`: Default behavior, cache retained in GPU memory only\n- `24h`: Extended caching, keeps cached prefixes active for up to 24 hours by offloading to GPU-local storage\n\nOnly applies to models: gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-mini, gpt-5.1-chat-latest, gpt-5, gpt-5-codex, gpt-4.1\n\n@default undefined (uses API default which is 'in_memory')", + description="This controls the prompt cache retention policy for models that support extended caching (GPT-4.1, GPT-5 series).\n\n- `in_memory`: Default behavior, cache retained in GPU memory only\n- `24h`: Extended caching, keeps cached prefixes active for up to 24 hours by offloading to GPU-local storage\n\nOnly applies to models: gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, chat-latest, gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-mini, gpt-5.1-chat-latest, gpt-5, gpt-5-codex, gpt-4.1\n\n@default undefined (uses API default which is 'in_memory')", ), ] = None prompt_cache_key: typing_extensions.Annotated[ @@ -85,9 +99,17 @@ class OpenAiModel(UncheckedBaseModel): description="This is the prompt cache key for models that support extended caching (GPT-4.1, GPT-5 series).\n\nProviding a cache key allows you to share cached prefixes across requests.\n\n@default undefined", ), ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field( + alias="reasoningEffort", + description="Reasoning effort for reasoning-capable OpenAI models.\nFor `gpt-realtime-2`: forwarded to V2 stream's session.update as `reasoning.effort`.\nFor non-realtime OpenAI models, model-aware validation limits newly public\nvalues while preserving the existing four-value storage contract.", + ), + ] = None temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -143,8 +165,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -179,6 +205,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -202,8 +235,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -238,6 +275,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/open_ai_model_fallback_models_item.py b/src/vapi/types/open_ai_model_fallback_models_item.py index 32e996d4..175ee7b8 100644 --- a/src/vapi/types/open_ai_model_fallback_models_item.py +++ b/src/vapi/types/open_ai_model_fallback_models_item.py @@ -4,6 +4,11 @@ OpenAiModelFallbackModelsItem = typing.Union[ typing.Literal[ + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna", + "gpt-5.5", + "chat-latest", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", @@ -32,6 +37,7 @@ "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-realtime-2025-08-28", "gpt-realtime-mini-2025-12-15", + "gpt-realtime-2", "gpt-4o-mini-2024-07-18", "gpt-4o-mini", "gpt-4o", @@ -122,6 +128,9 @@ "gpt-3.5-turbo-0125:southcentralus", "gpt-3.5-turbo-1106:canadaeast", "gpt-3.5-turbo-1106:westus", + "gpt-4.1:australiaeast", + "gpt-4o:australiaeast", + "gpt-5.4-mini:australiaeast", ], typing.Any, ] diff --git a/src/vapi/types/open_ai_model_model.py b/src/vapi/types/open_ai_model_model.py index ffc7e748..fc49ef5a 100644 --- a/src/vapi/types/open_ai_model_model.py +++ b/src/vapi/types/open_ai_model_model.py @@ -4,6 +4,11 @@ OpenAiModelModel = typing.Union[ typing.Literal[ + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna", + "gpt-5.5", + "chat-latest", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", @@ -32,6 +37,7 @@ "gpt-4o-mini-realtime-preview-2024-12-17", "gpt-realtime-2025-08-28", "gpt-realtime-mini-2025-12-15", + "gpt-realtime-2", "gpt-4o-mini-2024-07-18", "gpt-4o-mini", "gpt-4o", @@ -122,6 +128,9 @@ "gpt-3.5-turbo-0125:southcentralus", "gpt-3.5-turbo-1106:canadaeast", "gpt-3.5-turbo-1106:westus", + "gpt-4.1:australiaeast", + "gpt-4o:australiaeast", + "gpt-5.4-mini:australiaeast", ], typing.Any, ] diff --git a/src/vapi/types/open_ai_model_reasoning_effort.py b/src/vapi/types/open_ai_model_reasoning_effort.py new file mode 100644 index 00000000..00bebbfe --- /dev/null +++ b/src/vapi/types/open_ai_model_reasoning_effort.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +OpenAiModelReasoningEffort = typing.Union[ + typing.Literal["minimal", "none", "low", "medium", "high", "xhigh"], typing.Any +] diff --git a/src/vapi/types/open_ai_model_tools_item.py b/src/vapi/types/open_ai_model_tools_item.py index 5454e758..80d3e1a3 100644 --- a/src/vapi/types/open_ai_model_tools_item.py +++ b/src/vapi/types/open_ai_model_tools_item.py @@ -67,6 +67,7 @@ class OpenAiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class OpenAiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/open_ai_transcriber.py b/src/vapi/types/open_ai_transcriber.py index 82b52c22..a0d99b56 100644 --- a/src/vapi/types/open_ai_transcriber.py +++ b/src/vapi/types/open_ai_transcriber.py @@ -13,6 +13,10 @@ class OpenAiTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with OpenAI, including model, language, and fallback settings. + """ + model: OpenAiTranscriberModel = pydantic.Field() """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/open_ai_voice.py b/src/vapi/types/open_ai_voice.py index eca89c95..4ae4e2c5 100644 --- a/src/vapi/types/open_ai_voice.py +++ b/src/vapi/types/open_ai_voice.py @@ -14,6 +14,10 @@ class OpenAiVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with OpenAI, including voice and model selection, delivery instructions, speed, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/open_ai_voicemail_detection_plan.py b/src/vapi/types/open_ai_voicemail_detection_plan.py index cdc9f248..b100d3e6 100644 --- a/src/vapi/types/open_ai_voicemail_detection_plan.py +++ b/src/vapi/types/open_ai_voicemail_detection_plan.py @@ -13,6 +13,10 @@ class OpenAiVoicemailDetectionPlan(UncheckedBaseModel): + """ + Configuration for detecting voicemail with OpenAI, including detection type, maximum beep wait, and retry backoff. + """ + beep_max_await_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="beepMaxAwaitSeconds"), diff --git a/src/vapi/types/open_ai_web_chat_request.py b/src/vapi/types/open_ai_web_chat_request.py index cbc96161..6263702e 100644 --- a/src/vapi/types/open_ai_web_chat_request.py +++ b/src/vapi/types/open_ai_web_chat_request.py @@ -106,8 +106,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -143,6 +147,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -166,8 +177,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -203,6 +218,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/open_router_model.py b/src/vapi/types/open_router_model.py index 3f4faaf5..064513bf 100644 --- a/src/vapi/types/open_router_model.py +++ b/src/vapi/types/open_router_model.py @@ -11,9 +11,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class OpenRouterModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses through OpenRouter, including routed model selection, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -34,6 +39,14 @@ class OpenRouterModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -46,7 +59,7 @@ class OpenRouterModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -102,8 +115,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -138,6 +155,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -161,8 +185,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -197,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/open_router_model_tools_item.py b/src/vapi/types/open_router_model_tools_item.py index daff7ba6..cf3b600d 100644 --- a/src/vapi/types/open_router_model_tools_item.py +++ b/src/vapi/types/open_router_model_tools_item.py @@ -67,6 +67,7 @@ class OpenRouterModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class OpenRouterModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/org.py b/src/vapi/types/org.py index f01d044e..403b527e 100644 --- a/src/vapi/types/org.py +++ b/src/vapi/types/org.py @@ -23,6 +23,21 @@ class Org(UncheckedBaseModel): description="When this is enabled, logs, recordings, and transcriptions will be stored in HIPAA-compliant storage. Defaults to false.\nWhen HIPAA is enabled, only HIPAA-compliant providers will be available for LLM, Voice, and Transcriber respectively.\nThis is due to the compliance requirements of HIPAA. Other providers may not meet these requirements.", ), ] = None + workos_repair_pending: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="workosRepairPending"), + pydantic.Field( + alias="workosRepairPending", + description="The org was created locally, but WorkOS access is still being repaired.\nClients should keep the current session/org and refresh the org list.", + ), + ] = None + workos_repair_queued: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="workosRepairQueued"), + pydantic.Field( + alias="workosRepairQueued", description="Whether the pending WorkOS repair was accepted by Kafka." + ), + ] = None subscription: typing.Optional[Subscription] = None subscription_id: typing_extensions.Annotated[ typing.Optional[str], diff --git a/src/vapi/types/output_tool.py b/src/vapi/types/output_tool.py index c5368e99..a1a1e2a2 100644 --- a/src/vapi/types/output_tool.py +++ b/src/vapi/types/output_tool.py @@ -16,11 +16,12 @@ class OutputTool(UncheckedBaseModel): + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[OutputToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: OutputToolType = pydantic.Field() diff --git a/src/vapi/types/output_tool_messages_item.py b/src/vapi/types/output_tool_messages_item.py index 568bfb97..065489b9 100644 --- a/src/vapi/types/output_tool_messages_item.py +++ b/src/vapi/types/output_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class OutputToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class OutputToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/pagination_meta.py b/src/vapi/types/pagination_meta.py index 8edfc7e0..63ce44b9 100644 --- a/src/vapi/types/pagination_meta.py +++ b/src/vapi/types/pagination_meta.py @@ -8,26 +8,67 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .pagination_meta_sort_order import PaginationMetaSortOrder class PaginationMeta(UncheckedBaseModel): + """ + Pagination and retention metadata returned with a paginated list of phone numbers. + """ + items_per_page: typing_extensions.Annotated[ - float, FieldMetadata(alias="itemsPerPage"), pydantic.Field(alias="itemsPerPage") + float, + FieldMetadata(alias="itemsPerPage"), + pydantic.Field(alias="itemsPerPage", description="The number of phone numbers returned per page."), ] total_items: typing_extensions.Annotated[ - float, FieldMetadata(alias="totalItems"), pydantic.Field(alias="totalItems") + float, + FieldMetadata(alias="totalItems"), + pydantic.Field(alias="totalItems", description="The total number of phone numbers matching the request."), ] current_page: typing_extensions.Annotated[ - float, FieldMetadata(alias="currentPage"), pydantic.Field(alias="currentPage") + float, + FieldMetadata(alias="currentPage"), + pydantic.Field(alias="currentPage", description="The current page number."), ] + total_pages: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="totalPages"), pydantic.Field(alias="totalPages") + ] = None + has_next_page: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="hasNextPage"), pydantic.Field(alias="hasNextPage") + ] = None + next_cursor: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="nextCursor"), + pydantic.Field( + alias="nextCursor", + description="Opaque cursor for the next page under keyset pagination (PRO-3163). Pass it\nback as the `cursor` query param to fetch the next page without an OFFSET\nscan. Present only when a further page likely exists.", + ), + ] = None + sort_order: typing_extensions.Annotated[ + typing.Optional[PaginationMetaSortOrder], FieldMetadata(alias="sortOrder"), pydantic.Field(alias="sortOrder") + ] = None items_beyond_retention: typing_extensions.Annotated[ - typing.Optional[bool], FieldMetadata(alias="itemsBeyondRetention"), pydantic.Field(alias="itemsBeyondRetention") + typing.Optional[bool], + FieldMetadata(alias="itemsBeyondRetention"), + pydantic.Field( + alias="itemsBeyondRetention", + description="Whether additional matching phone numbers exist beyond the organization's data-retention window.", + ), ] = None created_at_le: typing_extensions.Annotated[ - typing.Optional[dt.datetime], FieldMetadata(alias="createdAtLe"), pydantic.Field(alias="createdAtLe") + typing.Optional[dt.datetime], + FieldMetadata(alias="createdAtLe"), + pydantic.Field( + alias="createdAtLe", description="The inclusive upper creation-time boundary applied to the result set." + ), ] = None created_at_ge: typing_extensions.Annotated[ - typing.Optional[dt.datetime], FieldMetadata(alias="createdAtGe"), pydantic.Field(alias="createdAtGe") + typing.Optional[dt.datetime], + FieldMetadata(alias="createdAtGe"), + pydantic.Field( + alias="createdAtGe", description="The inclusive lower creation-time boundary applied to the result set." + ), ] = None if IS_PYDANTIC_V2: diff --git a/src/vapi/types/pagination_meta_sort_order.py b/src/vapi/types/pagination_meta_sort_order.py new file mode 100644 index 00000000..b2e6165c --- /dev/null +++ b/src/vapi/types/pagination_meta_sort_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +PaginationMetaSortOrder = typing.Union[typing.Literal["ASC", "DESC"], typing.Any] diff --git a/src/vapi/types/pending_invitation_dto.py b/src/vapi/types/pending_invitation_dto.py new file mode 100644 index 00000000..edda9f4c --- /dev/null +++ b/src/vapi/types/pending_invitation_dto.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 PendingInvitationDto(UncheckedBaseModel): + id: str + email: 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/vapi/types/pending_invitations_response_dto.py b/src/vapi/types/pending_invitations_response_dto.py new file mode 100644 index 00000000..104f6fb6 --- /dev/null +++ b/src/vapi/types/pending_invitations_response_dto.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 +from .pending_invitation_dto import PendingInvitationDto + + +class PendingInvitationsResponseDto(UncheckedBaseModel): + invitations: typing.List[PendingInvitationDto] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/performance_metrics.py b/src/vapi/types/performance_metrics.py index df7a3bb4..530d3f5d 100644 --- a/src/vapi/types/performance_metrics.py +++ b/src/vapi/types/performance_metrics.py @@ -11,6 +11,10 @@ class PerformanceMetrics(UncheckedBaseModel): + """ + Call performance measurements, including per-turn and average provider, endpointing, transport, and interruption metrics. + """ + turn_latencies: typing_extensions.Annotated[ typing.Optional[typing.List[TurnLatency]], FieldMetadata(alias="turnLatencies"), diff --git a/src/vapi/types/perplexity_ai_model.py b/src/vapi/types/perplexity_ai_model.py index 3daa3043..1210e5c3 100644 --- a/src/vapi/types/perplexity_ai_model.py +++ b/src/vapi/types/perplexity_ai_model.py @@ -11,9 +11,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class PerplexityAiModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Perplexity AI, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -34,6 +39,14 @@ class PerplexityAiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -46,7 +59,7 @@ class PerplexityAiModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -102,8 +115,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -138,6 +155,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -161,8 +185,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -197,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/perplexity_ai_model_tools_item.py b/src/vapi/types/perplexity_ai_model_tools_item.py index 7f1b17d2..5c8bd4e5 100644 --- a/src/vapi/types/perplexity_ai_model_tools_item.py +++ b/src/vapi/types/perplexity_ai_model_tools_item.py @@ -67,6 +67,7 @@ class PerplexityAiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class PerplexityAiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/personality.py b/src/vapi/types/personality.py index 26c4ada6..f8e5efa9 100644 --- a/src/vapi/types/personality.py +++ b/src/vapi/types/personality.py @@ -87,8 +87,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -124,6 +128,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -147,8 +158,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -184,6 +199,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/phone_number_call_ending_hook_filter.py b/src/vapi/types/phone_number_call_ending_hook_filter.py index 99fa4420..bd58b62e 100644 --- a/src/vapi/types/phone_number_call_ending_hook_filter.py +++ b/src/vapi/types/phone_number_call_ending_hook_filter.py @@ -13,6 +13,10 @@ class PhoneNumberCallEndingHookFilter(UncheckedBaseModel): + """ + Matches the call's ended reason against configured assistant-request failure reasons before an ending hook runs. + """ + type: PhoneNumberCallEndingHookFilterType = pydantic.Field() """ This is the type of filter - currently only "oneOf" is supported diff --git a/src/vapi/types/phone_number_call_ringing_hook_filter.py b/src/vapi/types/phone_number_call_ringing_hook_filter.py index 4b2150db..b53d9760 100644 --- a/src/vapi/types/phone_number_call_ringing_hook_filter.py +++ b/src/vapi/types/phone_number_call_ringing_hook_filter.py @@ -12,6 +12,10 @@ class PhoneNumberCallRingingHookFilter(UncheckedBaseModel): + """ + Matches an incoming caller's phone number against one or more prefixes before a ringing hook runs. + """ + type: PhoneNumberCallRingingHookFilterType = pydantic.Field() """ This is the type of filter - matches when the specified field starts with any of the given prefixes diff --git a/src/vapi/types/phone_number_hook_call_ending.py b/src/vapi/types/phone_number_hook_call_ending.py index 6e3a24e0..574741d4 100644 --- a/src/vapi/types/phone_number_hook_call_ending.py +++ b/src/vapi/types/phone_number_hook_call_ending.py @@ -10,6 +10,10 @@ class PhoneNumberHookCallEnding(UncheckedBaseModel): + """ + Runs configured transfer or message actions when a call ends with a matching assistant-request failure reason. + """ + filters: typing.Optional[typing.List[PhoneNumberCallEndingHookFilter]] = pydantic.Field(default=None) """ Optional filters to decide when to trigger - restricted to assistant-request related ended reasons diff --git a/src/vapi/types/phone_number_hook_call_ringing.py b/src/vapi/types/phone_number_hook_call_ringing.py index 012380c7..038724e7 100644 --- a/src/vapi/types/phone_number_hook_call_ringing.py +++ b/src/vapi/types/phone_number_hook_call_ringing.py @@ -10,6 +10,10 @@ class PhoneNumberHookCallRinging(UncheckedBaseModel): + """ + Runs configured transfer or message actions when an incoming call rings and its caller-number prefix filters match. + """ + filters: typing.Optional[typing.List[PhoneNumberCallRingingHookFilter]] = pydantic.Field(default=None) """ Optional filters to decide when to trigger the hook. Currently supports filtering by caller country code. diff --git a/src/vapi/types/phone_number_paginated_response.py b/src/vapi/types/phone_number_paginated_response.py index c84f786d..3c6cc2f6 100644 --- a/src/vapi/types/phone_number_paginated_response.py +++ b/src/vapi/types/phone_number_paginated_response.py @@ -10,6 +10,10 @@ class PhoneNumberPaginatedResponse(UncheckedBaseModel): + """ + A paginated collection of phone numbers and metadata describing the result set. + """ + results: typing.List[PhoneNumberPaginatedResponseResultsItem] = pydantic.Field() """ A list of phone numbers, which can be of any provider type. diff --git a/src/vapi/types/pie_insight.py b/src/vapi/types/pie_insight.py index 68f6171b..b41b96bf 100644 --- a/src/vapi/types/pie_insight.py +++ b/src/vapi/types/pie_insight.py @@ -15,6 +15,10 @@ class PieInsight(UncheckedBaseModel): + """ + A saved pie-chart insight containing its call-data queries, formulas, grouping, time range, and lifecycle information. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -40,7 +44,9 @@ class PieInsight(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the pie-chart data."), ] = None group_by: typing_extensions.Annotated[ typing.Optional[PieInsightGroupBy], @@ -81,6 +87,11 @@ class PieInsight(UncheckedBaseModel): alias="updatedAt", description="This is the ISO 8601 date-time string of when the Insight was last updated." ), ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field(alias="systemKey", description="Stable server-owned identifier for system-created insights."), + ] = 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/vapi/types/play_ht_voice.py b/src/vapi/types/play_ht_voice.py index b01b5f85..2544d984 100644 --- a/src/vapi/types/play_ht_voice.py +++ b/src/vapi/types/play_ht_voice.py @@ -16,6 +16,10 @@ class PlayHtVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with PlayHT, including voice and model selection, language, emotion and style guidance, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/prompt_injection_security_filter.py b/src/vapi/types/prompt_injection_security_filter.py index 05fd3f7f..fbf6733f 100644 --- a/src/vapi/types/prompt_injection_security_filter.py +++ b/src/vapi/types/prompt_injection_security_filter.py @@ -9,6 +9,10 @@ class PromptInjectionSecurityFilter(UncheckedBaseModel): + """ + Filters potential prompt-injection patterns from transcripts. + """ + type: PromptInjectionSecurityFilterType = pydantic.Field() """ The type of security threat to filter. diff --git a/src/vapi/types/provider_resource.py b/src/vapi/types/provider_resource.py index 641ff34d..ec2a4929 100644 --- a/src/vapi/types/provider_resource.py +++ b/src/vapi/types/provider_resource.py @@ -13,6 +13,10 @@ class ProviderResource(UncheckedBaseModel): + """ + A provider-managed pronunciation-dictionary resource mirrored in Vapi, including its provider identifiers, resource data, and lifecycle information. + """ + id: str = pydantic.Field() """ This is the unique identifier for the provider resource. diff --git a/src/vapi/types/provider_resource_paginated_response.py b/src/vapi/types/provider_resource_paginated_response.py index 93965a08..a86528d2 100644 --- a/src/vapi/types/provider_resource_paginated_response.py +++ b/src/vapi/types/provider_resource_paginated_response.py @@ -10,8 +10,19 @@ class ProviderResourcePaginatedResponse(UncheckedBaseModel): - results: typing.List[ProviderResource] - metadata: PaginationMeta + """ + A paginated collection of provider resources and metadata describing the result set. + """ + + results: typing.List[ProviderResource] = pydantic.Field() + """ + The provider resources returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the provider-resource result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/public_key_encryption_plan.py b/src/vapi/types/public_key_encryption_plan.py index abdac7fb..fc0960f6 100644 --- a/src/vapi/types/public_key_encryption_plan.py +++ b/src/vapi/types/public_key_encryption_plan.py @@ -12,6 +12,10 @@ class PublicKeyEncryptionPlan(UncheckedBaseModel): + """ + Configuration for encrypting sensitive outbound request data with a public key. + """ + algorithm: PublicKeyEncryptionPlanAlgorithm = pydantic.Field() """ The encryption algorithm to use. diff --git a/src/vapi/types/query_tool.py b/src/vapi/types/query_tool.py index e7a98610..207ffe85 100644 --- a/src/vapi/types/query_tool.py +++ b/src/vapi/types/query_tool.py @@ -16,11 +16,16 @@ class QueryTool(UncheckedBaseModel): + """ + A reusable tool that searches configured knowledge bases and returns relevant content to the assistant. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[QueryToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ knowledge_bases: typing_extensions.Annotated[ diff --git a/src/vapi/types/query_tool_messages_item.py b/src/vapi/types/query_tool_messages_item.py index b94eb351..4a369755 100644 --- a/src/vapi/types/query_tool_messages_item.py +++ b/src/vapi/types/query_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class QueryToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class QueryToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/rce_security_filter.py b/src/vapi/types/rce_security_filter.py index d39f9de6..85dcb91a 100644 --- a/src/vapi/types/rce_security_filter.py +++ b/src/vapi/types/rce_security_filter.py @@ -9,6 +9,10 @@ class RceSecurityFilter(UncheckedBaseModel): + """ + Filters potential remote code execution (RCE) patterns from transcripts. + """ + type: RceSecurityFilterType = pydantic.Field() """ The type of security threat to filter. diff --git a/src/vapi/types/recording.py b/src/vapi/types/recording.py index 16d98e6d..bf748b92 100644 --- a/src/vapi/types/recording.py +++ b/src/vapi/types/recording.py @@ -11,6 +11,10 @@ class Recording(UncheckedBaseModel): + """ + Call recording locations, including stereo, video, and separated mono recording URLs. + """ + stereo_url: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="stereoUrl"), diff --git a/src/vapi/types/recording_consent.py b/src/vapi/types/recording_consent.py index 138dde69..23bca57d 100644 --- a/src/vapi/types/recording_consent.py +++ b/src/vapi/types/recording_consent.py @@ -8,10 +8,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .recording_consent_type import RecordingConsentType class RecordingConsent(UncheckedBaseModel): - type: typing.Dict[str, typing.Any] = pydantic.Field() + """ + Result of the recording-consent flow, including consent type and the time consent was granted. + """ + + type: RecordingConsentType = pydantic.Field() """ This is the type of recording consent. """ diff --git a/src/vapi/types/recording_consent_plan_stay_on_line.py b/src/vapi/types/recording_consent_plan_stay_on_line.py index 8290702e..4204373a 100644 --- a/src/vapi/types/recording_consent_plan_stay_on_line.py +++ b/src/vapi/types/recording_consent_plan_stay_on_line.py @@ -7,10 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .recording_consent_plan_stay_on_line_first_message_mode import RecordingConsentPlanStayOnLineFirstMessageMode from .recording_consent_plan_stay_on_line_voice import RecordingConsentPlanStayOnLineVoice class RecordingConsentPlanStayOnLine(UncheckedBaseModel): + """ + Configuration for requesting recording consent by treating continued presence on the call as consent, including the announcement voice and wait time. + """ + message: str = pydantic.Field() """ This is the message asking for consent to record the call. @@ -24,6 +29,14 @@ class RecordingConsentPlanStayOnLine(UncheckedBaseModel): Use a different voice for the consent message for a better user experience. """ + first_message_mode: typing_extensions.Annotated[ + typing.Optional[RecordingConsentPlanStayOnLineFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This controls whether the consent assistant speaks first or waits for the caller to speak first.\n\nUse:\n- `assistant-speaks-first` (default) to have the consent assistant play the consent message as soon as the call is answered.\n- `assistant-waits-for-user` to have the consent assistant wait for the caller to speak before playing the consent message.\n\nWe strongly recommend `assistant-waits-for-user` for outbound calls. Some telephony providers signal \"answered\" while the line is still ringing, which can cause the consent message to play into a ringing line and be missed by the caller. Waiting for the caller to speak first guarantees they hear the full consent message.\n\nNote: when combined with `type: 'stay-on-line'`, silence only counts toward consent after the caller has spoken at least once.\n\n@default 'assistant-speaks-first'", + ), + ] = None wait_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="waitSeconds"), diff --git a/src/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.py b/src/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.py new file mode 100644 index 00000000..635fd530 --- /dev/null +++ b/src/vapi/types/recording_consent_plan_stay_on_line_first_message_mode.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +RecordingConsentPlanStayOnLineFirstMessageMode = typing.Union[ + typing.Literal["assistant-speaks-first", "assistant-waits-for-user"], typing.Any +] diff --git a/src/vapi/types/recording_consent_plan_stay_on_line_voice.py b/src/vapi/types/recording_consent_plan_stay_on_line_voice.py index 587a8679..783359e3 100644 --- a/src/vapi/types/recording_consent_plan_stay_on_line_voice.py +++ b/src/vapi/types/recording_consent_plan_stay_on_line_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class RecordingConsentPlanStayOnLineVoice_Azure(UncheckedBaseModel): @@ -592,7 +599,9 @@ class RecordingConsentPlanStayOnLineVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -601,9 +610,6 @@ class RecordingConsentPlanStayOnLineVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -733,6 +739,74 @@ class Config: extra = pydantic.Extra.allow +class RecordingConsentPlanStayOnLineVoice_Xai(UncheckedBaseModel): + """ + This is the voice to use for the consent message. If not specified, inherits from the assistant's voice. + Use a different voice for the consent message for a better user experience. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 RecordingConsentPlanStayOnLineVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice to use for the consent message. If not specified, inherits from the assistant's voice. + Use a different voice for the consent message for a better user experience. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + RecordingConsentPlanStayOnLineVoice = typing_extensions.Annotated[ typing.Union[ RecordingConsentPlanStayOnLineVoice_Azure, @@ -753,6 +827,8 @@ class Config: RecordingConsentPlanStayOnLineVoice_Sesame, RecordingConsentPlanStayOnLineVoice_Inworld, RecordingConsentPlanStayOnLineVoice_Minimax, + RecordingConsentPlanStayOnLineVoice_Xai, + RecordingConsentPlanStayOnLineVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/recording_consent_plan_verbal.py b/src/vapi/types/recording_consent_plan_verbal.py index ce1a491a..e81d89d0 100644 --- a/src/vapi/types/recording_consent_plan_verbal.py +++ b/src/vapi/types/recording_consent_plan_verbal.py @@ -7,10 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .recording_consent_plan_verbal_first_message_mode import RecordingConsentPlanVerbalFirstMessageMode from .recording_consent_plan_verbal_voice import RecordingConsentPlanVerbalVoice class RecordingConsentPlanVerbal(UncheckedBaseModel): + """ + Configuration for requesting explicit verbal recording consent, including the announcement voice and action to take when the customer declines. + """ + message: str = pydantic.Field() """ This is the message asking for consent to record the call. @@ -24,6 +29,14 @@ class RecordingConsentPlanVerbal(UncheckedBaseModel): Use a different voice for the consent message for a better user experience. """ + first_message_mode: typing_extensions.Annotated[ + typing.Optional[RecordingConsentPlanVerbalFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This controls whether the consent assistant speaks first or waits for the caller to speak first.\n\nUse:\n- `assistant-speaks-first` (default) to have the consent assistant play the consent message as soon as the call is answered.\n- `assistant-waits-for-user` to have the consent assistant wait for the caller to speak before playing the consent message.\n\nWe strongly recommend `assistant-waits-for-user` for outbound calls. Some telephony providers signal \"answered\" while the line is still ringing, which can cause the consent message to play into a ringing line and be missed by the caller. Waiting for the caller to speak first guarantees they hear the full consent message.\n\nNote: when combined with `type: 'stay-on-line'`, silence only counts toward consent after the caller has spoken at least once.\n\n@default 'assistant-speaks-first'", + ), + ] = None decline_tool: typing_extensions.Annotated[ typing.Optional[typing.Dict[str, typing.Any]], FieldMetadata(alias="declineTool"), diff --git a/src/vapi/types/recording_consent_plan_verbal_first_message_mode.py b/src/vapi/types/recording_consent_plan_verbal_first_message_mode.py new file mode 100644 index 00000000..286acffa --- /dev/null +++ b/src/vapi/types/recording_consent_plan_verbal_first_message_mode.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +RecordingConsentPlanVerbalFirstMessageMode = typing.Union[ + typing.Literal["assistant-speaks-first", "assistant-waits-for-user"], typing.Any +] diff --git a/src/vapi/types/recording_consent_plan_verbal_voice.py b/src/vapi/types/recording_consent_plan_verbal_voice.py index 6aa5b2c8..cda0bbf9 100644 --- a/src/vapi/types/recording_consent_plan_verbal_voice.py +++ b/src/vapi/types/recording_consent_plan_verbal_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class RecordingConsentPlanVerbalVoice_Azure(UncheckedBaseModel): @@ -592,7 +599,9 @@ class RecordingConsentPlanVerbalVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -601,9 +610,6 @@ class RecordingConsentPlanVerbalVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -733,6 +739,74 @@ class Config: extra = pydantic.Extra.allow +class RecordingConsentPlanVerbalVoice_Xai(UncheckedBaseModel): + """ + This is the voice to use for the consent message. If not specified, inherits from the assistant's voice. + Use a different voice for the consent message for a better user experience. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 RecordingConsentPlanVerbalVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice to use for the consent message. If not specified, inherits from the assistant's voice. + Use a different voice for the consent message for a better user experience. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + RecordingConsentPlanVerbalVoice = typing_extensions.Annotated[ typing.Union[ RecordingConsentPlanVerbalVoice_Azure, @@ -753,6 +827,8 @@ class Config: RecordingConsentPlanVerbalVoice_Sesame, RecordingConsentPlanVerbalVoice_Inworld, RecordingConsentPlanVerbalVoice_Minimax, + RecordingConsentPlanVerbalVoice_Xai, + RecordingConsentPlanVerbalVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/recording_consent_type.py b/src/vapi/types/recording_consent_type.py new file mode 100644 index 00000000..8c0e776c --- /dev/null +++ b/src/vapi/types/recording_consent_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +RecordingConsentType = typing.Union[typing.Literal["stay-on-line", "verbal"], typing.Any] diff --git a/src/vapi/types/regex_condition.py b/src/vapi/types/regex_condition.py index d8dd2658..81e5db67 100644 --- a/src/vapi/types/regex_condition.py +++ b/src/vapi/types/regex_condition.py @@ -9,6 +9,10 @@ class RegexCondition(UncheckedBaseModel): + """ + Evaluates whether targeted conversation-message content matches a regular expression. + """ + regex: str = pydantic.Field() """ This is the regular expression pattern to match against message content. diff --git a/src/vapi/types/regex_option.py b/src/vapi/types/regex_option.py index b2821094..c824ade2 100644 --- a/src/vapi/types/regex_option.py +++ b/src/vapi/types/regex_option.py @@ -9,6 +9,10 @@ class RegexOption(UncheckedBaseModel): + """ + Enables or disables one regular-expression matching option for a text replacement. + """ + type: RegexOptionType = pydantic.Field() """ This is the type of the regex option. Options are: diff --git a/src/vapi/types/regex_replacement.py b/src/vapi/types/regex_replacement.py index 486e8353..8577a545 100644 --- a/src/vapi/types/regex_replacement.py +++ b/src/vapi/types/regex_replacement.py @@ -9,6 +9,10 @@ class RegexReplacement(UncheckedBaseModel): + """ + Replaces text matching a regular expression before it is sent to a voice provider. + """ + regex: str = pydantic.Field() """ This is the regex pattern to replace. diff --git a/src/vapi/types/regex_security_filter.py b/src/vapi/types/regex_security_filter.py index f59f43a3..c9496b73 100644 --- a/src/vapi/types/regex_security_filter.py +++ b/src/vapi/types/regex_security_filter.py @@ -9,6 +9,10 @@ class RegexSecurityFilter(UncheckedBaseModel): + """ + Filters transcript content that matches a custom regular expression. + """ + type: RegexSecurityFilterType = pydantic.Field() """ The type of security threat to filter. diff --git a/src/vapi/types/revoke_invitation_response_dto.py b/src/vapi/types/revoke_invitation_response_dto.py new file mode 100644 index 00000000..fe84e778 --- /dev/null +++ b/src/vapi/types/revoke_invitation_response_dto.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 RevokeInvitationResponseDto(UncheckedBaseModel): + success: bool + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/rime_ai_voice.py b/src/vapi/types/rime_ai_voice.py index 129146ac..cc6d8e85 100644 --- a/src/vapi/types/rime_ai_voice.py +++ b/src/vapi/types/rime_ai_voice.py @@ -15,6 +15,10 @@ class RimeAiVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Rime AI, including voice and model selection, language, speed, pauses, phonemization, latency, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/s_3_compatible_bucket_plan.py b/src/vapi/types/s_3_compatible_bucket_plan.py new file mode 100644 index 00000000..02841ae4 --- /dev/null +++ b/src/vapi/types/s_3_compatible_bucket_plan.py @@ -0,0 +1,48 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class S3CompatibleBucketPlan(UncheckedBaseModel): + url: str = pydantic.Field() + """ + S3-compatible endpoint URL, such as https://s3.us-west-004.backblazeb2.com. Must be public HTTPS. + """ + + region: str = pydantic.Field() + """ + SigV4 signing region expected by the object store. Most stores accept us-east-1. + """ + + access_key_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="accessKeyId"), pydantic.Field(alias="accessKeyId", description="S3 access key ID.") + ] + secret_access_key: typing_extensions.Annotated[ + str, + FieldMetadata(alias="secretAccessKey"), + pydantic.Field(alias="secretAccessKey", description="S3 secret access key. This is not returned in the API."), + ] + name: str = pydantic.Field() + """ + Bucket name. + """ + + path: typing.Optional[str] = pydantic.Field(default=None) + """ + Optional key prefix inside the bucket, such as recordings/. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/s_3_compatible_storage_credential.py b/src/vapi/types/s_3_compatible_storage_credential.py new file mode 100644 index 00000000..602ba16e --- /dev/null +++ b/src/vapi/types/s_3_compatible_storage_credential.py @@ -0,0 +1,71 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan +from .s_3_compatible_storage_credential_provider import S3CompatibleStorageCredentialProvider + + +class S3CompatibleStorageCredential(UncheckedBaseModel): + provider: S3CompatibleStorageCredentialProvider = pydantic.Field() + """ + This is for S3-compatible storage such as MinIO, Garage, Ceph, or Backblaze B2. + """ + + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="fallbackIndex"), + pydantic.Field( + alias="fallbackIndex", + description="This is the order in which this storage provider is tried during upload retries. Lower numbers are tried first in increasing order.", + ), + ] = None + id: str = pydantic.Field() + """ + This is the unique identifier for the credential. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field( + alias="orgId", description="This is the unique identifier for the org that this credential belongs to." + ), + ] + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field( + alias="createdAt", description="This is the ISO 8601 date-time string of when the credential was created." + ), + ] + updated_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field( + alias="updatedAt", + description="This is the ISO 8601 date-time string of when the assistant was last updated.", + ), + ] + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of credential. This is just for your reference. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/s_3_compatible_storage_credential_provider.py b/src/vapi/types/s_3_compatible_storage_credential_provider.py new file mode 100644 index 00000000..b8ea4f76 --- /dev/null +++ b/src/vapi/types/s_3_compatible_storage_credential_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +S3CompatibleStorageCredentialProvider = typing.Union[typing.Literal["s3-compatible"], typing.Any] diff --git a/src/vapi/types/say_hook_action.py b/src/vapi/types/say_hook_action.py index e6f7f301..cafc2d23 100644 --- a/src/vapi/types/say_hook_action.py +++ b/src/vapi/types/say_hook_action.py @@ -5,19 +5,24 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel +from .say_hook_action_exact import SayHookActionExact from .say_hook_action_prompt import SayHookActionPrompt class SayHookAction(UncheckedBaseModel): - prompt: typing.Optional[SayHookActionPrompt] = pydantic.Field(default=None) """ - This is the prompt for the assistant to generate a response based on existing conversation. - Can be a string or an array of chat messages. + A hook action that makes the assistant speak exact text or generate a response from a prompt. """ - exact: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + exact: typing.Optional[SayHookActionExact] = pydantic.Field(default=None) """ - This is the message to say + This is the exact message to say. When a string array is provided, one is randomly selected. + """ + + prompt: typing.Optional[SayHookActionPrompt] = pydantic.Field(default=None) + """ + This is the prompt for the assistant to generate a response based on existing conversation. + Can be a string or an array of chat messages. """ if IS_PYDANTIC_V2: diff --git a/src/vapi/types/vapi_model_provider.py b/src/vapi/types/say_hook_action_exact.py similarity index 53% rename from src/vapi/types/vapi_model_provider.py rename to src/vapi/types/say_hook_action_exact.py index 84a02f81..62e68481 100644 --- a/src/vapi/types/vapi_model_provider.py +++ b/src/vapi/types/say_hook_action_exact.py @@ -2,4 +2,4 @@ import typing -VapiModelProvider = typing.Union[typing.Literal["vapi"], typing.Any] +SayHookActionExact = typing.Union[str, typing.List[str]] diff --git a/src/vapi/types/say_phone_number_hook_action.py b/src/vapi/types/say_phone_number_hook_action.py index 0a3c3143..30a4cf73 100644 --- a/src/vapi/types/say_phone_number_hook_action.py +++ b/src/vapi/types/say_phone_number_hook_action.py @@ -8,6 +8,10 @@ class SayPhoneNumberHookAction(UncheckedBaseModel): + """ + A phone-number hook action that speaks an exact message to the caller. + """ + exact: str = pydantic.Field() """ This is the message to say diff --git a/src/vapi/types/sbc_configuration.py b/src/vapi/types/sbc_configuration.py index b51f1414..390ba5a5 100644 --- a/src/vapi/types/sbc_configuration.py +++ b/src/vapi/types/sbc_configuration.py @@ -2,17 +2,7 @@ import typing -import pydantic -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.unchecked_base_model import UncheckedBaseModel - - -class SbcConfiguration(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 +SbcConfiguration = typing.Any +""" +Routes bring-your-own SIP traffic through an on-premises session border controller instead of Vapi's managed controller. +""" diff --git a/src/vapi/types/scenario.py b/src/vapi/types/scenario.py index 6c6aac8b..fd6d3bea 100644 --- a/src/vapi/types/scenario.py +++ b/src/vapi/types/scenario.py @@ -111,8 +111,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -148,6 +152,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -171,8 +182,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -208,6 +223,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/schedule_plan.py b/src/vapi/types/schedule_plan.py index 83865a49..563e2aa3 100644 --- a/src/vapi/types/schedule_plan.py +++ b/src/vapi/types/schedule_plan.py @@ -11,6 +11,10 @@ class SchedulePlan(UncheckedBaseModel): + """ + Time window that controls the earliest and latest time a call may begin. + """ + earliest_at: typing_extensions.Annotated[ dt.datetime, FieldMetadata(alias="earliestAt"), diff --git a/src/vapi/types/scorecard.py b/src/vapi/types/scorecard.py index bef6baf9..e0f88f39 100644 --- a/src/vapi/types/scorecard.py +++ b/src/vapi/types/scorecard.py @@ -12,6 +12,10 @@ class Scorecard(UncheckedBaseModel): + """ + A saved scorecard containing its evaluation metrics, scoring conditions, assistant associations, descriptive metadata, and lifecycle information. + """ + id: str = pydantic.Field() """ This is the unique identifier for the scorecard. diff --git a/src/vapi/types/scorecard_metric.py b/src/vapi/types/scorecard_metric.py index e8292be0..50772681 100644 --- a/src/vapi/types/scorecard_metric.py +++ b/src/vapi/types/scorecard_metric.py @@ -7,9 +7,22 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .scorecard_metric_conditions_item import ScorecardMetricConditionsItem class ScorecardMetric(UncheckedBaseModel): + """ + A scorecard metric that awards points when a structured output meets its configured conditions. + """ + + conditions: typing.List[ScorecardMetricConditionsItem] = pydantic.Field() + """ + These are the conditions that will be used to evaluate the scorecard. + Each condition will have a comparator, value, and points that will be used to calculate the final score. + The points will be added to the overall score if the condition is met. + The overall score will be normalized to a 100 point scale to ensure uniformity across different scorecards. + """ + structured_output_id: typing_extensions.Annotated[ str, FieldMetadata(alias="structuredOutputId"), @@ -18,13 +31,6 @@ class ScorecardMetric(UncheckedBaseModel): description="This is the unique identifier for the structured output that will be used to evaluate the scorecard.\nThe structured output must be of type number or boolean only for now.", ), ] - conditions: typing.List[typing.Dict[str, typing.Any]] = pydantic.Field() - """ - These are the conditions that will be used to evaluate the scorecard. - Each condition will have a comparator, value, and points that will be used to calculate the final score. - The points will be added to the overall score if the condition is met. - The overall score will be normalized to a 100 point scale to ensure uniformity across different scorecards. - """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/scorecard_metric_conditions_item.py b/src/vapi/types/scorecard_metric_conditions_item.py new file mode 100644 index 00000000..213b6a98 --- /dev/null +++ b/src/vapi/types/scorecard_metric_conditions_item.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .boolean_comparator_scorecard_metric_condition import BooleanComparatorScorecardMetricCondition +from .number_comparator_scorecard_metric_condition import NumberComparatorScorecardMetricCondition + +ScorecardMetricConditionsItem = typing.Union[ + NumberComparatorScorecardMetricCondition, BooleanComparatorScorecardMetricCondition +] diff --git a/src/vapi/types/scorecard_paginated_response.py b/src/vapi/types/scorecard_paginated_response.py index 5556be83..e552a737 100644 --- a/src/vapi/types/scorecard_paginated_response.py +++ b/src/vapi/types/scorecard_paginated_response.py @@ -10,8 +10,19 @@ class ScorecardPaginatedResponse(UncheckedBaseModel): - results: typing.List[Scorecard] - metadata: PaginationMeta + """ + A paginated collection of scorecards and metadata describing the result set. + """ + + results: typing.List[Scorecard] = pydantic.Field() + """ + The scorecards returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the scorecard result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/security_filter_base.py b/src/vapi/types/security_filter_base.py index 08d4b5dd..79ef0e35 100644 --- a/src/vapi/types/security_filter_base.py +++ b/src/vapi/types/security_filter_base.py @@ -8,6 +8,10 @@ class SecurityFilterBase(UncheckedBaseModel): + """ + Base configuration for a security filter applied to transcripts before model processing. + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/security_filter_plan.py b/src/vapi/types/security_filter_plan.py index c0ad975a..19ffc22a 100644 --- a/src/vapi/types/security_filter_plan.py +++ b/src/vapi/types/security_filter_plan.py @@ -12,6 +12,10 @@ class SecurityFilterPlan(UncheckedBaseModel): + """ + Controls filtering of transcripts for security threats before content is sent to the assistant's language model, including filter selection, handling mode, and replacement text. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ Whether the security filter is enabled. diff --git a/src/vapi/types/server.py b/src/vapi/types/server.py index 50977758..6d793edf 100644 --- a/src/vapi/types/server.py +++ b/src/vapi/types/server.py @@ -11,6 +11,10 @@ class Server(UncheckedBaseModel): + """ + Configuration for requests Vapi sends to a customer server, including URL, authentication, headers, timeout, encryption, static IP addresses, and retry behavior. + """ + timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), diff --git a/src/vapi/types/server_message_assistant_request.py b/src/vapi/types/server_message_assistant_request.py index 408b166f..85c9d373 100644 --- a/src/vapi/types/server_message_assistant_request.py +++ b/src/vapi/types/server_message_assistant_request.py @@ -25,6 +25,14 @@ class ServerMessageAssistantRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageAssistantRequestType = pydantic.Field() """ This is the type of the message. "assistant-request" is sent to fetch assistant configuration for an incoming call. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_assistant_speech.py b/src/vapi/types/server_message_assistant_speech.py index 7065ba59..aabf9bb1 100644 --- a/src/vapi/types/server_message_assistant_speech.py +++ b/src/vapi/types/server_message_assistant_speech.py @@ -27,6 +27,14 @@ class ServerMessageAssistantSpeech(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageAssistantSpeechType = pydantic.Field() """ This is the type of the message. "assistant-speech" is sent as assistant audio is being played. @@ -129,8 +137,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -166,6 +178,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -189,8 +208,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -226,6 +249,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_call_delete_failed.py b/src/vapi/types/server_message_call_delete_failed.py index 81f1a577..d3bc4f98 100644 --- a/src/vapi/types/server_message_call_delete_failed.py +++ b/src/vapi/types/server_message_call_delete_failed.py @@ -25,6 +25,14 @@ class ServerMessageCallDeleteFailed(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageCallDeleteFailedType = pydantic.Field() """ This is the type of the message. "call.deleted" is sent when a call is deleted. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_call_deleted.py b/src/vapi/types/server_message_call_deleted.py index a249f9ad..a4ecce88 100644 --- a/src/vapi/types/server_message_call_deleted.py +++ b/src/vapi/types/server_message_call_deleted.py @@ -25,6 +25,14 @@ class ServerMessageCallDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageCallDeletedType = pydantic.Field() """ This is the type of the message. "call.deleted" is sent when a call is deleted. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_call_endpointing_request.py b/src/vapi/types/server_message_call_endpointing_request.py index cd2b0a95..567dc73d 100644 --- a/src/vapi/types/server_message_call_endpointing_request.py +++ b/src/vapi/types/server_message_call_endpointing_request.py @@ -27,6 +27,14 @@ class ServerMessageCallEndpointingRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageCallEndpointingRequestType = pydantic.Field() """ This is the type of the message. "call.endpointing.request" is sent when using `assistant.startSpeakingPlan.smartEndpointingPlan={ "provider": "custom-endpointing-model" }`. @@ -129,8 +137,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -166,6 +178,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -189,8 +208,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -226,6 +249,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_campaign_predial.py b/src/vapi/types/server_message_campaign_predial.py new file mode 100644 index 00000000..19d45f96 --- /dev/null +++ b/src/vapi/types/server_message_campaign_predial.py @@ -0,0 +1,233 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .artifact import Artifact +from .call import Call +from .campaign_contact import CampaignContact +from .chat import Chat +from .create_customer_dto import CreateCustomerDto +from .server_message_campaign_predial_phone_number import ServerMessageCampaignPredialPhoneNumber +from .server_message_campaign_predial_type import ServerMessageCampaignPredialType + + +class ServerMessageCampaignPredial(UncheckedBaseModel): + phone_number: typing_extensions.Annotated[ + typing.Optional[ServerMessageCampaignPredialPhoneNumber], + FieldMetadata(alias="phoneNumber"), + pydantic.Field( + alias="phoneNumber", description="This is the phone number that the message is associated with." + ), + ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None + type: ServerMessageCampaignPredialType = pydantic.Field() + """ + This is the type of the message. "campaign.predial" is sent to the campaign's server before each contact is dialed, so the server can decide whether the contact is eligible to be called. It is only sent when the campaign's `predialPlan` is set (and not disabled). + """ + + campaign_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="campaignId"), + pydantic.Field(alias="campaignId", description="This is the ID of the campaign the contact belongs to."), + ] + contact: CampaignContact = pydantic.Field() + """ + This is the contact that is about to be dialed. + """ + + timestamp: typing.Optional[float] = pydantic.Field(default=None) + """ + This is the timestamp of the message. + """ + + artifact: typing.Optional[Artifact] = pydantic.Field(default=None) + """ + This is a live version of the `call.artifact`. + + This matches what is stored on `call.artifact` after the call. + """ + + assistant: typing.Optional["CreateAssistantDto"] = pydantic.Field(default=None) + """ + This is the assistant that the message is associated with. + """ + + customer: typing.Optional[CreateCustomerDto] = pydantic.Field(default=None) + """ + This is the customer that the message is associated with. + """ + + call: typing.Optional[Call] = pydantic.Field(default=None) + """ + This is the call that the message is associated with. + """ + + chat: typing.Optional[Chat] = pydantic.Field(default=None) + """ + This is the chat object. + """ + + 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 + + +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + ServerMessageCampaignPredial, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/server_message_campaign_predial_phone_number.py b/src/vapi/types/server_message_campaign_predial_phone_number.py new file mode 100644 index 00000000..458018f7 --- /dev/null +++ b/src/vapi/types/server_message_campaign_predial_phone_number.py @@ -0,0 +1,247 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .create_byo_phone_number_dto_fallback_destination import CreateByoPhoneNumberDtoFallbackDestination +from .create_byo_phone_number_dto_hooks_item import CreateByoPhoneNumberDtoHooksItem +from .create_telnyx_phone_number_dto_fallback_destination import CreateTelnyxPhoneNumberDtoFallbackDestination +from .create_telnyx_phone_number_dto_hooks_item import CreateTelnyxPhoneNumberDtoHooksItem +from .create_twilio_phone_number_dto_fallback_destination import CreateTwilioPhoneNumberDtoFallbackDestination +from .create_twilio_phone_number_dto_hooks_item import CreateTwilioPhoneNumberDtoHooksItem +from .create_vapi_phone_number_dto_fallback_destination import CreateVapiPhoneNumberDtoFallbackDestination +from .create_vapi_phone_number_dto_hooks_item import CreateVapiPhoneNumberDtoHooksItem +from .create_vonage_phone_number_dto_fallback_destination import CreateVonagePhoneNumberDtoFallbackDestination +from .create_vonage_phone_number_dto_hooks_item import CreateVonagePhoneNumberDtoHooksItem +from .server import Server +from .sip_authentication import SipAuthentication + + +class ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber(UncheckedBaseModel): + """ + This is the phone number that the message is associated with. + """ + + provider: typing.Literal["byo-phone-number"] = "byo-phone-number" + fallback_destination: typing_extensions.Annotated[ + typing.Optional[CreateByoPhoneNumberDtoFallbackDestination], + FieldMetadata(alias="fallbackDestination"), + pydantic.Field(alias="fallbackDestination"), + ] = None + hooks: typing.Optional[typing.List[CreateByoPhoneNumberDtoHooksItem]] = None + number_e_164_check_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="numberE164CheckEnabled"), + pydantic.Field(alias="numberE164CheckEnabled"), + ] = None + number: typing.Optional[str] = None + credential_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="credentialId"), pydantic.Field(alias="credentialId") + ] + name: typing.Optional[str] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + server: typing.Optional[Server] = 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 ServerMessageCampaignPredialPhoneNumber_Twilio(UncheckedBaseModel): + """ + This is the phone number that the message is associated with. + """ + + provider: typing.Literal["twilio"] = "twilio" + fallback_destination: typing_extensions.Annotated[ + typing.Optional[CreateTwilioPhoneNumberDtoFallbackDestination], + FieldMetadata(alias="fallbackDestination"), + pydantic.Field(alias="fallbackDestination"), + ] = None + hooks: typing.Optional[typing.List[CreateTwilioPhoneNumberDtoHooksItem]] = None + sms_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="smsEnabled"), pydantic.Field(alias="smsEnabled") + ] = None + number: str + twilio_account_sid: typing_extensions.Annotated[ + str, FieldMetadata(alias="twilioAccountSid"), pydantic.Field(alias="twilioAccountSid") + ] + twilio_auth_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="twilioAuthToken"), pydantic.Field(alias="twilioAuthToken") + ] = None + twilio_api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="twilioApiKey"), pydantic.Field(alias="twilioApiKey") + ] = None + twilio_api_secret: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="twilioApiSecret"), pydantic.Field(alias="twilioApiSecret") + ] = None + name: typing.Optional[str] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + server: typing.Optional[Server] = 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 ServerMessageCampaignPredialPhoneNumber_Vonage(UncheckedBaseModel): + """ + This is the phone number that the message is associated with. + """ + + provider: typing.Literal["vonage"] = "vonage" + fallback_destination: typing_extensions.Annotated[ + typing.Optional[CreateVonagePhoneNumberDtoFallbackDestination], + FieldMetadata(alias="fallbackDestination"), + pydantic.Field(alias="fallbackDestination"), + ] = None + hooks: typing.Optional[typing.List[CreateVonagePhoneNumberDtoHooksItem]] = None + number: str + credential_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="credentialId"), pydantic.Field(alias="credentialId") + ] + name: typing.Optional[str] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + server: typing.Optional[Server] = 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 ServerMessageCampaignPredialPhoneNumber_Vapi(UncheckedBaseModel): + """ + This is the phone number that the message is associated with. + """ + + provider: typing.Literal["vapi"] = "vapi" + fallback_destination: typing_extensions.Annotated[ + typing.Optional[CreateVapiPhoneNumberDtoFallbackDestination], + FieldMetadata(alias="fallbackDestination"), + pydantic.Field(alias="fallbackDestination"), + ] = None + hooks: typing.Optional[typing.List[CreateVapiPhoneNumberDtoHooksItem]] = None + number_desired_area_code: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="numberDesiredAreaCode"), + pydantic.Field(alias="numberDesiredAreaCode"), + ] = None + sip_uri: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sipUri"), pydantic.Field(alias="sipUri") + ] = None + authentication: typing.Optional[SipAuthentication] = None + name: typing.Optional[str] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + server: typing.Optional[Server] = 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 ServerMessageCampaignPredialPhoneNumber_Telnyx(UncheckedBaseModel): + """ + This is the phone number that the message is associated with. + """ + + provider: typing.Literal["telnyx"] = "telnyx" + fallback_destination: typing_extensions.Annotated[ + typing.Optional[CreateTelnyxPhoneNumberDtoFallbackDestination], + FieldMetadata(alias="fallbackDestination"), + pydantic.Field(alias="fallbackDestination"), + ] = None + hooks: typing.Optional[typing.List[CreateTelnyxPhoneNumberDtoHooksItem]] = None + number: str + credential_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="credentialId"), pydantic.Field(alias="credentialId") + ] + name: typing.Optional[str] = None + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="assistantId"), pydantic.Field(alias="assistantId") + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="squadId"), pydantic.Field(alias="squadId") + ] = None + server: typing.Optional[Server] = 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 + + +ServerMessageCampaignPredialPhoneNumber = typing_extensions.Annotated[ + typing.Union[ + ServerMessageCampaignPredialPhoneNumber_ByoPhoneNumber, + ServerMessageCampaignPredialPhoneNumber_Twilio, + ServerMessageCampaignPredialPhoneNumber_Vonage, + ServerMessageCampaignPredialPhoneNumber_Vapi, + ServerMessageCampaignPredialPhoneNumber_Telnyx, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/server_message_campaign_predial_type.py b/src/vapi/types/server_message_campaign_predial_type.py new file mode 100644 index 00000000..29763404 --- /dev/null +++ b/src/vapi/types/server_message_campaign_predial_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ServerMessageCampaignPredialType = typing.Union[typing.Literal["campaign.predial"], typing.Any] diff --git a/src/vapi/types/server_message_chat_created.py b/src/vapi/types/server_message_chat_created.py index 866b5f4a..892e6974 100644 --- a/src/vapi/types/server_message_chat_created.py +++ b/src/vapi/types/server_message_chat_created.py @@ -25,6 +25,14 @@ class ServerMessageChatCreated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageChatCreatedType = pydantic.Field() """ This is the type of the message. "chat.created" is sent when a new chat is created. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_chat_deleted.py b/src/vapi/types/server_message_chat_deleted.py index 700fac32..9e247ad9 100644 --- a/src/vapi/types/server_message_chat_deleted.py +++ b/src/vapi/types/server_message_chat_deleted.py @@ -25,6 +25,14 @@ class ServerMessageChatDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageChatDeletedType = pydantic.Field() """ This is the type of the message. "chat.deleted" is sent when a chat is deleted. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_conversation_update.py b/src/vapi/types/server_message_conversation_update.py index 2a47bf67..b13aa463 100644 --- a/src/vapi/types/server_message_conversation_update.py +++ b/src/vapi/types/server_message_conversation_update.py @@ -27,6 +27,14 @@ class ServerMessageConversationUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageConversationUpdateType = pydantic.Field() """ This is the type of the message. "conversation-update" is sent when an update is committed to the conversation history. @@ -105,8 +113,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -142,6 +154,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -165,8 +184,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -202,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_end_of_call_report.py b/src/vapi/types/server_message_end_of_call_report.py index 0dc73a5c..f29e9e09 100644 --- a/src/vapi/types/server_message_end_of_call_report.py +++ b/src/vapi/types/server_message_end_of_call_report.py @@ -31,6 +31,14 @@ class ServerMessageEndOfCallReport(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageEndOfCallReportType = pydantic.Field() """ This is the type of the message. "end-of-call-report" is sent when the call ends and post-processing is complete. @@ -144,8 +152,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -181,6 +193,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -204,8 +223,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -241,6 +264,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_end_of_call_report_costs_item.py b/src/vapi/types/server_message_end_of_call_report_costs_item.py index 2111c75d..e123131d 100644 --- a/src/vapi/types/server_message_end_of_call_report_costs_item.py +++ b/src/vapi/types/server_message_end_of_call_report_costs_item.py @@ -59,6 +59,9 @@ class ServerMessageEndOfCallReportCostsItem_Model(UncheckedBaseModel): cached_prompt_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="cachedPromptTokens"), pydantic.Field(alias="cachedPromptTokens") ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/server_message_end_of_call_report_ended_reason.py b/src/vapi/types/server_message_end_of_call_report_ended_reason.py index b4eb92a2..335ede57 100644 --- a/src/vapi/types/server_message_end_of_call_report_ended_reason.py +++ b/src/vapi/types/server_message_end_of_call_report_ended_reason.py @@ -28,6 +28,7 @@ "call.start.error-subscription-upgrade-failed", "call.start.error-subscription-concurrency-limit-reached", "call.start.error-enterprise-feature-not-available-recording-consent", + "call.start.assistant-version-error-validation", "assistant-not-valid", "call.start.error-vapifault-database-error", "assistant-not-found", @@ -47,6 +48,9 @@ "pipeline-error-inworld-voice-failed", "pipeline-error-minimax-voice-failed", "pipeline-error-wellsaid-voice-failed", + "pipeline-error-xai-voice-failed", + "pipeline-error-microsoft-voice-failed", + "pipeline-error-microsoft-voice-request-canceled", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -64,6 +68,8 @@ "call.in-progress.error-vapifault-inworld-voice-failed", "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-wellsaid-voice-failed", + "call.in-progress.error-vapifault-xai-voice-failed", + "call.in-progress.error-vapifault-microsoft-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -73,12 +79,17 @@ "pipeline-error-vapi-500-server-error", "pipeline-error-vapi-503-server-overloaded-error", "call.in-progress.error-providerfault-vapi-llm-failed", + "call.in-progress.error-vapifault-vapi-llm-failed", "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed", "call.in-progress.error-vapifault-vapi-401-unauthorized", "call.in-progress.error-vapifault-vapi-403-model-access-denied", "call.in-progress.error-vapifault-vapi-429-exceeded-quota", "call.in-progress.error-providerfault-vapi-500-server-error", "call.in-progress.error-providerfault-vapi-503-server-overloaded-error", + "pipeline-error-vapi-transcriber-failed", + "call.in-progress.error-vapifault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-voice-failed", "pipeline-error-deepgram-transcriber-failed", "pipeline-error-deepgram-transcriber-api-key-missing", "call.in-progress.error-vapifault-deepgram-transcriber-failed", @@ -118,6 +129,18 @@ "call.in-progress.error-vapifault-soniox-transcriber-invalid-config", "call.in-progress.error-vapifault-soniox-transcriber-server-error", "call.in-progress.error-vapifault-soniox-transcriber-failed", + "pipeline-error-xai-transcriber-auth-failed", + "pipeline-error-xai-transcriber-rate-limited", + "pipeline-error-xai-transcriber-invalid-config", + "pipeline-error-xai-transcriber-server-error", + "pipeline-error-xai-transcriber-failed", + "call.in-progress.error-vapifault-xai-transcriber-auth-failed", + "call.in-progress.error-vapifault-xai-transcriber-rate-limited", + "call.in-progress.error-vapifault-xai-transcriber-invalid-config", + "call.in-progress.error-vapifault-xai-transcriber-server-error", + "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-cartesia-transcriber-failed", + "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", "worker-shutdown", "vonage-disconnected", @@ -560,6 +583,7 @@ "manually-canceled", "phone-call-provider-closed-websocket", "call.forwarding.operator-busy", + "call.forwarding.no-answer", "silence-timed-out", "call.in-progress.error-providerfault-outbound-sip-403-forbidden", "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required", diff --git a/src/vapi/types/server_message_handoff_destination_request.py b/src/vapi/types/server_message_handoff_destination_request.py index c1a84199..a41b0bae 100644 --- a/src/vapi/types/server_message_handoff_destination_request.py +++ b/src/vapi/types/server_message_handoff_destination_request.py @@ -25,6 +25,14 @@ class ServerMessageHandoffDestinationRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageHandoffDestinationRequestType = pydantic.Field() """ This is the type of the message. "handoff-destination-request" is sent when the model is requesting handoff but destination is unknown. @@ -95,8 +103,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -132,6 +144,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -155,8 +174,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -192,6 +215,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_hang.py b/src/vapi/types/server_message_hang.py index 3986c958..2ad34060 100644 --- a/src/vapi/types/server_message_hang.py +++ b/src/vapi/types/server_message_hang.py @@ -25,6 +25,14 @@ class ServerMessageHang(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageHangType = pydantic.Field() """ This is the type of the message. "hang" is sent when the assistant is hanging due to a delay. The delay can be caused by many factors, such as: @@ -94,8 +102,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -131,6 +143,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -154,8 +173,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -191,6 +214,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_knowledge_base_request.py b/src/vapi/types/server_message_knowledge_base_request.py index 67828816..94cad360 100644 --- a/src/vapi/types/server_message_knowledge_base_request.py +++ b/src/vapi/types/server_message_knowledge_base_request.py @@ -27,6 +27,14 @@ class ServerMessageKnowledgeBaseRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageKnowledgeBaseRequestType = pydantic.Field() """ This is the type of the message. "knowledge-base-request" is sent to request knowledge base documents. To enable, use `assistant.knowledgeBase.provider=custom-knowledge-base`. @@ -102,8 +110,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -139,6 +151,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -162,8 +181,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -199,6 +222,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_language_change_detected.py b/src/vapi/types/server_message_language_change_detected.py index cfb28ad7..baebade2 100644 --- a/src/vapi/types/server_message_language_change_detected.py +++ b/src/vapi/types/server_message_language_change_detected.py @@ -25,6 +25,14 @@ class ServerMessageLanguageChangeDetected(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageLanguageChangeDetectedType = pydantic.Field() """ This is the type of the message. "language-change-detected" is sent when the transcriber is automatically switched based on the detected language. @@ -95,8 +103,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -132,6 +144,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -155,8 +174,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -192,6 +215,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_message.py b/src/vapi/types/server_message_message.py index ac51a045..e6b55482 100644 --- a/src/vapi/types/server_message_message.py +++ b/src/vapi/types/server_message_message.py @@ -7,6 +7,7 @@ from .server_message_call_delete_failed import ServerMessageCallDeleteFailed from .server_message_call_deleted import ServerMessageCallDeleted from .server_message_call_endpointing_request import ServerMessageCallEndpointingRequest +from .server_message_campaign_predial import ServerMessageCampaignPredial from .server_message_chat_created import ServerMessageChatCreated from .server_message_chat_deleted import ServerMessageChatDeleted from .server_message_conversation_update import ServerMessageConversationUpdate @@ -58,4 +59,5 @@ ServerMessageSessionDeleted, ServerMessageCallDeleted, ServerMessageCallDeleteFailed, + ServerMessageCampaignPredial, ] diff --git a/src/vapi/types/server_message_model_output.py b/src/vapi/types/server_message_model_output.py index 3c6aafa0..ab2e9871 100644 --- a/src/vapi/types/server_message_model_output.py +++ b/src/vapi/types/server_message_model_output.py @@ -25,6 +25,14 @@ class ServerMessageModelOutput(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageModelOutputType = pydantic.Field() """ This is the type of the message. "model-output" is sent as the model outputs tokens. @@ -103,8 +111,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -140,6 +152,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -163,8 +182,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -200,6 +223,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_phone_call_control.py b/src/vapi/types/server_message_phone_call_control.py index da15aa78..64adb84f 100644 --- a/src/vapi/types/server_message_phone_call_control.py +++ b/src/vapi/types/server_message_phone_call_control.py @@ -27,6 +27,14 @@ class ServerMessagePhoneCallControl(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessagePhoneCallControlType = pydantic.Field() """ This is the type of the message. "phone-call-control" is an advanced type of message. @@ -104,8 +112,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -141,6 +153,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -164,8 +183,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -201,6 +224,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_response_assistant_request.py b/src/vapi/types/server_message_response_assistant_request.py index 2a7a3110..f6fed787 100644 --- a/src/vapi/types/server_message_response_assistant_request.py +++ b/src/vapi/types/server_message_response_assistant_request.py @@ -135,8 +135,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -172,6 +176,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -195,8 +206,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -232,6 +247,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_response_campaign_predial.py b/src/vapi/types/server_message_response_campaign_predial.py new file mode 100644 index 00000000..966ce319 --- /dev/null +++ b/src/vapi/types/server_message_response_campaign_predial.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 ServerMessageResponseCampaignPredial(UncheckedBaseModel): + eligible: bool = pydantic.Field() + """ + This is whether the contact is eligible to be dialed. `true` places the call; `false` skips the contact. Any other response — a missing or non-boolean `eligible`, an unreachable server, an error, or a timeout — records a pre-dial failure for the contact and the call is not placed. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/server_message_response_message_response.py b/src/vapi/types/server_message_response_message_response.py index 60e7929d..25ecaad1 100644 --- a/src/vapi/types/server_message_response_message_response.py +++ b/src/vapi/types/server_message_response_message_response.py @@ -4,6 +4,7 @@ from .server_message_response_assistant_request import ServerMessageResponseAssistantRequest from .server_message_response_call_endpointing_request import ServerMessageResponseCallEndpointingRequest +from .server_message_response_campaign_predial import ServerMessageResponseCampaignPredial from .server_message_response_handoff_destination_request import ServerMessageResponseHandoffDestinationRequest from .server_message_response_knowledge_base_request import ServerMessageResponseKnowledgeBaseRequest from .server_message_response_tool_calls import ServerMessageResponseToolCalls @@ -18,4 +19,5 @@ ServerMessageResponseTransferDestinationRequest, ServerMessageResponseVoiceRequest, ServerMessageResponseCallEndpointingRequest, + ServerMessageResponseCampaignPredial, ] diff --git a/src/vapi/types/server_message_response_transfer_destination_request_message.py b/src/vapi/types/server_message_response_transfer_destination_request_message.py index fe84b204..2716a2a0 100644 --- a/src/vapi/types/server_message_response_transfer_destination_request_message.py +++ b/src/vapi/types/server_message_response_transfer_destination_request_message.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class ServerMessageResponseTransferDestinationRequestMessage_RequestStart(UncheckedBaseModel): @@ -68,6 +69,7 @@ class ServerMessageResponseTransferDestinationRequestMessage_RequestFailed(Unche type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/server_message_session_created.py b/src/vapi/types/server_message_session_created.py index 5fb13ce3..6d391659 100644 --- a/src/vapi/types/server_message_session_created.py +++ b/src/vapi/types/server_message_session_created.py @@ -26,6 +26,14 @@ class ServerMessageSessionCreated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageSessionCreatedType = pydantic.Field() """ This is the type of the message. "session.created" is sent when a new session is created. @@ -96,8 +104,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -133,6 +145,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -156,8 +175,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -193,6 +216,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_session_deleted.py b/src/vapi/types/server_message_session_deleted.py index 6ea07e8f..a007a16c 100644 --- a/src/vapi/types/server_message_session_deleted.py +++ b/src/vapi/types/server_message_session_deleted.py @@ -26,6 +26,14 @@ class ServerMessageSessionDeleted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageSessionDeletedType = pydantic.Field() """ This is the type of the message. "session.deleted" is sent when a session is deleted. @@ -96,8 +104,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -133,6 +145,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -156,8 +175,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -193,6 +216,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_session_updated.py b/src/vapi/types/server_message_session_updated.py index 0f977712..a81029c6 100644 --- a/src/vapi/types/server_message_session_updated.py +++ b/src/vapi/types/server_message_session_updated.py @@ -26,6 +26,14 @@ class ServerMessageSessionUpdated(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageSessionUpdatedType = pydantic.Field() """ This is the type of the message. "session.updated" is sent when a session is updated. @@ -96,8 +104,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -133,6 +145,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -156,8 +175,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -193,6 +216,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_speech_update.py b/src/vapi/types/server_message_speech_update.py index 57c24be9..d33aec53 100644 --- a/src/vapi/types/server_message_speech_update.py +++ b/src/vapi/types/server_message_speech_update.py @@ -27,6 +27,14 @@ class ServerMessageSpeechUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageSpeechUpdateType = pydantic.Field() """ This is the type of the message. "speech-update" is sent whenever assistant or user start or stop speaking. @@ -107,8 +115,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -144,6 +156,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -167,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -204,6 +227,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_status_update.py b/src/vapi/types/server_message_status_update.py index f1a92b10..9831aaa8 100644 --- a/src/vapi/types/server_message_status_update.py +++ b/src/vapi/types/server_message_status_update.py @@ -30,6 +30,14 @@ class ServerMessageStatusUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageStatusUpdateType = pydantic.Field() """ This is the type of the message. "status-update" is sent whenever the `call.status` changes. @@ -145,8 +153,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -182,6 +194,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -205,8 +224,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -242,6 +265,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_status_update_ended_reason.py b/src/vapi/types/server_message_status_update_ended_reason.py index 37aeffba..12abea13 100644 --- a/src/vapi/types/server_message_status_update_ended_reason.py +++ b/src/vapi/types/server_message_status_update_ended_reason.py @@ -28,6 +28,7 @@ "call.start.error-subscription-upgrade-failed", "call.start.error-subscription-concurrency-limit-reached", "call.start.error-enterprise-feature-not-available-recording-consent", + "call.start.assistant-version-error-validation", "assistant-not-valid", "call.start.error-vapifault-database-error", "assistant-not-found", @@ -47,6 +48,9 @@ "pipeline-error-inworld-voice-failed", "pipeline-error-minimax-voice-failed", "pipeline-error-wellsaid-voice-failed", + "pipeline-error-xai-voice-failed", + "pipeline-error-microsoft-voice-failed", + "pipeline-error-microsoft-voice-request-canceled", "pipeline-error-tavus-video-failed", "call.in-progress.error-vapifault-openai-voice-failed", "call.in-progress.error-vapifault-cartesia-voice-failed", @@ -64,6 +68,8 @@ "call.in-progress.error-vapifault-inworld-voice-failed", "call.in-progress.error-vapifault-minimax-voice-failed", "call.in-progress.error-vapifault-wellsaid-voice-failed", + "call.in-progress.error-vapifault-xai-voice-failed", + "call.in-progress.error-vapifault-microsoft-voice-failed", "call.in-progress.error-vapifault-tavus-video-failed", "pipeline-error-vapi-llm-failed", "pipeline-error-vapi-400-bad-request-validation-failed", @@ -73,12 +79,17 @@ "pipeline-error-vapi-500-server-error", "pipeline-error-vapi-503-server-overloaded-error", "call.in-progress.error-providerfault-vapi-llm-failed", + "call.in-progress.error-vapifault-vapi-llm-failed", "call.in-progress.error-vapifault-vapi-400-bad-request-validation-failed", "call.in-progress.error-vapifault-vapi-401-unauthorized", "call.in-progress.error-vapifault-vapi-403-model-access-denied", "call.in-progress.error-vapifault-vapi-429-exceeded-quota", "call.in-progress.error-providerfault-vapi-500-server-error", "call.in-progress.error-providerfault-vapi-503-server-overloaded-error", + "pipeline-error-vapi-transcriber-failed", + "call.in-progress.error-vapifault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-transcriber-failed", + "call.in-progress.error-providerfault-vapi-voice-failed", "pipeline-error-deepgram-transcriber-failed", "pipeline-error-deepgram-transcriber-api-key-missing", "call.in-progress.error-vapifault-deepgram-transcriber-failed", @@ -118,6 +129,18 @@ "call.in-progress.error-vapifault-soniox-transcriber-invalid-config", "call.in-progress.error-vapifault-soniox-transcriber-server-error", "call.in-progress.error-vapifault-soniox-transcriber-failed", + "pipeline-error-xai-transcriber-auth-failed", + "pipeline-error-xai-transcriber-rate-limited", + "pipeline-error-xai-transcriber-invalid-config", + "pipeline-error-xai-transcriber-server-error", + "pipeline-error-xai-transcriber-failed", + "call.in-progress.error-vapifault-xai-transcriber-auth-failed", + "call.in-progress.error-vapifault-xai-transcriber-rate-limited", + "call.in-progress.error-vapifault-xai-transcriber-invalid-config", + "call.in-progress.error-vapifault-xai-transcriber-server-error", + "call.in-progress.error-vapifault-xai-transcriber-failed", + "pipeline-error-cartesia-transcriber-failed", + "call.in-progress.error-vapifault-cartesia-transcriber-failed", "call.in-progress.error-pipeline-no-available-llm-model", "worker-shutdown", "vonage-disconnected", @@ -560,6 +583,7 @@ "manually-canceled", "phone-call-provider-closed-websocket", "call.forwarding.operator-busy", + "call.forwarding.no-answer", "silence-timed-out", "call.in-progress.error-providerfault-outbound-sip-403-forbidden", "call.in-progress.error-providerfault-outbound-sip-407-proxy-authentication-required", diff --git a/src/vapi/types/server_message_tool_calls.py b/src/vapi/types/server_message_tool_calls.py index 668ccf82..e7e8df4e 100644 --- a/src/vapi/types/server_message_tool_calls.py +++ b/src/vapi/types/server_message_tool_calls.py @@ -27,6 +27,14 @@ class ServerMessageToolCalls(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: typing.Optional[ServerMessageToolCallsType] = pydantic.Field(default=None) """ This is the type of the message. "tool-calls" is sent to call a tool. @@ -108,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -145,6 +157,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -168,8 +187,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -205,6 +228,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_transcript.py b/src/vapi/types/server_message_transcript.py index 002d0903..43f9d4cb 100644 --- a/src/vapi/types/server_message_transcript.py +++ b/src/vapi/types/server_message_transcript.py @@ -27,6 +27,14 @@ class ServerMessageTranscript(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageTranscriptType = pydantic.Field() """ This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript. @@ -130,8 +138,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -167,6 +179,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -190,8 +209,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -227,6 +250,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_transfer_destination_request.py b/src/vapi/types/server_message_transfer_destination_request.py index 7855a754..39735159 100644 --- a/src/vapi/types/server_message_transfer_destination_request.py +++ b/src/vapi/types/server_message_transfer_destination_request.py @@ -25,6 +25,14 @@ class ServerMessageTransferDestinationRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageTransferDestinationRequestType = pydantic.Field() """ This is the type of the message. "transfer-destination-request" is sent when the model is requesting transfer but destination is unknown. @@ -90,8 +98,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -127,6 +139,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -150,8 +169,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -187,6 +210,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_transfer_update.py b/src/vapi/types/server_message_transfer_update.py index 02054251..397008d9 100644 --- a/src/vapi/types/server_message_transfer_update.py +++ b/src/vapi/types/server_message_transfer_update.py @@ -26,6 +26,14 @@ class ServerMessageTransferUpdate(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageTransferUpdateType = pydantic.Field() """ This is the type of the message. "transfer-update" is sent whenever a transfer happens. @@ -123,8 +131,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -160,6 +172,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -183,8 +202,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -220,6 +243,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_user_interrupted.py b/src/vapi/types/server_message_user_interrupted.py index 73aea41e..d55a4064 100644 --- a/src/vapi/types/server_message_user_interrupted.py +++ b/src/vapi/types/server_message_user_interrupted.py @@ -25,6 +25,14 @@ class ServerMessageUserInterrupted(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageUserInterruptedType = pydantic.Field() """ This is the type of the message. "user-interrupted" is sent when the user interrupts the assistant. @@ -98,8 +106,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -135,6 +147,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -158,8 +177,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -195,6 +218,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_voice_input.py b/src/vapi/types/server_message_voice_input.py index bbfc264a..5fdd5590 100644 --- a/src/vapi/types/server_message_voice_input.py +++ b/src/vapi/types/server_message_voice_input.py @@ -25,6 +25,14 @@ class ServerMessageVoiceInput(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageVoiceInputType = pydantic.Field() """ This is the type of the message. "voice-input" is sent when a generation is requested from voice provider. @@ -95,8 +103,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -132,6 +144,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -155,8 +174,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -192,6 +215,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/server_message_voice_request.py b/src/vapi/types/server_message_voice_request.py index a14e5e0b..8c8d91ce 100644 --- a/src/vapi/types/server_message_voice_request.py +++ b/src/vapi/types/server_message_voice_request.py @@ -25,6 +25,14 @@ class ServerMessageVoiceRequest(UncheckedBaseModel): alias="phoneNumber", description="This is the phone number that the message is associated with." ), ] = None + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the version label (e.g. `v3`) of the assistant the call was\nconfigured with. `null` for inline assistants, squad/workflow calls,\npre-resolution assistant-request messages, and orgs not on\nassistant versioning.", + ), + ] = None type: ServerMessageVoiceRequestType = pydantic.Field() """ This is the type of the message. "voice-request" is sent when using `assistant.voice={ "type": "custom-voice" }`. @@ -122,8 +130,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -159,6 +171,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -182,8 +201,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -219,6 +242,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/sesame_voice.py b/src/vapi/types/sesame_voice.py index aa7b6981..d54714ad 100644 --- a/src/vapi/types/sesame_voice.py +++ b/src/vapi/types/sesame_voice.py @@ -13,6 +13,10 @@ class SesameVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Sesame, including voice and model selection, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/session.py b/src/vapi/types/session.py index a4856475..bbdc1453 100644 --- a/src/vapi/types/session.py +++ b/src/vapi/types/session.py @@ -176,8 +176,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -213,6 +217,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -236,8 +247,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -273,6 +288,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/session_costs_item.py b/src/vapi/types/session_costs_item.py index 0a8d65a5..50b1c214 100644 --- a/src/vapi/types/session_costs_item.py +++ b/src/vapi/types/session_costs_item.py @@ -24,6 +24,9 @@ class SessionCostsItem_Model(UncheckedBaseModel): cached_prompt_tokens: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="cachedPromptTokens"), pydantic.Field(alias="cachedPromptTokens") ] = None + reasoning_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="reasoningTokens"), pydantic.Field(alias="reasoningTokens") + ] = None cost: float if IS_PYDANTIC_V2: diff --git a/src/vapi/types/session_created_hook.py b/src/vapi/types/session_created_hook.py index b4f309bd..5f7da0c9 100644 --- a/src/vapi/types/session_created_hook.py +++ b/src/vapi/types/session_created_hook.py @@ -57,8 +57,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -93,6 +97,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -116,8 +127,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -152,6 +167,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/simulation_run_item.py b/src/vapi/types/simulation_run_item.py index 02b3147e..056ce839 100644 --- a/src/vapi/types/simulation_run_item.py +++ b/src/vapi/types/simulation_run_item.py @@ -1,11 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing import pydantic import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .simulation_run_configuration import SimulationRunConfiguration @@ -161,3 +163,6 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +update_forward_refs(SimulationRunItem) diff --git a/src/vapi/types/simulation_run_item_results.py b/src/vapi/types/simulation_run_item_results.py index 7ebe4f6e..6b04a588 100644 --- a/src/vapi/types/simulation_run_item_results.py +++ b/src/vapi/types/simulation_run_item_results.py @@ -1,10 +1,12 @@ # 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.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .latency_metrics import LatencyMetrics @@ -38,3 +40,6 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +update_forward_refs(SimulationRunItemResults) diff --git a/src/vapi/types/simulation_run_target.py b/src/vapi/types/simulation_run_target.py index 57eff97a..bce119a6 100644 --- a/src/vapi/types/simulation_run_target.py +++ b/src/vapi/types/simulation_run_target.py @@ -74,8 +74,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -111,6 +115,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -134,8 +145,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -171,6 +186,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -194,8 +216,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -231,6 +257,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/simulation_run_target_assistant.py b/src/vapi/types/simulation_run_target_assistant.py index eeeba169..293f9e36 100644 --- a/src/vapi/types/simulation_run_target_assistant.py +++ b/src/vapi/types/simulation_run_target_assistant.py @@ -53,8 +53,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -90,6 +94,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -113,8 +124,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -150,6 +165,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/simulation_run_target_squad.py b/src/vapi/types/simulation_run_target_squad.py index 7ff968f9..17987302 100644 --- a/src/vapi/types/simulation_run_target_squad.py +++ b/src/vapi/types/simulation_run_target_squad.py @@ -53,8 +53,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -90,6 +94,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -113,8 +124,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -150,6 +165,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/simulation_suite.py b/src/vapi/types/simulation_suite.py index 531b5475..5452ecb4 100644 --- a/src/vapi/types/simulation_suite.py +++ b/src/vapi/types/simulation_suite.py @@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .simulation_suite_target_assignment import SimulationSuiteTargetAssignment class SimulationSuite(UncheckedBaseModel): @@ -59,6 +60,14 @@ class SimulationSuite(UncheckedBaseModel): FieldMetadata(alias="simulationIds"), pydantic.Field(alias="simulationIds", description="This is the list of simulation IDs in this suite."), ] + target_assignments: typing_extensions.Annotated[ + typing.List[SimulationSuiteTargetAssignment], + FieldMetadata(alias="targetAssignments"), + pydantic.Field( + alias="targetAssignments", + description="This is the ordered list of assistant or squad assignments for the suite.", + ), + ] if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/simulation_suite_target_assignment.py b/src/vapi/types/simulation_suite_target_assignment.py new file mode 100644 index 00000000..a7b22641 --- /dev/null +++ b/src/vapi/types/simulation_suite_target_assignment.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .simulation_suite_target_assignment_target_type import SimulationSuiteTargetAssignmentTargetType + + +class SimulationSuiteTargetAssignment(UncheckedBaseModel): + target_type: typing_extensions.Annotated[ + SimulationSuiteTargetAssignmentTargetType, + FieldMetadata(alias="targetType"), + pydantic.Field(alias="targetType", description="This is the type of target assigned to the simulation suite."), + ] + target_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="targetId"), + pydantic.Field( + alias="targetId", description="This is the unique identifier of the assigned assistant or squad." + ), + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/simulation_suite_target_assignment_target_type.py b/src/vapi/types/simulation_suite_target_assignment_target_type.py new file mode 100644 index 00000000..5847eb55 --- /dev/null +++ b/src/vapi/types/simulation_suite_target_assignment_target_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +SimulationSuiteTargetAssignmentTargetType = typing.Union[typing.Literal["assistant", "squad"], typing.Any] diff --git a/src/vapi/types/sip_authentication.py b/src/vapi/types/sip_authentication.py index 75651cfc..e4b296e9 100644 --- a/src/vapi/types/sip_authentication.py +++ b/src/vapi/types/sip_authentication.py @@ -8,9 +8,13 @@ class SipAuthentication(UncheckedBaseModel): + """ + Realm, username, and password used to authenticate SIP requests. + """ + realm: typing.Optional[str] = pydantic.Field(default=None) """ - This will be expected in the `realm` field of the `authorization` header of the SIP INVITE. Defaults to sip.vapi.ai. + This will be expected in the `realm` field of the `authorization` header of the SIP INVITE. Defaults to the SIP realm of the Vapi region serving the request (e.g. `sip.vapi.ai` for US, `sip.eu.vapi.ai` for EU). """ username: str = pydantic.Field() diff --git a/src/vapi/types/sip_request_tool.py b/src/vapi/types/sip_request_tool.py index 3fab1c16..9d5a8790 100644 --- a/src/vapi/types/sip_request_tool.py +++ b/src/vapi/types/sip_request_tool.py @@ -17,11 +17,16 @@ class SipRequestTool(UncheckedBaseModel): + """ + A reusable tool that sends SIP `INFO`, `MESSAGE`, or `NOTIFY` requests with configured headers and body. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SipRequestToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ verb: SipRequestToolVerb = pydantic.Field() diff --git a/src/vapi/types/sip_request_tool_messages_item.py b/src/vapi/types/sip_request_tool_messages_item.py index 3fca8fbb..f80d89a9 100644 --- a/src/vapi/types/sip_request_tool_messages_item.py +++ b/src/vapi/types/sip_request_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class SipRequestToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class SipRequestToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/sip_trunk_gateway.py b/src/vapi/types/sip_trunk_gateway.py index fac6d213..d7b2d471 100644 --- a/src/vapi/types/sip_trunk_gateway.py +++ b/src/vapi/types/sip_trunk_gateway.py @@ -11,9 +11,13 @@ class SipTrunkGateway(UncheckedBaseModel): + """ + Network and routing settings for a SIP trunk gateway, including address, port, netmask, inbound and outbound use, signaling protocol, and OPTIONS health checks. + """ + ip: str = pydantic.Field() """ - This is the address of the gateway. It can be an IPv4 address like 1.1.1.1 or a fully qualified domain name like my-sip-trunk.pstn.twilio.com. + This is the address of the gateway. Inbound gateways require an IPv4 address like 1.1.1.1. Outbound-only gateways can also use a fully qualified domain name like my-sip-trunk.pstn.twilio.com. """ port: typing.Optional[float] = pydantic.Field(default=None) diff --git a/src/vapi/types/sip_trunk_outbound_authentication_plan.py b/src/vapi/types/sip_trunk_outbound_authentication_plan.py index c799190c..457ff23d 100644 --- a/src/vapi/types/sip_trunk_outbound_authentication_plan.py +++ b/src/vapi/types/sip_trunk_outbound_authentication_plan.py @@ -11,13 +11,19 @@ class SipTrunkOutboundAuthenticationPlan(UncheckedBaseModel): + """ + Credentials and optional SIP REGISTER settings used to authenticate outbound calls with a SIP trunk. + """ + auth_password: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authPassword"), pydantic.Field(alias="authPassword", description="This is not returned in the API."), ] = None auth_username: typing_extensions.Annotated[ - typing.Optional[str], FieldMetadata(alias="authUsername"), pydantic.Field(alias="authUsername") + typing.Optional[str], + FieldMetadata(alias="authUsername"), + pydantic.Field(alias="authUsername", description="Username used to authenticate outbound SIP requests."), ] = None sip_register_plan: typing_extensions.Annotated[ typing.Optional[SipTrunkOutboundSipRegisterPlan], diff --git a/src/vapi/types/sip_trunk_outbound_sip_register_plan.py b/src/vapi/types/sip_trunk_outbound_sip_register_plan.py index b70dfadb..14a96b78 100644 --- a/src/vapi/types/sip_trunk_outbound_sip_register_plan.py +++ b/src/vapi/types/sip_trunk_outbound_sip_register_plan.py @@ -8,9 +8,24 @@ class SipTrunkOutboundSipRegisterPlan(UncheckedBaseModel): - domain: typing.Optional[str] = None - username: typing.Optional[str] = None - realm: typing.Optional[str] = None + """ + Registration settings used when the SIP trunk requires SIP REGISTER. + """ + + domain: typing.Optional[str] = pydantic.Field(default=None) + """ + SIP registrar domain used for registration. + """ + + username: typing.Optional[str] = pydantic.Field(default=None) + """ + Username sent with the SIP REGISTER request. + """ + + realm: typing.Optional[str] = pydantic.Field(default=None) + """ + Authentication realm used for SIP registration. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/skipped_structured_output.py b/src/vapi/types/skipped_structured_output.py new file mode 100644 index 00000000..0988ff90 --- /dev/null +++ b/src/vapi/types/skipped_structured_output.py @@ -0,0 +1,35 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .skipped_structured_output_unmet_condition import SkippedStructuredOutputUnmetCondition + + +class SkippedStructuredOutput(UncheckedBaseModel): + name: str = pydantic.Field() + """ + This is the name of the structured output that was skipped. + """ + + unmet_condition: typing_extensions.Annotated[ + SkippedStructuredOutputUnmetCondition, + FieldMetadata(alias="unmetCondition"), + pydantic.Field( + alias="unmetCondition", + description="This is the first condition that was not met. Conditions use AND semantics, so\nevaluation stops as soon as one condition does not pass.", + ), + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/skipped_structured_output_unmet_condition.py b/src/vapi/types/skipped_structured_output_unmet_condition.py new file mode 100644 index 00000000..0b04d2b5 --- /dev/null +++ b/src/vapi/types/skipped_structured_output_unmet_condition.py @@ -0,0 +1,79 @@ +# 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 +from .ended_reason_condition_operator import EndedReasonConditionOperator + + +class SkippedStructuredOutputUnmetCondition_MinMessages(UncheckedBaseModel): + """ + This is the first condition that was not met. Conditions use AND semantics, so + evaluation stops as soon as one condition does not pass. + """ + + type: typing.Literal["minMessages"] = "minMessages" + count: 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 + + +class SkippedStructuredOutputUnmetCondition_MinCallDuration(UncheckedBaseModel): + """ + This is the first condition that was not met. Conditions use AND semantics, so + evaluation stops as soon as one condition does not pass. + """ + + type: typing.Literal["minCallDuration"] = "minCallDuration" + seconds: 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 + + +class SkippedStructuredOutputUnmetCondition_EndedReason(UncheckedBaseModel): + """ + This is the first condition that was not met. Conditions use AND semantics, so + evaluation stops as soon as one condition does not pass. + """ + + type: typing.Literal["endedReason"] = "endedReason" + operator: EndedReasonConditionOperator + values: typing.List[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 + + +SkippedStructuredOutputUnmetCondition = typing_extensions.Annotated[ + typing.Union[ + SkippedStructuredOutputUnmetCondition_MinMessages, + SkippedStructuredOutputUnmetCondition_MinCallDuration, + SkippedStructuredOutputUnmetCondition_EndedReason, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/slack_send_message_tool.py b/src/vapi/types/slack_send_message_tool.py index 3bc76825..2d3f9648 100644 --- a/src/vapi/types/slack_send_message_tool.py +++ b/src/vapi/types/slack_send_message_tool.py @@ -15,11 +15,16 @@ class SlackSendMessageTool(UncheckedBaseModel): + """ + A reusable tool that lets an assistant send a message to Slack. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SlackSendMessageToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/slack_send_message_tool_messages_item.py b/src/vapi/types/slack_send_message_tool_messages_item.py index 4b88674e..2f632de9 100644 --- a/src/vapi/types/slack_send_message_tool_messages_item.py +++ b/src/vapi/types/slack_send_message_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class SlackSendMessageToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class SlackSendMessageToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/smallest_ai_voice.py b/src/vapi/types/smallest_ai_voice.py index e8257f2f..f5ecf11c 100644 --- a/src/vapi/types/smallest_ai_voice.py +++ b/src/vapi/types/smallest_ai_voice.py @@ -14,6 +14,10 @@ class SmallestAiVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Smallest AI, including voice and model selection, speed, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/smart_denoising_plan.py b/src/vapi/types/smart_denoising_plan.py index 189018f7..baa13d81 100644 --- a/src/vapi/types/smart_denoising_plan.py +++ b/src/vapi/types/smart_denoising_plan.py @@ -8,6 +8,10 @@ class SmartDenoisingPlan(UncheckedBaseModel): + """ + Controls whether Krisp smart denoising filters background speech and noise. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ Whether smart denoising using Krisp is enabled. diff --git a/src/vapi/types/sms_tool.py b/src/vapi/types/sms_tool.py index 00c4e550..d48cd4b0 100644 --- a/src/vapi/types/sms_tool.py +++ b/src/vapi/types/sms_tool.py @@ -15,11 +15,16 @@ class SmsTool(UncheckedBaseModel): + """ + A reusable tool that lets an assistant send an SMS message during a call. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[SmsToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ id: str = pydantic.Field() diff --git a/src/vapi/types/sms_tool_messages_item.py b/src/vapi/types/sms_tool_messages_item.py index 007f19a1..40240e3a 100644 --- a/src/vapi/types/sms_tool_messages_item.py +++ b/src/vapi/types/sms_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class SmsToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class SmsToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/soniox_context_general_item.py b/src/vapi/types/soniox_context_general_item.py new file mode 100644 index 00000000..f070c126 --- /dev/null +++ b/src/vapi/types/soniox_context_general_item.py @@ -0,0 +1,28 @@ +# 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 SonioxContextGeneralItem(UncheckedBaseModel): + key: str = pydantic.Field() + """ + The key describing the type of context (e.g., "domain", "topic", "doctor", "organization"). + """ + + value: str = pydantic.Field() + """ + The value for the context key (e.g., "Healthcare", "Diabetes management consultation"). + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/soniox_credential.py b/src/vapi/types/soniox_credential.py index 5fd66453..6da83514 100644 --- a/src/vapi/types/soniox_credential.py +++ b/src/vapi/types/soniox_credential.py @@ -18,6 +18,14 @@ class SonioxCredential(UncheckedBaseModel): FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="Custom Soniox WebSocket endpoint (e.g. EU server wss://stt-rt.eu.soniox.com/transcribe-websocket). Defaults to the region-appropriate endpoint when omitted.", + ), + ] = None id: str = pydantic.Field() """ This is the unique identifier for the credential. diff --git a/src/vapi/types/soniox_transcriber.py b/src/vapi/types/soniox_transcriber.py index a5b89f62..1aa9f346 100644 --- a/src/vapi/types/soniox_transcriber.py +++ b/src/vapi/types/soniox_transcriber.py @@ -8,11 +8,17 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .fallback_transcriber_plan import FallbackTranscriberPlan +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel class SonioxTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Soniox, including model, language detection, endpointing, vocabulary, and fallback settings. + """ + model: typing.Optional[SonioxTranscriberModel] = pydantic.Field(default=None) """ The Soniox model to use for transcription. @@ -20,7 +26,12 @@ class SonioxTranscriber(UncheckedBaseModel): language: typing.Optional[SonioxTranscriberLanguage] = pydantic.Field(default=None) """ - The language for transcription. Uses ISO 639-1 codes. Soniox supports 60+ languages with a single universal model. + Single language for transcription as an ISO 639-1 code (e.g., `en`, `es`). For multi-language hints or to enable Soniox auto-detect, use `languages` instead — when `languages` is set (including to an empty array), this field is ignored when building the Soniox request. Defaults to `en` if neither this nor `languages` is set. + """ + + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = pydantic.Field(default=None) + """ + Language hints sent to Soniox as `language_hints`. Provide `[lang1, lang2, ...]` (ISO 639-1 codes) to bias recognition toward specific languages, or provide an explicit empty array `[]` to enable Soniox auto-detect across all 60+ supported languages. When set (including the empty array), this field takes precedence over the singular `language` field. When omitted, falls back to the singular `language` (which defaults to `en` if also unset). Best accuracy is achieved with a single language. """ language_hints_strict: typing_extensions.Annotated[ @@ -28,7 +39,7 @@ class SonioxTranscriber(UncheckedBaseModel): FieldMetadata(alias="languageHintsStrict"), pydantic.Field( alias="languageHintsStrict", - description="When enabled, restricts transcription to the language specified in the language field. When disabled, the model can detect and transcribe any of 60+ supported languages. Defaults to true.", + description="When `true`, Soniox strictly restricts transcription to the languages in `languages` (or the singular `language` if `languages` is unset). When `false`, Soniox biases toward those languages but still allows transcription in other languages. Has no effect when no language hints are sent (e.g., `languages: []` for auto-detect). Defaults to `true` (strict mode).", ), ] = None max_endpoint_delay_ms: typing_extensions.Annotated[ @@ -47,6 +58,14 @@ class SonioxTranscriber(UncheckedBaseModel): description="Custom vocabulary terms to boost recognition accuracy. Useful for brand names, product names, and domain-specific terminology. Maps to Soniox context.terms.", ), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field( + alias="contextGeneral", + description="General context key-value pairs that guide the AI model during transcription. Helps adapt vocabulary to the correct domain, improving accuracy. Recommended: 10 or fewer pairs. Maps to Soniox context.general.", + ), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), diff --git a/src/vapi/types/soniox_transcriber_languages_item.py b/src/vapi/types/soniox_transcriber_languages_item.py new file mode 100644 index 00000000..1a86dd04 --- /dev/null +++ b/src/vapi/types/soniox_transcriber_languages_item.py @@ -0,0 +1,194 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +SonioxTranscriberLanguagesItem = typing.Union[ + typing.Literal[ + "aa", + "ab", + "ae", + "af", + "ak", + "am", + "an", + "ar", + "as", + "av", + "ay", + "az", + "ba", + "be", + "bg", + "bh", + "bi", + "bm", + "bn", + "bo", + "br", + "bs", + "ca", + "ce", + "ch", + "co", + "cr", + "cs", + "cu", + "cv", + "cy", + "da", + "de", + "dv", + "dz", + "ee", + "el", + "en", + "eo", + "es", + "et", + "eu", + "fa", + "ff", + "fi", + "fj", + "fo", + "fr", + "fy", + "ga", + "gd", + "gl", + "gn", + "gu", + "gv", + "ha", + "he", + "hi", + "ho", + "hr", + "ht", + "hu", + "hy", + "hz", + "ia", + "id", + "ie", + "ig", + "ii", + "ik", + "io", + "is", + "it", + "iu", + "ja", + "jv", + "ka", + "kg", + "ki", + "kj", + "kk", + "kl", + "km", + "kn", + "ko", + "kr", + "ks", + "ku", + "kv", + "kw", + "ky", + "la", + "lb", + "lg", + "li", + "ln", + "lo", + "lt", + "lu", + "lv", + "mg", + "mh", + "mi", + "mk", + "ml", + "mn", + "mr", + "ms", + "mt", + "my", + "na", + "nb", + "nd", + "ne", + "ng", + "nl", + "nn", + "no", + "nr", + "nv", + "ny", + "oc", + "oj", + "om", + "or", + "os", + "pa", + "pi", + "pl", + "ps", + "pt", + "qu", + "rm", + "rn", + "ro", + "ru", + "rw", + "sa", + "sc", + "sd", + "se", + "sg", + "si", + "sk", + "sl", + "sm", + "sn", + "so", + "sq", + "sr", + "ss", + "st", + "su", + "sv", + "sw", + "ta", + "te", + "tg", + "th", + "ti", + "tk", + "tl", + "tn", + "to", + "tr", + "ts", + "tt", + "tw", + "ty", + "ug", + "uk", + "ur", + "uz", + "ve", + "vi", + "vo", + "wa", + "wo", + "xh", + "yi", + "yue", + "yo", + "za", + "zh", + "zu", + ], + typing.Any, +] diff --git a/src/vapi/types/soniox_transcriber_model.py b/src/vapi/types/soniox_transcriber_model.py index 9232ec1c..bb21b4aa 100644 --- a/src/vapi/types/soniox_transcriber_model.py +++ b/src/vapi/types/soniox_transcriber_model.py @@ -2,4 +2,4 @@ import typing -SonioxTranscriberModel = typing.Union[typing.Literal["stt-rt-v4"], typing.Any] +SonioxTranscriberModel = typing.Union[typing.Literal["stt-rt-v4", "stt-rt-v5"], typing.Any] diff --git a/src/vapi/types/speechmatics_custom_vocabulary_item.py b/src/vapi/types/speechmatics_custom_vocabulary_item.py index b7b7fbdc..b29c4647 100644 --- a/src/vapi/types/speechmatics_custom_vocabulary_item.py +++ b/src/vapi/types/speechmatics_custom_vocabulary_item.py @@ -10,6 +10,10 @@ class SpeechmaticsCustomVocabularyItem(UncheckedBaseModel): + """ + A word or phrase to prioritize during Speechmatics transcription, with optional phonetic alternatives. + """ + content: str = pydantic.Field() """ The word or phrase to add to the custom vocabulary. diff --git a/src/vapi/types/speechmatics_transcriber.py b/src/vapi/types/speechmatics_transcriber.py index 0d220c89..f8ead5c6 100644 --- a/src/vapi/types/speechmatics_transcriber.py +++ b/src/vapi/types/speechmatics_transcriber.py @@ -17,12 +17,20 @@ class SpeechmaticsTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Speechmatics, including language, region, diarization, vocabulary, endpointing, formatting, and fallback settings. + """ + model: typing.Optional[SpeechmaticsTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. """ - language: typing.Optional[SpeechmaticsTranscriberLanguage] = None + language: typing.Optional[SpeechmaticsTranscriberLanguage] = pydantic.Field(default=None) + """ + Language used for transcription. Set to `auto` to detect the language automatically. + """ + operating_point: typing_extensions.Annotated[ typing.Optional[SpeechmaticsTranscriberOperatingPoint], FieldMetadata(alias="operatingPoint"), @@ -57,7 +65,10 @@ class SpeechmaticsTranscriber(UncheckedBaseModel): custom_vocabulary: typing_extensions.Annotated[ typing.List[SpeechmaticsCustomVocabularyItem], FieldMetadata(alias="customVocabulary"), - pydantic.Field(alias="customVocabulary"), + pydantic.Field( + alias="customVocabulary", + description="Words and phrases that Speechmatics should recognize more accurately, with optional phonetic alternatives.", + ), ] numeral_style: typing_extensions.Annotated[ typing.Optional[SpeechmaticsTranscriberNumeralStyle], diff --git a/src/vapi/types/spki_pem_public_key_config.py b/src/vapi/types/spki_pem_public_key_config.py index fbf5f59a..2fb67995 100644 --- a/src/vapi/types/spki_pem_public_key_config.py +++ b/src/vapi/types/spki_pem_public_key_config.py @@ -8,6 +8,10 @@ class SpkiPemPublicKeyConfig(UncheckedBaseModel): + """ + An SPKI public key in PEM format used to encrypt sensitive request data. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ Optional name of the key for identification purposes. diff --git a/src/vapi/types/sql_injection_security_filter.py b/src/vapi/types/sql_injection_security_filter.py index e4b31f43..046569a8 100644 --- a/src/vapi/types/sql_injection_security_filter.py +++ b/src/vapi/types/sql_injection_security_filter.py @@ -9,6 +9,10 @@ class SqlInjectionSecurityFilter(UncheckedBaseModel): + """ + Filters potential SQL injection patterns from transcripts. + """ + type: SqlInjectionSecurityFilterType = pydantic.Field() """ The type of security threat to filter. diff --git a/src/vapi/types/squad.py b/src/vapi/types/squad.py index d3d69bb2..bb0df566 100644 --- a/src/vapi/types/squad.py +++ b/src/vapi/types/squad.py @@ -13,6 +13,10 @@ class Squad(UncheckedBaseModel): + """ + A saved squad configuration that coordinates a group of assistants during a conversation. The first member starts the call, and member destinations control transfers between assistants. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the squad. @@ -88,8 +92,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -125,6 +133,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -148,8 +163,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -185,6 +204,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/squad_member_dto.py b/src/vapi/types/squad_member_dto.py index 36dc4aac..1dfebb88 100644 --- a/src/vapi/types/squad_member_dto.py +++ b/src/vapi/types/squad_member_dto.py @@ -12,10 +12,25 @@ class SquadMemberDto(UncheckedBaseModel): + """ + An assistant member of a squad. Reference a saved assistant or provide a transient assistant, then configure member-specific overrides and destinations for transfers. + """ + + assistant_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantVersion"), + pydantic.Field( + alias="assistantVersion", + description="This is the assistant version (e.g. `v3`) to pin for this squad member. When set, the call uses\nthe snapshot from `assistant_version` (by `(assistantId, version)`) instead of the latest. Valid\nonly with `assistantId`; rejected with inline `assistant`. Omit to follow the latest version.", + ), + ] = None assistant_destinations: typing_extensions.Annotated[ typing.Optional[typing.List["SquadMemberDtoAssistantDestinationsItem"]], FieldMetadata(alias="assistantDestinations"), - pydantic.Field(alias="assistantDestinations"), + pydantic.Field( + alias="assistantDestinations", + description="Assistants this squad member can route the conversation to through a transfer or handoff.", + ), ] = None assistant_id: typing_extensions.Annotated[ typing.Optional[str], @@ -67,8 +82,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -103,6 +122,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -126,8 +152,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -162,6 +192,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/ssrf_security_filter.py b/src/vapi/types/ssrf_security_filter.py index 586c3f06..65f6aef5 100644 --- a/src/vapi/types/ssrf_security_filter.py +++ b/src/vapi/types/ssrf_security_filter.py @@ -9,6 +9,10 @@ class SsrfSecurityFilter(UncheckedBaseModel): + """ + Filters potential server-side request forgery (SSRF) patterns from transcripts. + """ + type: SsrfSecurityFilterType = pydantic.Field() """ The type of security threat to filter. diff --git a/src/vapi/types/start_speaking_plan.py b/src/vapi/types/start_speaking_plan.py index 5c0c0d0c..98101629 100644 --- a/src/vapi/types/start_speaking_plan.py +++ b/src/vapi/types/start_speaking_plan.py @@ -14,6 +14,10 @@ class StartSpeakingPlan(UncheckedBaseModel): + """ + Controls when the assistant begins speaking after customer speech, including the minimum wait, endpointing strategy, and custom endpointing rules. + """ + wait_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="waitSeconds"), diff --git a/src/vapi/types/stop_speaking_plan.py b/src/vapi/types/stop_speaking_plan.py index ab1a6b9f..a712a2e6 100644 --- a/src/vapi/types/stop_speaking_plan.py +++ b/src/vapi/types/stop_speaking_plan.py @@ -10,6 +10,10 @@ class StopSpeakingPlan(UncheckedBaseModel): + """ + Controls when the assistant stops speaking after a customer interruption, including word and voice thresholds, restart delay, and phrase exceptions. + """ + num_words: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="numWords"), diff --git a/src/vapi/types/structured_data_multi_plan.py b/src/vapi/types/structured_data_multi_plan.py index 755c77e3..133d0b1a 100644 --- a/src/vapi/types/structured_data_multi_plan.py +++ b/src/vapi/types/structured_data_multi_plan.py @@ -11,6 +11,10 @@ class StructuredDataMultiPlan(UncheckedBaseModel): + """ + Associates a catalog key with a structured data extraction plan. + """ + key: str = pydantic.Field() """ This is the key of the structured data plan in the catalog. diff --git a/src/vapi/types/structured_data_plan.py b/src/vapi/types/structured_data_plan.py index 8108b4c4..1085089f 100644 --- a/src/vapi/types/structured_data_plan.py +++ b/src/vapi/types/structured_data_plan.py @@ -12,6 +12,10 @@ class StructuredDataPlan(UncheckedBaseModel): + """ + Controls extraction of post-call structured data, including prompt messages, JSON schema, enablement, and request timeout. + """ + messages: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic.Field(default=None) """ These are the messages used to generate the structured data. diff --git a/src/vapi/types/structured_output.py b/src/vapi/types/structured_output.py index 6af644e1..49de9f24 100644 --- a/src/vapi/types/structured_output.py +++ b/src/vapi/types/structured_output.py @@ -11,11 +11,16 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .compliance_override import ComplianceOverride +from .structured_output_conditions_item import StructuredOutputConditionsItem from .structured_output_model import StructuredOutputModel from .structured_output_type import StructuredOutputType class StructuredOutput(UncheckedBaseModel): + """ + A saved structured-output definition containing its extraction schema, execution method, model or regular expression, linked resources, and lifecycle metadata. + """ + type: typing.Optional[StructuredOutputType] = pydantic.Field(default=None) """ This is the type of structured output. @@ -63,6 +68,11 @@ class StructuredOutput(UncheckedBaseModel): description="Compliance configuration for this output. Only enable overrides if no sensitive data will be stored.", ), ] = None + conditions: typing.Optional[typing.List[StructuredOutputConditionsItem]] = pydantic.Field(default=None) + """ + These are the conditions that gate the execution of this structured output. Every condition must pass for the structured output to run (AND semantics). When omitted or empty, no user-defined conditions gate this output. Send null to clear a previously saved gate. + """ + id: str = pydantic.Field() """ This is the unique identifier for the structured output. diff --git a/src/vapi/types/structured_output_conditions_item.py b/src/vapi/types/structured_output_conditions_item.py new file mode 100644 index 00000000..0ec251f1 --- /dev/null +++ b/src/vapi/types/structured_output_conditions_item.py @@ -0,0 +1,64 @@ +# 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 +from .ended_reason_condition_operator import EndedReasonConditionOperator + + +class StructuredOutputConditionsItem_MinMessages(UncheckedBaseModel): + type: typing.Literal["minMessages"] = "minMessages" + count: 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 + + +class StructuredOutputConditionsItem_MinCallDuration(UncheckedBaseModel): + type: typing.Literal["minCallDuration"] = "minCallDuration" + seconds: 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 + + +class StructuredOutputConditionsItem_EndedReason(UncheckedBaseModel): + type: typing.Literal["endedReason"] = "endedReason" + operator: EndedReasonConditionOperator + values: typing.List[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 + + +StructuredOutputConditionsItem = typing_extensions.Annotated[ + typing.Union[ + StructuredOutputConditionsItem_MinMessages, + StructuredOutputConditionsItem_MinCallDuration, + StructuredOutputConditionsItem_EndedReason, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/structured_output_evaluation_result.py b/src/vapi/types/structured_output_evaluation_result.py index e43662b5..7d404670 100644 --- a/src/vapi/types/structured_output_evaluation_result.py +++ b/src/vapi/types/structured_output_evaluation_result.py @@ -1,10 +1,12 @@ # 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.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .structured_output_evaluation_result_comparator import StructuredOutputEvaluationResultComparator @@ -26,6 +28,23 @@ class StructuredOutputEvaluationResult(UncheckedBaseModel): This is the name of the structured output. """ + path: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the optional dot-notation path evaluated within an object structured output. + """ + + description: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the structured output description captured when the evaluation ran. + """ + + schema_: typing_extensions.Annotated[ + typing.Optional["JsonSchema"], + FieldMetadata(alias="schema"), + pydantic.Field( + alias="schema", description="This is the structured output schema captured when the evaluation ran." + ), + ] = None extracted_value: typing_extensions.Annotated[ typing.Optional[StructuredOutputEvaluationResultExtractedValue], FieldMetadata(alias="extractedValue"), @@ -82,3 +101,8 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .json_schema import JsonSchema # noqa: E402, I001 + +update_forward_refs(StructuredOutputEvaluationResult, JsonSchema=JsonSchema) diff --git a/src/vapi/types/structured_output_model.py b/src/vapi/types/structured_output_model.py index 27e76ed5..55c1ca50 100644 --- a/src/vapi/types/structured_output_model.py +++ b/src/vapi/types/structured_output_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -35,6 +36,7 @@ class StructuredOutputModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -69,6 +71,7 @@ class StructuredOutputModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -104,6 +107,7 @@ class StructuredOutputModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -139,6 +143,7 @@ class StructuredOutputModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -173,6 +178,7 @@ class StructuredOutputModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/structured_output_paginated_response.py b/src/vapi/types/structured_output_paginated_response.py index c03572b4..f57189cb 100644 --- a/src/vapi/types/structured_output_paginated_response.py +++ b/src/vapi/types/structured_output_paginated_response.py @@ -12,8 +12,19 @@ class StructuredOutputPaginatedResponse(UncheckedBaseModel): - results: typing.List[StructuredOutput] - metadata: PaginationMeta + """ + A paginated collection of structured-output definitions and metadata describing the result set. + """ + + results: typing.List[StructuredOutput] = pydantic.Field() + """ + The structured-output definitions returned for the current page. + """ + + metadata: PaginationMeta = pydantic.Field() + """ + Pagination metadata for the structured-output result set. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/structured_output_rerun_response.py b/src/vapi/types/structured_output_rerun_response.py new file mode 100644 index 00000000..40b1b5c0 --- /dev/null +++ b/src/vapi/types/structured_output_rerun_response.py @@ -0,0 +1,27 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class StructuredOutputRerunResponse(UncheckedBaseModel): + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="workflowId"), + pydantic.Field(alias="workflowId", description="This is the id of the workflow processing the rerun."), + ] = None + message: 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/vapi/types/structured_output_run_preview_response.py b/src/vapi/types/structured_output_run_preview_response.py new file mode 100644 index 00000000..7d7798f1 --- /dev/null +++ b/src/vapi/types/structured_output_run_preview_response.py @@ -0,0 +1,26 @@ +# 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 .skipped_structured_output import SkippedStructuredOutput + + +class StructuredOutputRunPreviewResponse(UncheckedBaseModel): + skipped: typing.Optional[typing.Dict[str, SkippedStructuredOutput]] = pydantic.Field(default=None) + """ + These are the structured outputs whose conditions gated them, keyed by + structured output id. Absent when nothing was skipped. An entry here means + no extraction ran and no cost was incurred for that output. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/structured_output_run_result.py b/src/vapi/types/structured_output_run_result.py new file mode 100644 index 00000000..5f44de3f --- /dev/null +++ b/src/vapi/types/structured_output_run_result.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .compliance_override import ComplianceOverride +from .structured_output_run_result_result import StructuredOutputRunResultResult + + +class StructuredOutputRunResult(UncheckedBaseModel): + name: str = pydantic.Field() + """ + This is the name of the structured output that produced this value. + """ + + result: typing.Optional[StructuredOutputRunResultResult] = pydantic.Field(default=None) + """ + This is the extracted value, shaped by the structured output's schema. + """ + + compliance_plan: typing_extensions.Annotated[ + typing.Optional[ComplianceOverride], + FieldMetadata(alias="compliancePlan"), + pydantic.Field(alias="compliancePlan"), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/structured_output_run_result_result.py b/src/vapi/types/structured_output_run_result_result.py new file mode 100644 index 00000000..b7becc31 --- /dev/null +++ b/src/vapi/types/structured_output_run_result_result.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +StructuredOutputRunResultResult = typing.Union[str, float, bool, typing.Dict[str, typing.Any], typing.List[typing.Any]] diff --git a/src/vapi/types/subscription_limits.py b/src/vapi/types/subscription_limits.py index bc48781b..c59f41b9 100644 --- a/src/vapi/types/subscription_limits.py +++ b/src/vapi/types/subscription_limits.py @@ -10,6 +10,10 @@ class SubscriptionLimits(UncheckedBaseModel): + """ + Organization concurrency limits and remaining concurrent call capacity. + """ + concurrency_blocked: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="concurrencyBlocked"), diff --git a/src/vapi/types/success_evaluation_plan.py b/src/vapi/types/success_evaluation_plan.py index 391d117d..4a15b6e4 100644 --- a/src/vapi/types/success_evaluation_plan.py +++ b/src/vapi/types/success_evaluation_plan.py @@ -11,6 +11,10 @@ class SuccessEvaluationPlan(UncheckedBaseModel): + """ + Controls post-call success evaluation, including the rubric, prompt messages, enablement, and request timeout. + """ + rubric: typing.Optional[SuccessEvaluationPlanRubric] = pydantic.Field(default=None) """ This enforces the rubric of the evaluation. The output is stored in `call.analysis.successEvaluation`. diff --git a/src/vapi/types/summary_plan.py b/src/vapi/types/summary_plan.py index 98818af8..4aac1996 100644 --- a/src/vapi/types/summary_plan.py +++ b/src/vapi/types/summary_plan.py @@ -10,6 +10,10 @@ class SummaryPlan(UncheckedBaseModel): + """ + Controls generation of a post-call summary, including prompt messages, enablement, and request timeout. + """ + messages: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic.Field(default=None) """ These are the messages used to generate the summary. diff --git a/src/vapi/types/supabase_bucket_plan.py b/src/vapi/types/supabase_bucket_plan.py index bb8327e5..a1272d8d 100644 --- a/src/vapi/types/supabase_bucket_plan.py +++ b/src/vapi/types/supabase_bucket_plan.py @@ -11,6 +11,10 @@ class SupabaseBucketPlan(UncheckedBaseModel): + """ + Supabase S3-compatible bucket configuration for call artifacts, including region, endpoint, access keys, bucket name, and path. + """ + region: SupabaseBucketPlanRegion = pydantic.Field() """ This is the S3 Region. It should look like us-east-1 diff --git a/src/vapi/types/sync_voice_library_dto_providers_item.py b/src/vapi/types/sync_voice_library_dto_providers_item.py index 844b70a5..79c5b106 100644 --- a/src/vapi/types/sync_voice_library_dto_providers_item.py +++ b/src/vapi/types/sync_voice_library_dto_providers_item.py @@ -23,6 +23,8 @@ "minimax", "wellsaid", "orpheus", + "xai", + "microsoft", ], typing.Any, ] diff --git a/src/vapi/types/system_message.py b/src/vapi/types/system_message.py index e94cb04c..491b82db 100644 --- a/src/vapi/types/system_message.py +++ b/src/vapi/types/system_message.py @@ -10,6 +10,10 @@ class SystemMessage(UncheckedBaseModel): + """ + A system-authored entry in the call message history, including its content and timing. + """ + role: str = pydantic.Field() """ The role of the system in the conversation. diff --git a/src/vapi/types/talkscriber_transcriber.py b/src/vapi/types/talkscriber_transcriber.py index fd6115dc..c16cb8eb 100644 --- a/src/vapi/types/talkscriber_transcriber.py +++ b/src/vapi/types/talkscriber_transcriber.py @@ -13,6 +13,10 @@ class TalkscriberTranscriber(UncheckedBaseModel): + """ + Configuration for transcribing speech during assistant conversations with Talkscriber, including model, language, and fallback settings. + """ + model: typing.Optional[TalkscriberTranscriberModel] = pydantic.Field(default=None) """ This is the model that will be used for the transcription. diff --git a/src/vapi/types/target_plan.py b/src/vapi/types/target_plan.py index beb9fc8b..8740dadf 100644 --- a/src/vapi/types/target_plan.py +++ b/src/vapi/types/target_plan.py @@ -74,8 +74,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -111,6 +115,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -134,8 +145,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -171,6 +186,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tavus_conversation_properties.py b/src/vapi/types/tavus_conversation_properties.py index f1ea63e0..d9cc80d8 100644 --- a/src/vapi/types/tavus_conversation_properties.py +++ b/src/vapi/types/tavus_conversation_properties.py @@ -10,6 +10,10 @@ class TavusConversationProperties(UncheckedBaseModel): + """ + Tavus conversation behavior and media settings, including duration, participant timeouts, recording, transcription, background, language, and recording storage. + """ + max_call_duration: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="maxCallDuration"), diff --git a/src/vapi/types/tavus_voice.py b/src/vapi/types/tavus_voice.py index d416f5d6..ad984956 100644 --- a/src/vapi/types/tavus_voice.py +++ b/src/vapi/types/tavus_voice.py @@ -14,6 +14,10 @@ class TavusVoice(UncheckedBaseModel): + """ + Configuration for using Tavus as the assistant's voice provider, including persona, callback, context, greeting, conversation properties, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/telnyx_phone_number.py b/src/vapi/types/telnyx_phone_number.py index e707f316..0b1aecf0 100644 --- a/src/vapi/types/telnyx_phone_number.py +++ b/src/vapi/types/telnyx_phone_number.py @@ -15,6 +15,10 @@ class TelnyxPhoneNumber(UncheckedBaseModel): + """ + A Telnyx phone number connected to Vapi, including its credential, routing, hooks, server settings, and lifecycle metadata. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[TelnyxPhoneNumberFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/telnyx_transport.py b/src/vapi/types/telnyx_transport.py new file mode 100644 index 00000000..63fe5133 --- /dev/null +++ b/src/vapi/types/telnyx_transport.py @@ -0,0 +1,44 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .telnyx_transport_conversation_type import TelnyxTransportConversationType + + +class TelnyxTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[TelnyxTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + call_control_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callControlId"), + pydantic.Field(alias="callControlId", description="This is the call control ID of the Telnyx call."), + ] = None + call_leg_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callLegId"), + pydantic.Field(alias="callLegId", description="This is the call leg ID of the Telnyx call."), + ] = None + call_session_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callSessionId"), + pydantic.Field(alias="callSessionId", description="This is the call session ID of the Telnyx call."), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/telnyx_transport_conversation_type.py b/src/vapi/types/telnyx_transport_conversation_type.py new file mode 100644 index 00000000..3cc2b79c --- /dev/null +++ b/src/vapi/types/telnyx_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TelnyxTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/template_details.py b/src/vapi/types/template_details.py index 69ff5b18..ac7ee19c 100644 --- a/src/vapi/types/template_details.py +++ b/src/vapi/types/template_details.py @@ -67,6 +67,7 @@ class TemplateDetails_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class TemplateDetails_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +650,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -683,8 +694,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -719,6 +734,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tester_plan.py b/src/vapi/types/tester_plan.py index d0607f99..224106ed 100644 --- a/src/vapi/types/tester_plan.py +++ b/src/vapi/types/tester_plan.py @@ -64,8 +64,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -101,6 +105,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -124,8 +135,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -161,6 +176,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/text_content.py b/src/vapi/types/text_content.py index eedfd886..1493c87f 100644 --- a/src/vapi/types/text_content.py +++ b/src/vapi/types/text_content.py @@ -10,9 +10,24 @@ class TextContent(UncheckedBaseModel): - type: TextContentType - text: str - language: TextContentLanguage + """ + Localized text content used as a language-specific message variant. + """ + + type: TextContentType = pydantic.Field() + """ + Selects text as the content type. + """ + + text: str = pydantic.Field() + """ + Text spoken or displayed for this content variant. + """ + + language: TextContentLanguage = pydantic.Field() + """ + Language code associated with this text variant. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/text_editor_tool.py b/src/vapi/types/text_editor_tool.py index bc7c61b5..ac3fdc7b 100644 --- a/src/vapi/types/text_editor_tool.py +++ b/src/vapi/types/text_editor_tool.py @@ -18,11 +18,16 @@ class TextEditorTool(UncheckedBaseModel): + """ + A reusable tool that reads and edits text files in a configured environment. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TextEditorToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/text_editor_tool_messages_item.py b/src/vapi/types/text_editor_tool_messages_item.py index 475ad013..7f491951 100644 --- a/src/vapi/types/text_editor_tool_messages_item.py +++ b/src/vapi/types/text_editor_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class TextEditorToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class TextEditorToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/text_editor_tool_with_tool_call.py b/src/vapi/types/text_editor_tool_with_tool_call.py index 50a2572e..f497fd38 100644 --- a/src/vapi/types/text_editor_tool_with_tool_call.py +++ b/src/vapi/types/text_editor_tool_with_tool_call.py @@ -20,9 +20,7 @@ class TextEditorToolWithToolCall(UncheckedBaseModel): messages: typing.Optional[typing.List[TextEditorToolWithToolCallMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/text_editor_tool_with_tool_call_messages_item.py b/src/vapi/types/text_editor_tool_with_tool_call_messages_item.py index 1eea2b2d..afd89bd4 100644 --- a/src/vapi/types/text_editor_tool_with_tool_call_messages_item.py +++ b/src/vapi/types/text_editor_tool_with_tool_call_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class TextEditorToolWithToolCallMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class TextEditorToolWithToolCallMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/text_insight.py b/src/vapi/types/text_insight.py index a0d7d7a7..c64a09f0 100644 --- a/src/vapi/types/text_insight.py +++ b/src/vapi/types/text_insight.py @@ -13,6 +13,10 @@ class TextInsight(UncheckedBaseModel): + """ + A saved text-value insight containing its call-data queries, formula, time range, and lifecycle information. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -38,7 +42,9 @@ class TextInsight(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the text-value data."), ] = None queries: typing.List[TextInsightQueriesItem] = pydantic.Field() """ @@ -72,6 +78,11 @@ class TextInsight(UncheckedBaseModel): alias="updatedAt", description="This is the ISO 8601 date-time string of when the Insight was last updated." ), ] + system_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="systemKey"), + pydantic.Field(alias="systemKey", description="Stable server-owned identifier for system-created insights."), + ] = 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/vapi/types/time_range.py b/src/vapi/types/time_range.py index 9882ef50..0cab4f90 100644 --- a/src/vapi/types/time_range.py +++ b/src/vapi/types/time_range.py @@ -10,6 +10,10 @@ class TimeRange(UncheckedBaseModel): + """ + Start, end, timezone, and time step used for analytics aggregation. + """ + step: typing.Optional[TimeRangeStep] = pydantic.Field(default=None) """ This is the time step for aggregations. diff --git a/src/vapi/types/together_ai_model.py b/src/vapi/types/together_ai_model.py index b6a16bc2..0207d015 100644 --- a/src/vapi/types/together_ai_model.py +++ b/src/vapi/types/together_ai_model.py @@ -11,9 +11,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef class TogetherAiModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with Together AI, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -34,6 +39,14 @@ class TogetherAiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -46,7 +59,7 @@ class TogetherAiModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -102,8 +115,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -138,6 +155,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -161,8 +185,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -197,6 +225,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/together_ai_model_tools_item.py b/src/vapi/types/together_ai_model_tools_item.py index 3cc2d334..d9b63ad7 100644 --- a/src/vapi/types/together_ai_model_tools_item.py +++ b/src/vapi/types/together_ai_model_tools_item.py @@ -67,6 +67,7 @@ class TogetherAiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class TogetherAiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -645,6 +649,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tool_call.py b/src/vapi/types/tool_call.py index 20ba56c5..d1722cf0 100644 --- a/src/vapi/types/tool_call.py +++ b/src/vapi/types/tool_call.py @@ -9,6 +9,10 @@ class ToolCall(UncheckedBaseModel): + """ + A tool invocation requested by the assistant, including its identifier, type, and function details. + """ + id: str = pydantic.Field() """ This is the ID of the tool call diff --git a/src/vapi/types/tool_call_function.py b/src/vapi/types/tool_call_function.py index 6d61417a..71bffad6 100644 --- a/src/vapi/types/tool_call_function.py +++ b/src/vapi/types/tool_call_function.py @@ -8,6 +8,10 @@ class ToolCallFunction(UncheckedBaseModel): + """ + The function name and serialized arguments associated with a tool call. + """ + arguments: str = pydantic.Field() """ This is the arguments to call the function with diff --git a/src/vapi/types/tool_call_hook_action.py b/src/vapi/types/tool_call_hook_action.py index ea22f22f..56a13fe8 100644 --- a/src/vapi/types/tool_call_hook_action.py +++ b/src/vapi/types/tool_call_hook_action.py @@ -13,6 +13,10 @@ class ToolCallHookAction(UncheckedBaseModel): + """ + A hook action that invokes an inline tool or an existing tool when the hook triggers. + """ + type: ToolCallHookActionType = pydantic.Field() """ This is the type of action - must be "tool" @@ -59,8 +63,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -95,6 +103,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -118,8 +133,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -154,6 +173,13 @@ class Config: TogetherAiModel=TogetherAiModel, TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tool_call_hook_action_tool.py b/src/vapi/types/tool_call_hook_action_tool.py index 1ad23174..96ecd79b 100644 --- a/src/vapi/types/tool_call_hook_action_tool.py +++ b/src/vapi/types/tool_call_hook_action_tool.py @@ -71,6 +71,7 @@ class ToolCallHookActionTool_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -82,7 +83,6 @@ class ToolCallHookActionTool_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -702,8 +702,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -737,6 +741,13 @@ class Config: from .together_ai_model import TogetherAiModel # noqa: E402, I001 from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -774,8 +785,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -810,6 +825,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tool_call_message.py b/src/vapi/types/tool_call_message.py index 0bd08e85..ad67d9eb 100644 --- a/src/vapi/types/tool_call_message.py +++ b/src/vapi/types/tool_call_message.py @@ -10,6 +10,10 @@ class ToolCallMessage(UncheckedBaseModel): + """ + An entry in the call message history that records one or more tool calls requested during the conversation. + """ + role: str = pydantic.Field() """ The role of the tool call in the conversation. diff --git a/src/vapi/types/tool_call_result_message.py b/src/vapi/types/tool_call_result_message.py index 9d7fcea0..8cd17ca8 100644 --- a/src/vapi/types/tool_call_result_message.py +++ b/src/vapi/types/tool_call_result_message.py @@ -1,52 +1,70 @@ # 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.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .condition import Condition +from .text_content import TextContent +from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole -class ToolCallResultMessage(UncheckedBaseModel): - role: str = pydantic.Field() - """ - The role of the tool call result in the conversation. +class ToolCallResultMessage_RequestComplete(UncheckedBaseModel): """ + This is the message that will be spoken to the user. - tool_call_id: typing_extensions.Annotated[ - str, - FieldMetadata(alias="toolCallId"), - pydantic.Field(alias="toolCallId", description="The ID of the tool call."), - ] - name: str = pydantic.Field() - """ - The name of the tool that returned the result. + If this is not returned, assistant will speak: + 1. a `request-complete` or `request-failed` message from `tool.messages`, if it exists + 2. a response generated by the model, if not """ - result: str = pydantic.Field() - """ - The result of the tool call in JSON format. - """ + type: typing.Literal["request-complete"] = "request-complete" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageCompleteRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = None - time: float = pydantic.Field() - """ - The timestamp when the message was sent. - """ + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: - seconds_from_start: typing_extensions.Annotated[ - float, - FieldMetadata(alias="secondsFromStart"), - pydantic.Field( - alias="secondsFromStart", description="The number of seconds from the start of the conversation." - ), - ] - metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +class ToolCallResultMessage_RequestFailed(UncheckedBaseModel): """ - The metadata for the tool call result. + This is the message that will be spoken to the user. + + If this is not returned, assistant will speak: + 1. a `request-complete` or `request-failed` message from `tool.messages`, if it exists + 2. a response generated by the model, if not """ + type: typing.Literal["request-failed"] = "request-failed" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = None + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: @@ -55,3 +73,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +ToolCallResultMessage = typing_extensions.Annotated[ + typing.Union[ToolCallResultMessage_RequestComplete, ToolCallResultMessage_RequestFailed], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/tool_call_result_message_warning.py b/src/vapi/types/tool_call_result_message_warning.py new file mode 100644 index 00000000..888c49a1 --- /dev/null +++ b/src/vapi/types/tool_call_result_message_warning.py @@ -0,0 +1,41 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .tool_call_result_message_warning_type import ToolCallResultMessageWarningType + + +class ToolCallResultMessageWarning(UncheckedBaseModel): + type: ToolCallResultMessageWarningType = pydantic.Field() + """ + The kind of warning. Currently: + - `oversized-tool-response`: the tool's serialized response exceeded the + recommended size and is likely to bloat the model context, increasing + latency and risking truncation of earlier instructions. + """ + + token_count: typing_extensions.Annotated[ + float, + FieldMetadata(alias="tokenCount"), + pydantic.Field( + alias="tokenCount", description="The estimated number of tokens in the serialized tool response." + ), + ] + threshold: float = pydantic.Field() + """ + The threshold (in tokens) above which the warning is raised. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/tool_call_result_message_warning_type.py b/src/vapi/types/tool_call_result_message_warning_type.py new file mode 100644 index 00000000..093bfee1 --- /dev/null +++ b/src/vapi/types/tool_call_result_message_warning_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolCallResultMessageWarningType = typing.Union[typing.Literal["oversized-tool-response"], typing.Any] diff --git a/src/vapi/types/tool_draft.py b/src/vapi/types/tool_draft.py new file mode 100644 index 00000000..c0dcd257 --- /dev/null +++ b/src/vapi/types/tool_draft.py @@ -0,0 +1,280 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .backoff_plan import BackoffPlan +from .code_tool_environment_variable import CodeToolEnvironmentVariable +from .knowledge_base import KnowledgeBase +from .mcp_tool_messages import McpToolMessages +from .open_ai_function import OpenAiFunction +from .server import Server +from .tool_draft_messages_item import ToolDraftMessagesItem +from .tool_draft_method import ToolDraftMethod +from .tool_draft_type import ToolDraftType +from .tool_draft_verb import ToolDraftVerb +from .tool_parameter import ToolParameter +from .tool_rejection_plan import ToolRejectionPlan +from .variable_extraction_plan import VariableExtractionPlan + + +class ToolDraft(UncheckedBaseModel): + messages: typing.Optional[typing.List[ToolDraftMessagesItem]] = pydantic.Field(default=None) + """ + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[ToolDraftType] = pydantic.Field(default=None) + """ + This is the type of the tool. + """ + + id: str = pydantic.Field() + """ + Key used as `draftId` in URLs. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="This is the unique identifier for the org that owns this draft."), + ] + tool_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="toolId"), + pydantic.Field( + alias="toolId", + description="This is the unique identifier for the tool this draft was forked from.\nIntentionally NOT a FK — `tool_draft` mirrors `tool_version` / `version_pin`'s\nno-FK / app-cleanup philosophy, so there is no `ON DELETE CASCADE`. Drafts\nmust be cleaned up explicitly (`toolDraftDelete({ orgId, toolId })`) on a\nparent tool hard-delete; nothing reaps them automatically.", + ), + ] + base_version: typing_extensions.Annotated[ + str, + FieldMetadata(alias="baseVersion"), + pydantic.Field( + alias="baseVersion", + description="The published version this draft was forked from. Server defaults to\n`tool.latestVersion` on POST if omitted. Immutable for the draft's lifetime.", + ), + ] + created_by: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="createdBy"), + pydantic.Field( + alias="createdBy", + description="Email when JWT, null when API or external JWT. Set on POST, never rewritten on PATCH.", + ), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field( + alias="createdAt", description="This is the ISO 8601 date-time string of when the draft was created." + ), + ] + updated_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="updatedAt"), + pydantic.Field( + alias="updatedAt", description="This is the ISO 8601 date-time string of when the draft was last updated." + ), + ] + rejection_plan: typing_extensions.Annotated[ + typing.Optional[ToolRejectionPlan], + FieldMetadata(alias="rejectionPlan"), + pydantic.Field( + alias="rejectionPlan", + description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", + ), + ] = None + function: typing.Optional[OpenAiFunction] = pydantic.Field(default=None) + """ + This is the function definition of the tool. + """ + + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + Provider-specific metadata. Polymorphic across tool variants with no shared + discriminator, so it is validated as a plain object (mirrors how + `ToolCallResult.metadata` is typed). + """ + + template_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="templateId"), + pydantic.Field( + alias="templateId", description="This is the unique identifier for the template this tool was created from." + ), + ] = None + server: typing.Optional[Server] = None + async_: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") + ] = None + destinations: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic.Field(default=None) + """ + These are the destinations that the call can be transferred to. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. + """ + + sub_type: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="subType"), + pydantic.Field( + alias="subType", + description="This is the sub type of the tool (e.g. for computer, bash and text-editor tools).", + ), + ] = None + display_width_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayWidthPx"), + pydantic.Field(alias="displayWidthPx", description="The display width in pixels (computer tool)."), + ] = None + display_height_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayHeightPx"), + pydantic.Field(alias="displayHeightPx", description="The display height in pixels (computer tool)."), + ] = None + display_number: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayNumber"), + pydantic.Field(alias="displayNumber", description="Optional display number (computer tool)."), + ] = None + knowledge_bases: typing_extensions.Annotated[ + typing.Optional[typing.List[KnowledgeBase]], + FieldMetadata(alias="knowledgeBases"), + pydantic.Field(alias="knowledgeBases", description="The knowledge bases to query (query tool)."), + ] = None + url: typing.Optional[str] = pydantic.Field(default=None) + """ + This is where the request will be sent (api-request tool). + """ + + method: typing.Optional[ToolDraftMethod] = pydantic.Field(default=None) + """ + This is the HTTP method for the request (api-request tool). + """ + + headers: typing.Optional["JsonSchema"] = pydantic.Field(default=None) + """ + These are the headers to send with the request (api-request / sip-request tool). + """ + + body: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is the body of the request. Either a JSON schema (api-request) or a + literal string / schema (sip-request). + """ + + backoff_plan: typing_extensions.Annotated[ + typing.Optional[BackoffPlan], + FieldMetadata(alias="backoffPlan"), + pydantic.Field(alias="backoffPlan", description="This is the backoff plan if the request fails."), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="timeoutSeconds"), + pydantic.Field(alias="timeoutSeconds", description="This is the timeout in seconds for the request."), + ] = None + description: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the description of the tool. This will be passed to the model. + """ + + variable_extraction_plan: typing_extensions.Annotated[ + typing.Optional[VariableExtractionPlan], + FieldMetadata(alias="variableExtractionPlan"), + pydantic.Field( + alias="variableExtractionPlan", + description="This is the plan to extract variables from the tool's response.", + ), + ] = None + credential_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="credentialId"), + pydantic.Field( + alias="credentialId", description="This is the credential ID that will be used for authorization." + ), + ] = None + extended_delay_when_preceded_by_text_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="extendedDelayWhenPrecededByTextEnabled"), + pydantic.Field(alias="extendedDelayWhenPrecededByTextEnabled"), + ] = None + beep_detection_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") + ] = None + code: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the TypeScript code that will be executed when the tool is called (code tool). + """ + + environment_variables: typing_extensions.Annotated[ + typing.Optional[typing.List[CodeToolEnvironmentVariable]], + FieldMetadata(alias="environmentVariables"), + pydantic.Field( + alias="environmentVariables", + description="These are the environment variables available in the code via the `env` object (code tool).", + ), + ] = None + parameters: typing.Optional[typing.List[ToolParameter]] = pydantic.Field(default=None) + """ + These are the static parameters to merge into the tool's request body. + """ + + encrypted_paths: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="encryptedPaths"), + pydantic.Field(alias="encryptedPaths", description="This is the paths to encrypt in the request body."), + ] = None + sip_info_dtmf_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="sipInfoDtmfEnabled"), + pydantic.Field( + alias="sipInfoDtmfEnabled", + description="This enables sending DTMF tones via SIP INFO messages instead of RFC 2833.", + ), + ] = None + verb: typing.Optional[ToolDraftVerb] = pydantic.Field(default=None) + """ + This is the SIP method to send (sip-request tool). + """ + + default_result: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="defaultResult"), + pydantic.Field( + alias="defaultResult", + description="This is the default local tool result message used when no runtime override is returned (handoff tool).", + ), + ] = None + tool_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[McpToolMessages]], + FieldMetadata(alias="toolMessages"), + pydantic.Field( + alias="toolMessages", + description="Per-tool message overrides for individual tools loaded from the MCP server (mcp tool).", + ), + ] = 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 + + +from .json_schema import JsonSchema # noqa: E402, I001 + +update_forward_refs(ToolDraft, JsonSchema=JsonSchema) diff --git a/src/vapi/types/tool_draft_conflict_response_dto.py b/src/vapi/types/tool_draft_conflict_response_dto.py new file mode 100644 index 00000000..99af9af3 --- /dev/null +++ b/src/vapi/types/tool_draft_conflict_response_dto.py @@ -0,0 +1,26 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ToolDraftConflictResponseDto(UncheckedBaseModel): + existing_draft_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="existingDraftId"), pydantic.Field(alias="existingDraftId") + ] = None + error: str + message: 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/vapi/types/tool_draft_messages_item.py b/src/vapi/types/tool_draft_messages_item.py new file mode 100644 index 00000000..f6f5601c --- /dev/null +++ b/src/vapi/types/tool_draft_messages_item.py @@ -0,0 +1,106 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .condition import Condition +from .text_content import TextContent +from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole + + +class ToolDraftMessagesItem_RequestStart(UncheckedBaseModel): + type: typing.Literal["request-start"] = "request-start" + contents: typing.Optional[typing.List[TextContent]] = None + blocking: typing.Optional[bool] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 ToolDraftMessagesItem_RequestComplete(UncheckedBaseModel): + type: typing.Literal["request-complete"] = "request-complete" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageCompleteRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 ToolDraftMessagesItem_RequestFailed(UncheckedBaseModel): + type: typing.Literal["request-failed"] = "request-failed" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 ToolDraftMessagesItem_RequestResponseDelayed(UncheckedBaseModel): + type: typing.Literal["request-response-delayed"] = "request-response-delayed" + contents: typing.Optional[typing.List[TextContent]] = None + timing_milliseconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timingMilliseconds"), pydantic.Field(alias="timingMilliseconds") + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 + + +ToolDraftMessagesItem = typing_extensions.Annotated[ + typing.Union[ + ToolDraftMessagesItem_RequestStart, + ToolDraftMessagesItem_RequestComplete, + ToolDraftMessagesItem_RequestFailed, + ToolDraftMessagesItem_RequestResponseDelayed, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/tool_draft_method.py b/src/vapi/types/tool_draft_method.py new file mode 100644 index 00000000..17bf3a6c --- /dev/null +++ b/src/vapi/types/tool_draft_method.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolDraftMethod = typing.Union[typing.Literal["POST", "GET", "PUT", "PATCH", "DELETE"], typing.Any] diff --git a/src/vapi/types/tool_draft_paginated_metadata.py b/src/vapi/types/tool_draft_paginated_metadata.py new file mode 100644 index 00000000..e8babf81 --- /dev/null +++ b/src/vapi/types/tool_draft_paginated_metadata.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ToolDraftPaginatedMetadata(UncheckedBaseModel): + next_cursor: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="nextCursor"), pydantic.Field(alias="nextCursor") + ] = None + has_next_page: typing_extensions.Annotated[ + bool, FieldMetadata(alias="hasNextPage"), pydantic.Field(alias="hasNextPage") + ] + limit: 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/vapi/types/tool_draft_paginated_response.py b/src/vapi/types/tool_draft_paginated_response.py new file mode 100644 index 00000000..f2c84d0c --- /dev/null +++ b/src/vapi/types/tool_draft_paginated_response.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs +from ..core.unchecked_base_model import UncheckedBaseModel +from .tool_draft import ToolDraft +from .tool_draft_paginated_metadata import ToolDraftPaginatedMetadata + + +class ToolDraftPaginatedResponse(UncheckedBaseModel): + results: typing.List[ToolDraft] + metadata: ToolDraftPaginatedMetadata + + 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 + + +update_forward_refs(ToolDraftPaginatedResponse) diff --git a/src/vapi/types/tool_draft_type.py b/src/vapi/types/tool_draft_type.py new file mode 100644 index 00000000..b187eb0e --- /dev/null +++ b/src/vapi/types/tool_draft_type.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolDraftType = typing.Union[ + typing.Literal[ + "dtmf", + "endCall", + "transferCall", + "transferCancel", + "transferSuccessful", + "handoff", + "output", + "voicemail", + "query", + "sms", + "sipRequest", + "function", + "mcp", + "apiRequest", + "code", + "bash", + "computer", + "textEditor", + "google.calendar.event.create", + "google.calendar.availability.check", + "google.sheets.row.append", + "slack.message.send", + "gohighlevel.calendar.event.create", + "gohighlevel.calendar.availability.check", + "gohighlevel.contact.create", + "gohighlevel.contact.get", + "make", + "ghl", + ], + typing.Any, +] diff --git a/src/vapi/types/tool_draft_verb.py b/src/vapi/types/tool_draft_verb.py new file mode 100644 index 00000000..c0f57ebe --- /dev/null +++ b/src/vapi/types/tool_draft_verb.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolDraftVerb = typing.Union[typing.Literal["INFO", "MESSAGE", "NOTIFY"], typing.Any] diff --git a/src/vapi/types/tool_message.py b/src/vapi/types/tool_message.py index 918373d1..2c4eb9f0 100644 --- a/src/vapi/types/tool_message.py +++ b/src/vapi/types/tool_message.py @@ -9,6 +9,10 @@ class ToolMessage(UncheckedBaseModel): + """ + A tool-result message associated with a specific tool call. + """ + role: ToolMessageRole = pydantic.Field() """ This is the role of the message author diff --git a/src/vapi/types/tool_message_complete.py b/src/vapi/types/tool_message_complete.py index faefe736..14eaa55a 100644 --- a/src/vapi/types/tool_message_complete.py +++ b/src/vapi/types/tool_message_complete.py @@ -13,6 +13,10 @@ class ToolMessageComplete(UncheckedBaseModel): + """ + Message spoken when a tool call completes, with optional language variants, argument conditions, role, and end-call behavior. + """ + contents: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None) """ This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. diff --git a/src/vapi/types/tool_message_delayed.py b/src/vapi/types/tool_message_delayed.py index 1feca2f6..0ceaa517 100644 --- a/src/vapi/types/tool_message_delayed.py +++ b/src/vapi/types/tool_message_delayed.py @@ -12,6 +12,10 @@ class ToolMessageDelayed(UncheckedBaseModel): + """ + Message spoken when a tool call exceeds a configured response delay, with optional language variants and argument conditions. + """ + contents: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None) """ This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. @@ -28,7 +32,7 @@ class ToolMessageDelayed(UncheckedBaseModel): FieldMetadata(alias="timingMilliseconds"), pydantic.Field( alias="timingMilliseconds", - description="The number of milliseconds to wait for the server response before saying this message.", + description="The number of milliseconds to wait for the server response before saying this delayed message.", ), ] = None content: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/vapi/types/tool_message_failed.py b/src/vapi/types/tool_message_failed.py index ca13db04..fecc0c39 100644 --- a/src/vapi/types/tool_message_failed.py +++ b/src/vapi/types/tool_message_failed.py @@ -9,9 +9,14 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .condition import Condition from .text_content import TextContent +from .tool_message_failed_role import ToolMessageFailedRole class ToolMessageFailed(UncheckedBaseModel): + """ + Message spoken when a tool call fails, with optional language variants, argument conditions, and end-call behavior. + """ + contents: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None) """ This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. @@ -23,12 +28,29 @@ class ToolMessageFailed(UncheckedBaseModel): This will override the `content` property. """ + role: typing.Optional[ToolMessageFailedRole] = pydantic.Field(default=None) + """ + This is optional and defaults to "assistant". + + When role=assistant, `content` is said out loud when the tool call fails. + + When role=system, `content` is passed to the model as a system message + along with the failure result, and the model's generated response is + spoken. Example: + assistant: tool called + tool: error from your server + <--- system prompt as hint + ---> model generates response which is spoken + This is useful when you want the model to generate an error-aware + response instead of speaking a fixed failure message. + """ + end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), pydantic.Field( alias="endCallAfterSpokenEnabled", - description="This is an optional boolean that if true, the call will end after the message is spoken. Default is false.\n\n@default false", + description="This is an optional boolean that if true, the call will end after the message is spoken. Default is false.\n\nThis is ignored if `role` is set to `system`.\n\n@default false", ), ] = None content: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/vapi/types/tool_message_failed_role.py b/src/vapi/types/tool_message_failed_role.py new file mode 100644 index 00000000..e243e76d --- /dev/null +++ b/src/vapi/types/tool_message_failed_role.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolMessageFailedRole = typing.Union[typing.Literal["assistant", "system"], typing.Any] diff --git a/src/vapi/types/tool_message_start.py b/src/vapi/types/tool_message_start.py index fe94b908..89ced115 100644 --- a/src/vapi/types/tool_message_start.py +++ b/src/vapi/types/tool_message_start.py @@ -10,6 +10,10 @@ class ToolMessageStart(UncheckedBaseModel): + """ + Message spoken when a tool call starts, with optional language variants, argument conditions, and blocking behavior. + """ + contents: typing.Optional[typing.List[TextContent]] = pydantic.Field(default=None) """ This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. diff --git a/src/vapi/types/tool_node.py b/src/vapi/types/tool_node.py index 8867f039..68e004d0 100644 --- a/src/vapi/types/tool_node.py +++ b/src/vapi/types/tool_node.py @@ -9,11 +9,14 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .tool_node_tool import ToolNodeTool class ToolNode(UncheckedBaseModel): - tool: typing.Optional[ToolNodeTool] = pydantic.Field(default=None) + """ + A workflow node that invokes an inline tool or an existing saved tool. + """ + + tool: typing.Optional["ToolNodeTool"] = pydantic.Field(default=None) """ This is the tool to call. To use an existing tool, send `toolId` instead. """ @@ -25,7 +28,11 @@ class ToolNode(UncheckedBaseModel): alias="toolId", description="This is the tool to call. To use a transient tool, send `tool` instead." ), ] = None - name: str + name: str = pydantic.Field() + """ + Unique name used to identify this workflow node. + """ + is_start: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="isStart"), @@ -46,4 +53,141 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(ToolNode) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + ToolNode, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/tool_node_tool.py b/src/vapi/types/tool_node_tool.py index 647453c1..7890ed96 100644 --- a/src/vapi/types/tool_node_tool.py +++ b/src/vapi/types/tool_node_tool.py @@ -71,6 +71,7 @@ class ToolNodeTool_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -82,7 +83,6 @@ class ToolNodeTool_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -702,8 +702,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -738,6 +742,12 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -775,8 +785,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -811,6 +825,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/tool_parameter.py b/src/vapi/types/tool_parameter.py index cc93581c..c0827c23 100644 --- a/src/vapi/types/tool_parameter.py +++ b/src/vapi/types/tool_parameter.py @@ -9,6 +9,10 @@ class ToolParameter(UncheckedBaseModel): + """ + Static key-value parameter added to a tool request, with Liquid template support for string values. + """ + key: str = pydantic.Field() """ This is the key of the parameter. diff --git a/src/vapi/types/tool_pinned_conflict_response_dto.py b/src/vapi/types/tool_pinned_conflict_response_dto.py new file mode 100644 index 00000000..59568d67 --- /dev/null +++ b/src/vapi/types/tool_pinned_conflict_response_dto.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 +from .tool_pinned_conflict_response_dto_error import ToolPinnedConflictResponseDtoError + + +class ToolPinnedConflictResponseDto(UncheckedBaseModel): + error: ToolPinnedConflictResponseDtoError + message: str = pydantic.Field() + """ + Human-readable reason the parent-tool delete was rejected. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/tool_pinned_conflict_response_dto_error.py b/src/vapi/types/tool_pinned_conflict_response_dto_error.py new file mode 100644 index 00000000..6f940c4d --- /dev/null +++ b/src/vapi/types/tool_pinned_conflict_response_dto_error.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ToolPinnedConflictResponseDtoError = typing.Union[typing.Literal["tool_pinned"], typing.Any] diff --git a/src/vapi/types/tool_ref.py b/src/vapi/types/tool_ref.py new file mode 100644 index 00000000..34493455 --- /dev/null +++ b/src/vapi/types/tool_ref.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ToolRef(UncheckedBaseModel): + tool_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="toolId"), + pydantic.Field( + alias="toolId", description="This is the unique identifier of the tool whose version is being pinned." + ), + ] + version: str = pydantic.Field() + """ + Public version label of the tool, e.g. "v3" + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/tool_rejection_plan.py b/src/vapi/types/tool_rejection_plan.py index 64877fc5..004ee0f7 100644 --- a/src/vapi/types/tool_rejection_plan.py +++ b/src/vapi/types/tool_rejection_plan.py @@ -11,6 +11,10 @@ class ToolRejectionPlan(UncheckedBaseModel): + """ + Conditions evaluated to determine whether a requested tool call should be rejected. + """ + conditions: typing.Optional[typing.List[ToolRejectionPlanConditionsItem]] = pydantic.Field(default=None) """ This is the list of conditions that must be evaluated. diff --git a/src/vapi/types/tool_version.py b/src/vapi/types/tool_version.py new file mode 100644 index 00000000..f05be555 --- /dev/null +++ b/src/vapi/types/tool_version.py @@ -0,0 +1,181 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .server import Server + + +class ToolVersion(UncheckedBaseModel): + version_name: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionName"), + pydantic.Field( + alias="versionName", description="Optional human-readable label for this version. Pass `null` to clear." + ), + ] = None + version_description: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionDescription"), + pydantic.Field( + alias="versionDescription", description="Optional description for this version. Pass `null` to clear." + ), + ] = None + type: typing.Optional[typing.Dict[str, typing.Any]] = None + function: typing.Optional[typing.Dict[str, typing.Any]] = None + messages: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = None + template_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="templateId"), pydantic.Field(alias="templateId") + ] = None + server: typing.Optional[Server] = None + async_: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") + ] = None + destinations: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None + name: typing.Optional[str] = None + sub_type: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="subType"), pydantic.Field(alias="subType") + ] = None + display_width_px: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="displayWidthPx"), pydantic.Field(alias="displayWidthPx") + ] = None + display_height_px: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="displayHeightPx"), pydantic.Field(alias="displayHeightPx") + ] = None + display_number: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="displayNumber"), pydantic.Field(alias="displayNumber") + ] = None + knowledge_bases: typing_extensions.Annotated[ + typing.Optional[typing.List[typing.Dict[str, typing.Any]]], + FieldMetadata(alias="knowledgeBases"), + pydantic.Field(alias="knowledgeBases"), + ] = None + url: typing.Optional[str] = None + method: typing.Optional[str] = None + headers: typing.Optional[typing.Dict[str, typing.Any]] = None + body: typing.Optional[typing.Dict[str, typing.Any]] = None + backoff_plan: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Any]], + FieldMetadata(alias="backoffPlan"), + pydantic.Field(alias="backoffPlan"), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") + ] = None + description: typing.Optional[str] = None + variable_extraction_plan: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Any]], + FieldMetadata(alias="variableExtractionPlan"), + pydantic.Field(alias="variableExtractionPlan"), + ] = None + rejection_plan: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Any]], + FieldMetadata(alias="rejectionPlan"), + pydantic.Field(alias="rejectionPlan"), + ] = None + credential_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="credentialId"), pydantic.Field(alias="credentialId") + ] = None + extended_delay_when_preceded_by_text_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="extendedDelayWhenPrecededByTextEnabled"), + pydantic.Field(alias="extendedDelayWhenPrecededByTextEnabled"), + ] = None + beep_detection_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") + ] = None + code: typing.Optional[str] = None + environment_variables: typing_extensions.Annotated[ + typing.Optional[typing.List[typing.Dict[str, typing.Any]]], + FieldMetadata(alias="environmentVariables"), + pydantic.Field(alias="environmentVariables"), + ] = None + parameters: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None + encrypted_paths: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") + ] = None + sip_info_dtmf_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="sipInfoDtmfEnabled"), pydantic.Field(alias="sipInfoDtmfEnabled") + ] = None + verb: typing.Optional[str] = None + default_result: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="defaultResult"), pydantic.Field(alias="defaultResult") + ] = None + tool_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[typing.Dict[str, typing.Any]]], + FieldMetadata(alias="toolMessages"), + pydantic.Field(alias="toolMessages"), + ] = None + id: str = pydantic.Field() + """ + This is the unique identifier for the version row. + """ + + org_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="orgId"), + pydantic.Field(alias="orgId", description="This is the unique identifier for the org that owns this version."), + ] + tool_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="toolId"), + pydantic.Field( + alias="toolId", description="This is the unique identifier for the tool this version was snapshotted from." + ), + ] + version: str = pydantic.Field() + """ + This is the public monotonic version label, e.g. "v1". + System-owned and incremented per tool; never user-supplied. + """ + + config_hash: typing_extensions.Annotated[ + str, + FieldMetadata(alias="configHash"), + pydantic.Field( + alias="configHash", + description="This is the SHA-256 hex of the snapshotted content used for no-op detection.", + ), + ] + parent_version: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="parentVersion"), + pydantic.Field( + alias="parentVersion", description="This is the prior version label (vN-1). Null on v1 or for branch roots." + ), + ] = None + created_by: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="createdBy"), + pydantic.Field( + alias="createdBy", + description="This is the actor that wrote this version. Email when created via JWT, null when created via API.", + ), + ] = None + deleted_at: typing_extensions.Annotated[ + typing.Optional[dt.datetime], + FieldMetadata(alias="deletedAt"), + pydantic.Field(alias="deletedAt", description="This is the soft-delete timestamp. Null when active."), + ] = None + created_at: typing_extensions.Annotated[ + dt.datetime, + FieldMetadata(alias="createdAt"), + pydantic.Field( + alias="createdAt", description="This is the ISO 8601 date-time string of when the version was created." + ), + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/tool_version_paginated_metadata.py b/src/vapi/types/tool_version_paginated_metadata.py new file mode 100644 index 00000000..1b5dce79 --- /dev/null +++ b/src/vapi/types/tool_version_paginated_metadata.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class ToolVersionPaginatedMetadata(UncheckedBaseModel): + next_cursor: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="nextCursor"), pydantic.Field(alias="nextCursor") + ] = None + has_next_page: typing_extensions.Annotated[ + bool, FieldMetadata(alias="hasNextPage"), pydantic.Field(alias="hasNextPage") + ] + limit: 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/vapi/types/tool_version_paginated_response.py b/src/vapi/types/tool_version_paginated_response.py new file mode 100644 index 00000000..304a27b3 --- /dev/null +++ b/src/vapi/types/tool_version_paginated_response.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 .tool_version import ToolVersion +from .tool_version_paginated_metadata import ToolVersionPaginatedMetadata + + +class ToolVersionPaginatedResponse(UncheckedBaseModel): + results: typing.List[ToolVersion] + metadata: ToolVersionPaginatedMetadata + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/transcriber_cost.py b/src/vapi/types/transcriber_cost.py index cbd61e25..04f6591c 100644 --- a/src/vapi/types/transcriber_cost.py +++ b/src/vapi/types/transcriber_cost.py @@ -8,6 +8,10 @@ class TranscriberCost(UncheckedBaseModel): + """ + Speech-to-text cost for a call, including transcriber, billable minutes, and amount. + """ + transcriber: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the transcriber that was used during the call. diff --git a/src/vapi/types/transcript_plan.py b/src/vapi/types/transcript_plan.py index 59ecd0da..397d535d 100644 --- a/src/vapi/types/transcript_plan.py +++ b/src/vapi/types/transcript_plan.py @@ -10,6 +10,10 @@ class TranscriptPlan(UncheckedBaseModel): + """ + Controls whether the call transcript is stored and the speaker names used in the transcript. + """ + enabled: typing.Optional[bool] = pydantic.Field(default=None) """ This determines whether the transcript is stored in `call.artifact.transcript`. Defaults to true. diff --git a/src/vapi/types/transcription_endpointing_plan.py b/src/vapi/types/transcription_endpointing_plan.py index ea2956b3..73f34200 100644 --- a/src/vapi/types/transcription_endpointing_plan.py +++ b/src/vapi/types/transcription_endpointing_plan.py @@ -10,6 +10,10 @@ class TranscriptionEndpointingPlan(UncheckedBaseModel): + """ + Controls endpointing delays based on whether customer speech ends with punctuation, without punctuation, or with a number. + """ + on_punctuation_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="onPunctuationSeconds"), diff --git a/src/vapi/types/transfer_artifact.py b/src/vapi/types/transfer_artifact.py new file mode 100644 index 00000000..34e5fe4b --- /dev/null +++ b/src/vapi/types/transfer_artifact.py @@ -0,0 +1,48 @@ +# 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 .transfer_artifact_destination import TransferArtifactDestination +from .transfer_artifact_messages_item import TransferArtifactMessagesItem +from .transfer_artifact_mode import TransferArtifactMode +from .transfer_artifact_status import TransferArtifactStatus + + +class TransferArtifact(UncheckedBaseModel): + destination: TransferArtifactDestination = pydantic.Field() + """ + The transfer destination (phone number or SIP URI). + """ + + mode: typing.Optional[TransferArtifactMode] = pydantic.Field(default=None) + """ + The transfer mode (e.g. warm-transfer-experimental, blind-transfer). + """ + + transcript: typing.Optional[str] = pydantic.Field(default=None) + """ + Flat-text transcript / announcement preview of the transfer. + """ + + status: typing.Optional[TransferArtifactStatus] = pydantic.Field(default=None) + """ + The terminal status of the transfer, rendered as the status line. + """ + + messages: typing.Optional[typing.List[TransferArtifactMessagesItem]] = pydantic.Field(default=None) + """ + The agent↔operator conversation captured during a + warm-transfer-experimental, rendered as bubbles. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/transfer_artifact_destination.py b/src/vapi/types/transfer_artifact_destination.py new file mode 100644 index 00000000..30f9b20d --- /dev/null +++ b/src/vapi/types/transfer_artifact_destination.py @@ -0,0 +1,83 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .transfer_destination_number_message import TransferDestinationNumberMessage +from .transfer_destination_sip_message import TransferDestinationSipMessage +from .transfer_plan import TransferPlan + + +class TransferArtifactDestination_Number(UncheckedBaseModel): + """ + The transfer destination (phone number or SIP URI). + """ + + type: typing.Literal["number"] = "number" + message: typing.Optional[TransferDestinationNumberMessage] = None + number_e_164_check_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="numberE164CheckEnabled"), + pydantic.Field(alias="numberE164CheckEnabled"), + ] = None + number: str + extension: typing.Optional[str] = None + caller_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callerId"), pydantic.Field(alias="callerId") + ] = None + transfer_plan: typing_extensions.Annotated[ + typing.Optional[TransferPlan], FieldMetadata(alias="transferPlan"), pydantic.Field(alias="transferPlan") + ] = None + description: 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 TransferArtifactDestination_Sip(UncheckedBaseModel): + """ + The transfer destination (phone number or SIP URI). + """ + + type: typing.Literal["sip"] = "sip" + message: typing.Optional[TransferDestinationSipMessage] = None + sip_uri: typing_extensions.Annotated[str, FieldMetadata(alias="sipUri"), pydantic.Field(alias="sipUri")] + caller_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callerId"), pydantic.Field(alias="callerId") + ] = None + transfer_plan: typing_extensions.Annotated[ + typing.Optional[TransferPlan], FieldMetadata(alias="transferPlan"), pydantic.Field(alias="transferPlan") + ] = None + sip_headers: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Any]], + FieldMetadata(alias="sipHeaders"), + pydantic.Field(alias="sipHeaders"), + ] = None + description: 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 + + +TransferArtifactDestination = typing_extensions.Annotated[ + typing.Union[TransferArtifactDestination_Number, TransferArtifactDestination_Sip], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/transfer_artifact_messages_item.py b/src/vapi/types/transfer_artifact_messages_item.py new file mode 100644 index 00000000..8dcd4cf5 --- /dev/null +++ b/src/vapi/types/transfer_artifact_messages_item.py @@ -0,0 +1,13 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .bot_message import BotMessage +from .system_message import SystemMessage +from .tool_call_message import ToolCallMessage +from .tool_call_result_message import ToolCallResultMessage +from .user_message import UserMessage + +TransferArtifactMessagesItem = typing.Union[ + UserMessage, SystemMessage, BotMessage, ToolCallMessage, ToolCallResultMessage +] diff --git a/src/vapi/types/transfer_artifact_mode.py b/src/vapi/types/transfer_artifact_mode.py new file mode 100644 index 00000000..c402f41d --- /dev/null +++ b/src/vapi/types/transfer_artifact_mode.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TransferArtifactMode = typing.Union[ + typing.Literal[ + "blind-transfer", + "blind-transfer-add-summary-to-sip-header", + "warm-transfer-say-message", + "warm-transfer-say-summary", + "warm-transfer-twiml", + "warm-transfer-wait-for-operator-to-speak-first-and-then-say-message", + "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary", + "warm-transfer-experimental", + ], + typing.Any, +] diff --git a/src/vapi/types/transfer_artifact_status.py b/src/vapi/types/transfer_artifact_status.py new file mode 100644 index 00000000..5e85a2fb --- /dev/null +++ b/src/vapi/types/transfer_artifact_status.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TransferArtifactStatus = typing.Union[ + typing.Literal["connected", "no-answer", "busy", "voicemail", "failed", "completed", "cancelled"], typing.Any +] diff --git a/src/vapi/types/transfer_assistant_transcriber.py b/src/vapi/types/transfer_assistant_transcriber.py index c92f4397..e938ab6a 100644 --- a/src/vapi/types/transfer_assistant_transcriber.py +++ b/src/vapi/types/transfer_assistant_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class TransferAssistantTranscriber_AssemblyAi(UncheckedBaseModel): @@ -198,18 +207,17 @@ class TransferAssistantTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -282,7 +290,7 @@ class TransferAssistantTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -492,6 +500,7 @@ class TransferAssistantTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -503,6 +512,11 @@ class TransferAssistantTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -519,6 +533,56 @@ class Config: extra = pydantic.Extra.allow +class TransferAssistantTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the transfer assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 TransferAssistantTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the transfer assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + TransferAssistantTranscriber = typing_extensions.Annotated[ typing.Union[ TransferAssistantTranscriber_AssemblyAi, @@ -533,6 +597,8 @@ class Config: TransferAssistantTranscriber_Openai, TransferAssistantTranscriber_Cartesia, TransferAssistantTranscriber_Soniox, + TransferAssistantTranscriber_Xai, + TransferAssistantTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/transfer_assistant_voice.py b/src/vapi/types/transfer_assistant_voice.py index 8309d99b..e8b1ce6d 100644 --- a/src/vapi/types/transfer_assistant_voice.py +++ b/src/vapi/types/transfer_assistant_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class TransferAssistantVoice_Azure(UncheckedBaseModel): @@ -577,7 +584,9 @@ class TransferAssistantVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -586,9 +595,6 @@ class TransferAssistantVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -715,6 +721,72 @@ class Config: extra = pydantic.Extra.allow +class TransferAssistantVoice_Xai(UncheckedBaseModel): + """ + These are the options for the transfer assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 TransferAssistantVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the transfer assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + TransferAssistantVoice = typing_extensions.Annotated[ typing.Union[ TransferAssistantVoice_Azure, @@ -735,6 +807,8 @@ class Config: TransferAssistantVoice_Sesame, TransferAssistantVoice_Inworld, TransferAssistantVoice_Minimax, + TransferAssistantVoice_Xai, + TransferAssistantVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/transfer_call_tool.py b/src/vapi/types/transfer_call_tool.py index 81530bee..80ad8e96 100644 --- a/src/vapi/types/transfer_call_tool.py +++ b/src/vapi/types/transfer_call_tool.py @@ -16,11 +16,16 @@ class TransferCallTool(UncheckedBaseModel): + """ + A reusable tool that transfers the active call to one of its configured destinations. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = pydantic.Field(default=None) diff --git a/src/vapi/types/transfer_call_tool_messages_item.py b/src/vapi/types/transfer_call_tool_messages_item.py index 72f1e8ed..42206d0f 100644 --- a/src/vapi/types/transfer_call_tool_messages_item.py +++ b/src/vapi/types/transfer_call_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class TransferCallToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class TransferCallToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/transfer_cancel_tool_user_editable.py b/src/vapi/types/transfer_cancel_tool_user_editable.py index 68097f86..5fec20b4 100644 --- a/src/vapi/types/transfer_cancel_tool_user_editable.py +++ b/src/vapi/types/transfer_cancel_tool_user_editable.py @@ -17,9 +17,7 @@ class TransferCancelToolUserEditable(UncheckedBaseModel): messages: typing.Optional[typing.List[TransferCancelToolUserEditableMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: TransferCancelToolUserEditableType = pydantic.Field() diff --git a/src/vapi/types/transfer_cancel_tool_user_editable_messages_item.py b/src/vapi/types/transfer_cancel_tool_user_editable_messages_item.py index 441579af..4ad9c585 100644 --- a/src/vapi/types/transfer_cancel_tool_user_editable_messages_item.py +++ b/src/vapi/types/transfer_cancel_tool_user_editable_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class TransferCancelToolUserEditableMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class TransferCancelToolUserEditableMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/transfer_destination_assistant.py b/src/vapi/types/transfer_destination_assistant.py index 71d40eb1..34fc8f09 100644 --- a/src/vapi/types/transfer_destination_assistant.py +++ b/src/vapi/types/transfer_destination_assistant.py @@ -13,6 +13,10 @@ class TransferDestinationAssistant(UncheckedBaseModel): + """ + Transfers a call to another assistant by name, with an optional message and assistant-transfer mode. + """ + message: typing.Optional[TransferDestinationAssistantMessage] = pydantic.Field(default=None) """ This is spoken to the customer before connecting them to the destination. @@ -24,7 +28,11 @@ class TransferDestinationAssistant(UncheckedBaseModel): This accepts a string or a ToolMessageStart class. Latter is useful if you want to specify multiple messages for different languages through the `contents` field. """ - type: TransferDestinationAssistantType + type: TransferDestinationAssistantType = pydantic.Field() + """ + Selects another assistant as the transfer destination. + """ + transfer_mode: typing_extensions.Annotated[ typing.Optional[TransferMode], FieldMetadata(alias="transferMode"), diff --git a/src/vapi/types/transfer_destination_number.py b/src/vapi/types/transfer_destination_number.py index a2eae071..f342d016 100644 --- a/src/vapi/types/transfer_destination_number.py +++ b/src/vapi/types/transfer_destination_number.py @@ -12,6 +12,10 @@ class TransferDestinationNumber(UncheckedBaseModel): + """ + Transfers a call to a phone number, with optional extension, caller ID, message, transfer plan, and number validation. + """ + message: typing.Optional[TransferDestinationNumberMessage] = pydantic.Field(default=None) """ This is spoken to the customer before connecting them to the destination. diff --git a/src/vapi/types/transfer_destination_sip.py b/src/vapi/types/transfer_destination_sip.py index 4f10e3e5..ce913178 100644 --- a/src/vapi/types/transfer_destination_sip.py +++ b/src/vapi/types/transfer_destination_sip.py @@ -12,6 +12,10 @@ class TransferDestinationSip(UncheckedBaseModel): + """ + Transfers a call to a SIP URI, with optional caller ID, headers, message, and transfer plan. + """ + message: typing.Optional[TransferDestinationSipMessage] = pydantic.Field(default=None) """ This is spoken to the customer before connecting them to the destination. diff --git a/src/vapi/types/transfer_fallback_plan.py b/src/vapi/types/transfer_fallback_plan.py index 6b14d6dd..8b93d5af 100644 --- a/src/vapi/types/transfer_fallback_plan.py +++ b/src/vapi/types/transfer_fallback_plan.py @@ -11,6 +11,10 @@ class TransferFallbackPlan(UncheckedBaseModel): + """ + Controls the message and end-call behavior used when a call transfer fails. + """ + message: TransferFallbackPlanMessage = pydantic.Field() """ This is the message the assistant will deliver to the customer if the transfer fails. diff --git a/src/vapi/types/transfer_phone_number_hook_action.py b/src/vapi/types/transfer_phone_number_hook_action.py index 0e56a13c..926d462d 100644 --- a/src/vapi/types/transfer_phone_number_hook_action.py +++ b/src/vapi/types/transfer_phone_number_hook_action.py @@ -9,6 +9,10 @@ class TransferPhoneNumberHookAction(UncheckedBaseModel): + """ + A phone-number hook action that transfers the call to a phone number or SIP destination. + """ + destination: typing.Optional[TransferPhoneNumberHookActionDestination] = pydantic.Field(default=None) """ This is the destination details for the transfer - can be a phone number or SIP URI diff --git a/src/vapi/types/transfer_plan.py b/src/vapi/types/transfer_plan.py index f9a02e49..58b941b0 100644 --- a/src/vapi/types/transfer_plan.py +++ b/src/vapi/types/transfer_plan.py @@ -15,6 +15,10 @@ class TransferPlan(UncheckedBaseModel): + """ + Controls how a call transfer is executed, including blind and warm transfer modes, dialing and SIP behavior, hold audio, context, summary, and failure handling. + """ + mode: TransferPlanMode = pydantic.Field() """ This configures how transfer is executed and the experience of the destination party receiving the call. @@ -125,7 +129,7 @@ class TransferPlan(UncheckedBaseModel): FieldMetadata(alias="fallbackPlan"), pydantic.Field( alias="fallbackPlan", - description="This configures the fallback plan when the transfer fails (destination unreachable, busy, or not human).\n\nUsage:\n- Used only when `mode` is `warm-transfer-experimental`.\n- If not provided when using `warm-transfer-experimental`, a default message will be used.", + description="This configures the fallback plan when the transfer fails (destination unreachable, busy, or not human).\n\nUsage:\n- Used when `mode` is `warm-transfer-experimental`. If not provided, a default message will be used.\n- Used for SIP cold transfers (`blind-transfer` modes) when transfer outcome detection and fallback\n are enabled for the organization: on a failed transfer, the assistant speaks `message`, then ends\n the call or continues with the customer per `endCallEnabled`.", ), ] = None diff --git a/src/vapi/types/transfer_successful_tool_user_editable.py b/src/vapi/types/transfer_successful_tool_user_editable.py index 96c7660e..68fb35a2 100644 --- a/src/vapi/types/transfer_successful_tool_user_editable.py +++ b/src/vapi/types/transfer_successful_tool_user_editable.py @@ -19,9 +19,7 @@ class TransferSuccessfulToolUserEditable(UncheckedBaseModel): default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ type: TransferSuccessfulToolUserEditableType = pydantic.Field() diff --git a/src/vapi/types/transfer_successful_tool_user_editable_messages_item.py b/src/vapi/types/transfer_successful_tool_user_editable_messages_item.py index 67e4ad9f..98899592 100644 --- a/src/vapi/types/transfer_successful_tool_user_editable_messages_item.py +++ b/src/vapi/types/transfer_successful_tool_user_editable_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class TransferSuccessfulToolUserEditableMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class TransferSuccessfulToolUserEditableMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/transport_configuration_twilio.py b/src/vapi/types/transport_configuration_twilio.py index 06976f92..dff13837 100644 --- a/src/vapi/types/transport_configuration_twilio.py +++ b/src/vapi/types/transport_configuration_twilio.py @@ -12,7 +12,15 @@ class TransportConfigurationTwilio(UncheckedBaseModel): - provider: TransportConfigurationTwilioProvider + """ + Configuration passed to Twilio for assistant calls, including ring timeout and Twilio recording behavior. + """ + + provider: TransportConfigurationTwilioProvider = pydantic.Field() + """ + Selects Twilio as the call transport provider. + """ + timeout: typing.Optional[float] = pydantic.Field(default=None) """ The integer number of seconds that we should allow the phone to ring before assuming there is no answer. diff --git a/src/vapi/types/transport_cost.py b/src/vapi/types/transport_cost.py index a8dad049..0b63c080 100644 --- a/src/vapi/types/transport_cost.py +++ b/src/vapi/types/transport_cost.py @@ -9,7 +9,15 @@ class TransportCost(UncheckedBaseModel): - provider: typing.Optional[TransportCostProvider] = None + """ + Telephony transport cost for a call, including provider, billable minutes, and amount. + """ + + provider: typing.Optional[TransportCostProvider] = pydantic.Field(default=None) + """ + Telephony or transport provider that generated the cost. + """ + minutes: float = pydantic.Field() """ This is the minutes of `transport` usage. This should match `call.endedAt` - `call.startedAt`. diff --git a/src/vapi/types/trieve_knowledge_base.py b/src/vapi/types/trieve_knowledge_base.py index b0079db5..f0e92194 100644 --- a/src/vapi/types/trieve_knowledge_base.py +++ b/src/vapi/types/trieve_knowledge_base.py @@ -2,61 +2,4 @@ import typing -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_knowledge_base_import import TrieveKnowledgeBaseImport -from .trieve_knowledge_base_provider import TrieveKnowledgeBaseProvider -from .trieve_knowledge_base_search_plan import TrieveKnowledgeBaseSearchPlan - - -class TrieveKnowledgeBase(UncheckedBaseModel): - provider: TrieveKnowledgeBaseProvider = pydantic.Field() - """ - This knowledge base is provided by Trieve. - - To learn more about Trieve, visit https://trieve.ai. - """ - - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the knowledge base. - """ - - search_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseSearchPlan], - FieldMetadata(alias="searchPlan"), - pydantic.Field( - alias="searchPlan", - description="This is the searching plan used when searching for relevant chunks from the vector store.\n\nYou should configure this if you're running into these issues:\n- Too much unnecessary context is being fed as knowledge base context.\n- Not enough relevant context is being fed as knowledge base context.", - ), - ] = None - create_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseImport], - FieldMetadata(alias="createPlan"), - pydantic.Field( - alias="createPlan", - description="This is the plan if you want us to create/import a new vector store using Trieve.", - ), - ] = None - id: str = pydantic.Field() - """ - This is the id of the knowledge base. - """ - - org_id: typing_extensions.Annotated[ - str, - FieldMetadata(alias="orgId"), - pydantic.Field(alias="orgId", description="This is the org id of the knowledge base."), - ] - - 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 +TrieveKnowledgeBase = typing.Any diff --git a/src/vapi/types/trieve_knowledge_base_chunk_plan.py b/src/vapi/types/trieve_knowledge_base_chunk_plan.py deleted file mode 100644 index d957f2dd..00000000 --- a/src/vapi/types/trieve_knowledge_base_chunk_plan.py +++ /dev/null @@ -1,58 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel - - -class TrieveKnowledgeBaseChunkPlan(UncheckedBaseModel): - file_ids: typing_extensions.Annotated[ - typing.Optional[typing.List[str]], - FieldMetadata(alias="fileIds"), - pydantic.Field( - alias="fileIds", - description="These are the file ids that will be used to create the vector store. To upload files, use the `POST /files` endpoint.", - ), - ] = None - websites: typing.Optional[typing.List[str]] = pydantic.Field(default=None) - """ - These are the websites that will be used to create the vector store. - """ - - target_splits_per_chunk: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="targetSplitsPerChunk"), - pydantic.Field( - alias="targetSplitsPerChunk", - description="This is an optional field which allows you to specify the number of splits you want per chunk. If not specified, the default 20 is used. However, you may want to use a different number.", - ), - ] = None - split_delimiters: typing_extensions.Annotated[ - typing.Optional[typing.List[str]], - FieldMetadata(alias="splitDelimiters"), - pydantic.Field( - alias="splitDelimiters", - description="This is an optional field which allows you to specify the delimiters to use when splitting the file before chunking the text. If not specified, the default [.!?\\n] are used to split into sentences. However, you may want to use spaces or other delimiters.", - ), - ] = None - rebalance_chunks: typing_extensions.Annotated[ - typing.Optional[bool], - FieldMetadata(alias="rebalanceChunks"), - pydantic.Field( - alias="rebalanceChunks", - description="This is an optional field which allows you to specify whether or not to rebalance the chunks created from the file. If not specified, the default true is used. If true, Trieve will evenly distribute remainder splits across chunks such that 66 splits with a target_splits_per_chunk of 20 will result in 3 chunks with 22 splits each.", - ), - ] = None - - if IS_PYDANTIC_V2: - model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 - else: - - class Config: - frozen = True - smart_union = True - extra = pydantic.Extra.allow diff --git a/src/vapi/types/trieve_knowledge_base_create_type.py b/src/vapi/types/trieve_knowledge_base_create_type.py deleted file mode 100644 index e4b9d5dc..00000000 --- a/src/vapi/types/trieve_knowledge_base_create_type.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrieveKnowledgeBaseCreateType = typing.Union[typing.Literal["create"], typing.Any] diff --git a/src/vapi/types/trieve_knowledge_base_import.py b/src/vapi/types/trieve_knowledge_base_import.py index bb976ab9..79fbd64d 100644 --- a/src/vapi/types/trieve_knowledge_base_import.py +++ b/src/vapi/types/trieve_knowledge_base_import.py @@ -2,33 +2,4 @@ import typing -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_knowledge_base_import_type import TrieveKnowledgeBaseImportType - - -class TrieveKnowledgeBaseImport(UncheckedBaseModel): - type: TrieveKnowledgeBaseImportType = pydantic.Field() - """ - This is to import an existing dataset from Trieve. - """ - - provider_id: typing_extensions.Annotated[ - str, - FieldMetadata(alias="providerId"), - pydantic.Field( - alias="providerId", description="This is the `datasetId` of the dataset on your Trieve account." - ), - ] - - 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 +TrieveKnowledgeBaseImport = typing.Any diff --git a/src/vapi/types/trieve_knowledge_base_import_type.py b/src/vapi/types/trieve_knowledge_base_import_type.py deleted file mode 100644 index 0ee3ebac..00000000 --- a/src/vapi/types/trieve_knowledge_base_import_type.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrieveKnowledgeBaseImportType = typing.Union[typing.Literal["import"], typing.Any] diff --git a/src/vapi/types/trieve_knowledge_base_provider.py b/src/vapi/types/trieve_knowledge_base_provider.py deleted file mode 100644 index ca81676e..00000000 --- a/src/vapi/types/trieve_knowledge_base_provider.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrieveKnowledgeBaseProvider = typing.Union[typing.Literal["trieve"], typing.Any] diff --git a/src/vapi/types/trieve_knowledge_base_search_plan.py b/src/vapi/types/trieve_knowledge_base_search_plan.py deleted file mode 100644 index be029720..00000000 --- a/src/vapi/types/trieve_knowledge_base_search_plan.py +++ /dev/null @@ -1,54 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_knowledge_base_search_plan_search_type import TrieveKnowledgeBaseSearchPlanSearchType - - -class TrieveKnowledgeBaseSearchPlan(UncheckedBaseModel): - top_k: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="topK"), - pydantic.Field( - alias="topK", - description="Specifies the number of top chunks to return. This corresponds to the `page_size` parameter in Trieve.", - ), - ] = None - remove_stop_words: typing_extensions.Annotated[ - typing.Optional[bool], - FieldMetadata(alias="removeStopWords"), - pydantic.Field( - alias="removeStopWords", - description="If true, stop words (specified in server/src/stop-words.txt in the git repo) will be removed. This will preserve queries that are entirely stop words.", - ), - ] = None - score_threshold: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="scoreThreshold"), - pydantic.Field( - alias="scoreThreshold", - description="This is the score threshold to filter out chunks with a score below the threshold for cosine distance metric. For Manhattan Distance, Euclidean Distance, and Dot Product, it will filter out scores above the threshold distance. This threshold applies before weight and bias modifications. If not specified, this defaults to no threshold. A threshold of 0 will default to no threshold.", - ), - ] = None - search_type: typing_extensions.Annotated[ - TrieveKnowledgeBaseSearchPlanSearchType, - FieldMetadata(alias="searchType"), - pydantic.Field( - alias="searchType", - description="This is the search method used when searching for relevant chunks from the vector store.", - ), - ] - - if IS_PYDANTIC_V2: - model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 - else: - - class Config: - frozen = True - smart_union = True - extra = pydantic.Extra.allow diff --git a/src/vapi/types/trieve_knowledge_base_search_plan_search_type.py b/src/vapi/types/trieve_knowledge_base_search_plan_search_type.py deleted file mode 100644 index da5c68ec..00000000 --- a/src/vapi/types/trieve_knowledge_base_search_plan_search_type.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrieveKnowledgeBaseSearchPlanSearchType = typing.Union[ - typing.Literal["fulltext", "semantic", "hybrid", "bm25"], typing.Any -] diff --git a/src/vapi/types/turn_latency.py b/src/vapi/types/turn_latency.py index 9bfc02a2..e406b82a 100644 --- a/src/vapi/types/turn_latency.py +++ b/src/vapi/types/turn_latency.py @@ -10,6 +10,10 @@ class TurnLatency(UncheckedBaseModel): + """ + Model, voice, transcription, endpointing, and total latency measurements for a conversation turn. + """ + model_latency: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="modelLatency"), diff --git a/src/vapi/types/twilio_phone_number.py b/src/vapi/types/twilio_phone_number.py index da207c1f..8d36a1ce 100644 --- a/src/vapi/types/twilio_phone_number.py +++ b/src/vapi/types/twilio_phone_number.py @@ -15,6 +15,10 @@ class TwilioPhoneNumber(UncheckedBaseModel): + """ + A Twilio phone number connected to Vapi, including its Twilio account details, SMS configuration, routing, hooks, server settings, and lifecycle metadata. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[TwilioPhoneNumberFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/twilio_transport.py b/src/vapi/types/twilio_transport.py new file mode 100644 index 00000000..05a48fe0 --- /dev/null +++ b/src/vapi/types/twilio_transport.py @@ -0,0 +1,52 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .twilio_transport_conversation_type import TwilioTransportConversationType + + +class TwilioTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[TwilioTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + account_sid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="accountSid"), + pydantic.Field(alias="accountSid", description="This is the account SID of the Twilio account."), + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callSid"), + pydantic.Field(alias="callSid", description="This is the call SID of the Twilio call."), + ] = None + call_token: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callToken"), + pydantic.Field(alias="callToken", description="This is the call token of the Twilio call."), + ] = None + forwarded_from: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="forwardedFrom"), + pydantic.Field( + alias="forwardedFrom", + description="This is the phone number from which the call was forwarded.\nUndefined if the call was not forwarded.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/twilio_transport_conversation_type.py b/src/vapi/types/twilio_transport_conversation_type.py new file mode 100644 index 00000000..65f8c126 --- /dev/null +++ b/src/vapi/types/twilio_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TwilioTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/twilio_voicemail_detection_plan.py b/src/vapi/types/twilio_voicemail_detection_plan.py index 4b66a1d1..b4f1414d 100644 --- a/src/vapi/types/twilio_voicemail_detection_plan.py +++ b/src/vapi/types/twilio_voicemail_detection_plan.py @@ -14,6 +14,10 @@ class TwilioVoicemailDetectionPlan(UncheckedBaseModel): + """ + Configuration for Twilio answering-machine detection, including recognized outcomes, enablement, timeout, speech thresholds, and silence timeout. + """ + provider: TwilioVoicemailDetectionPlanProvider = pydantic.Field() """ This is the provider to use for voicemail detection. diff --git a/src/vapi/types/update_anthropic_bedrock_credential_dto.py b/src/vapi/types/update_anthropic_bedrock_credential_dto.py index 992d80f4..7afbc2c0 100644 --- a/src/vapi/types/update_anthropic_bedrock_credential_dto.py +++ b/src/vapi/types/update_anthropic_bedrock_credential_dto.py @@ -10,10 +10,12 @@ from .update_anthropic_bedrock_credential_dto_authentication_plan import ( UpdateAnthropicBedrockCredentialDtoAuthenticationPlan, ) +from .update_anthropic_bedrock_credential_dto_provider import UpdateAnthropicBedrockCredentialDtoProvider from .update_anthropic_bedrock_credential_dto_region import UpdateAnthropicBedrockCredentialDtoRegion class UpdateAnthropicBedrockCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAnthropicBedrockCredentialDtoProvider] = None region: typing.Optional[UpdateAnthropicBedrockCredentialDtoRegion] = pydantic.Field(default=None) """ AWS region where Bedrock is configured. diff --git a/src/vapi/types/update_anthropic_bedrock_credential_dto_provider.py b/src/vapi/types/update_anthropic_bedrock_credential_dto_provider.py new file mode 100644 index 00000000..8983f6ef --- /dev/null +++ b/src/vapi/types/update_anthropic_bedrock_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAnthropicBedrockCredentialDtoProvider = typing.Union[typing.Literal["anthropic-bedrock"], typing.Any] diff --git a/src/vapi/types/update_anthropic_bedrock_credential_dto_region.py b/src/vapi/types/update_anthropic_bedrock_credential_dto_region.py index b2a32472..d7bea99b 100644 --- a/src/vapi/types/update_anthropic_bedrock_credential_dto_region.py +++ b/src/vapi/types/update_anthropic_bedrock_credential_dto_region.py @@ -3,5 +3,8 @@ import typing UpdateAnthropicBedrockCredentialDtoRegion = typing.Union[ - typing.Literal["us-east-1", "us-west-2", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2"], typing.Any + typing.Literal[ + "us-east-1", "us-west-2", "eu-central-1", "eu-west-1", "eu-west-3", "ap-northeast-1", "ap-southeast-2" + ], + typing.Any, ] diff --git a/src/vapi/types/update_anthropic_credential_dto.py b/src/vapi/types/update_anthropic_credential_dto.py index bea147f8..349233d2 100644 --- a/src/vapi/types/update_anthropic_credential_dto.py +++ b/src/vapi/types/update_anthropic_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_anthropic_credential_dto_provider import UpdateAnthropicCredentialDtoProvider class UpdateAnthropicCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAnthropicCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_anthropic_credential_dto_provider.py b/src/vapi/types/update_anthropic_credential_dto_provider.py new file mode 100644 index 00000000..3310972f --- /dev/null +++ b/src/vapi/types/update_anthropic_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAnthropicCredentialDtoProvider = typing.Union[typing.Literal["anthropic"], typing.Any] diff --git a/src/vapi/types/update_anyscale_credential_dto.py b/src/vapi/types/update_anyscale_credential_dto.py index d8d6e75b..ded3718d 100644 --- a/src/vapi/types/update_anyscale_credential_dto.py +++ b/src/vapi/types/update_anyscale_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_anyscale_credential_dto_provider import UpdateAnyscaleCredentialDtoProvider class UpdateAnyscaleCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAnyscaleCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_anyscale_credential_dto_provider.py b/src/vapi/types/update_anyscale_credential_dto_provider.py new file mode 100644 index 00000000..3be44123 --- /dev/null +++ b/src/vapi/types/update_anyscale_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAnyscaleCredentialDtoProvider = typing.Union[typing.Literal["anyscale"], typing.Any] diff --git a/src/vapi/types/update_api_request_tool_dto.py b/src/vapi/types/update_api_request_tool_dto.py index 3fc43a8c..eb39c948 100644 --- a/src/vapi/types/update_api_request_tool_dto.py +++ b/src/vapi/types/update_api_request_tool_dto.py @@ -18,14 +18,27 @@ class UpdateApiRequestToolDto(UncheckedBaseModel): + """ + Fields used to update an API-request tool, including its URL, HTTP method, authentication, request data, retries, and response handling. + """ + messages: typing.Optional[typing.List[UpdateApiRequestToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. + """ + + method: typing.Optional[UpdateApiRequestToolDtoMethod] = pydantic.Field(default=None) + """ + The HTTP method used for the API request. """ - method: typing.Optional[UpdateApiRequestToolDtoMethod] = None timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), @@ -60,13 +73,6 @@ class UpdateApiRequestToolDto(UncheckedBaseModel): description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", ), ] = None - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the tool. This will be passed to the model. - - Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40. - """ - description: typing.Optional[str] = pydantic.Field(default=None) """ This is the description of the tool. This will be passed to the model. diff --git a/src/vapi/types/update_api_request_tool_dto_messages_item.py b/src/vapi/types/update_api_request_tool_dto_messages_item.py index 563ed2f9..3d5663f3 100644 --- a/src/vapi/types/update_api_request_tool_dto_messages_item.py +++ b/src/vapi/types/update_api_request_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateApiRequestToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateApiRequestToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_assembly_ai_credential_dto.py b/src/vapi/types/update_assembly_ai_credential_dto.py index 7de18d92..b3f36832 100644 --- a/src/vapi/types/update_assembly_ai_credential_dto.py +++ b/src/vapi/types/update_assembly_ai_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_assembly_ai_credential_dto_provider import UpdateAssemblyAiCredentialDtoProvider class UpdateAssemblyAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAssemblyAiCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_assembly_ai_credential_dto_provider.py b/src/vapi/types/update_assembly_ai_credential_dto_provider.py new file mode 100644 index 00000000..b648bf82 --- /dev/null +++ b/src/vapi/types/update_assembly_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssemblyAiCredentialDtoProvider = typing.Union[typing.Literal["assembly-ai"], typing.Any] diff --git a/src/vapi/types/update_assistant_draft_dto.py b/src/vapi/types/update_assistant_draft_dto.py new file mode 100644 index 00000000..52c326c0 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto.py @@ -0,0 +1,268 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .analysis_plan import AnalysisPlan +from .artifact_plan import ArtifactPlan +from .background_speech_denoising_plan import BackgroundSpeechDenoisingPlan +from .compliance_plan import CompliancePlan +from .keypad_input_plan import KeypadInputPlan +from .langfuse_observability_plan import LangfuseObservabilityPlan +from .monitor_plan import MonitorPlan +from .server import Server +from .start_speaking_plan import StartSpeakingPlan +from .stop_speaking_plan import StopSpeakingPlan +from .transport_configuration_twilio import TransportConfigurationTwilio +from .update_assistant_draft_dto_background_sound import UpdateAssistantDraftDtoBackgroundSound +from .update_assistant_draft_dto_client_messages_item import UpdateAssistantDraftDtoClientMessagesItem +from .update_assistant_draft_dto_credentials_item import UpdateAssistantDraftDtoCredentialsItem +from .update_assistant_draft_dto_first_message_mode import UpdateAssistantDraftDtoFirstMessageMode +from .update_assistant_draft_dto_hooks_item import UpdateAssistantDraftDtoHooksItem +from .update_assistant_draft_dto_model import UpdateAssistantDraftDtoModel +from .update_assistant_draft_dto_server_messages_item import UpdateAssistantDraftDtoServerMessagesItem +from .update_assistant_draft_dto_transcriber import UpdateAssistantDraftDtoTranscriber +from .update_assistant_draft_dto_voice import UpdateAssistantDraftDtoVoice +from .update_assistant_draft_dto_voicemail_detection import UpdateAssistantDraftDtoVoicemailDetection + + +class UpdateAssistantDraftDto(UncheckedBaseModel): + transcriber: typing.Optional[UpdateAssistantDraftDtoTranscriber] = pydantic.Field(default=None) + """ + These are the options for the assistant's transcriber. + """ + + model: typing.Optional[UpdateAssistantDraftDtoModel] = pydantic.Field(default=None) + """ + These are the options for the assistant's LLM. + """ + + voice: typing.Optional[UpdateAssistantDraftDtoVoice] = pydantic.Field(default=None) + """ + These are the options for the assistant's voice. + """ + + first_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="firstMessage"), + pydantic.Field( + alias="firstMessage", + description="This is the first message that the assistant will say. This can also be a URL to a containerized audio file (mp3, wav, etc.).\n\nIf unspecified, assistant will wait for user to speak and use the model to respond once they speak.", + ), + ] = None + first_message_interruptions_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="firstMessageInterruptionsEnabled"), + pydantic.Field(alias="firstMessageInterruptionsEnabled"), + ] = None + first_message_mode: typing_extensions.Annotated[ + typing.Optional[UpdateAssistantDraftDtoFirstMessageMode], + FieldMetadata(alias="firstMessageMode"), + pydantic.Field( + alias="firstMessageMode", + description="This is the mode for the first message. Default is 'assistant-speaks-first'.\n\nUse:\n- 'assistant-speaks-first' to have the assistant speak first.\n- 'assistant-waits-for-user' to have the assistant wait for the user to speak first.\n- 'assistant-speaks-first-with-model-generated-message' to have the assistant speak first with a message generated by the model based on the conversation state. (`assistant.model.messages` at call start, `call.messages` at squad transfer points).\n\n@default 'assistant-speaks-first'", + ), + ] = None + voicemail_detection: typing_extensions.Annotated[ + typing.Optional[UpdateAssistantDraftDtoVoicemailDetection], + FieldMetadata(alias="voicemailDetection"), + pydantic.Field( + alias="voicemailDetection", + description="These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool].\nBy default, voicemail detection is disabled.", + ), + ] = None + client_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[UpdateAssistantDraftDtoClientMessagesItem]], + FieldMetadata(alias="clientMessages"), + pydantic.Field( + alias="clientMessages", + description="These are the messages that will be sent to your Client SDKs. Default is conversation-update,function-call,hang,model-output,speech-update,status-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input,workflow.node.started,assistant.started. You can check the shape of the messages in ClientMessage schema.", + ), + ] = None + server_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[UpdateAssistantDraftDtoServerMessagesItem]], + FieldMetadata(alias="serverMessages"), + pydantic.Field( + alias="serverMessages", + description="These are the messages that will be sent to your Server URL. Default is conversation-update,end-of-call-report,function-call,hang,speech-update,status-update,tool-calls,transfer-destination-request,handoff-destination-request,user-interrupted,assistant.started. You can check the shape of the messages in ServerMessage schema.", + ), + ] = None + max_duration_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="maxDurationSeconds"), + pydantic.Field( + alias="maxDurationSeconds", + description="This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.\n\n@default 600 (10 minutes)", + ), + ] = None + background_sound: typing_extensions.Annotated[ + typing.Optional[UpdateAssistantDraftDtoBackgroundSound], + FieldMetadata(alias="backgroundSound"), + pydantic.Field( + alias="backgroundSound", + description="This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", + ), + ] = None + model_output_in_messages_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="modelOutputInMessagesEnabled"), + pydantic.Field( + alias="modelOutputInMessagesEnabled", + description="This determines whether the model's output is used in conversation history rather than the transcription of assistant's speech.\n\n@default false", + ), + ] = None + transport_configurations: typing_extensions.Annotated[ + typing.Optional[typing.List[TransportConfigurationTwilio]], + FieldMetadata(alias="transportConfigurations"), + pydantic.Field( + alias="transportConfigurations", + description="These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.", + ), + ] = None + observability_plan: typing_extensions.Annotated[ + typing.Optional[LangfuseObservabilityPlan], + FieldMetadata(alias="observabilityPlan"), + pydantic.Field( + alias="observabilityPlan", + description="This is the plan for observability of assistant's calls.\n\nCurrently, only Langfuse is supported.", + ), + ] = None + credentials: typing.Optional[typing.List[UpdateAssistantDraftDtoCredentialsItem]] = pydantic.Field(default=None) + """ + These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials. + """ + + hooks: typing.Optional[typing.List[UpdateAssistantDraftDtoHooksItem]] = pydantic.Field(default=None) + """ + This is a set of actions that will be performed on certain events. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the assistant. + + This is required when you want to transfer between assistants in a call. + """ + + voicemail_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="voicemailMessage"), + pydantic.Field( + alias="voicemailMessage", + description="This is the message that the assistant will say if the call is forwarded to voicemail.\n\nIf unspecified, it will hang up.", + ), + ] = None + end_call_message: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="endCallMessage"), + pydantic.Field( + alias="endCallMessage", + description="This is the message that the assistant will say if it ends the call.\n\nIf unspecified, it will hang up without saying anything.", + ), + ] = None + end_call_phrases: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="endCallPhrases"), + pydantic.Field( + alias="endCallPhrases", + description="This list contains phrases that, if spoken by the assistant, will trigger the call to be hung up. Case insensitive.", + ), + ] = None + compliance_plan: typing_extensions.Annotated[ + typing.Optional[CompliancePlan], FieldMetadata(alias="compliancePlan"), pydantic.Field(alias="compliancePlan") + ] = None + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is for metadata you want to store on the assistant. + """ + + background_speech_denoising_plan: typing_extensions.Annotated[ + typing.Optional[BackgroundSpeechDenoisingPlan], + FieldMetadata(alias="backgroundSpeechDenoisingPlan"), + pydantic.Field( + alias="backgroundSpeechDenoisingPlan", + description="This enables filtering of noise and background speech while the user is talking.\n\nFeatures:\n- Smart denoising using Krisp\n- Fourier denoising\n\nSmart denoising can be combined with or used independently of Fourier denoising.\n\nOrder of precedence:\n- Smart denoising\n- Fourier denoising", + ), + ] = None + analysis_plan: typing_extensions.Annotated[ + typing.Optional[AnalysisPlan], + FieldMetadata(alias="analysisPlan"), + pydantic.Field( + alias="analysisPlan", + description="This is the plan for analysis of assistant's calls. Stored in `call.analysis`.", + ), + ] = None + artifact_plan: typing_extensions.Annotated[ + typing.Optional[ArtifactPlan], + FieldMetadata(alias="artifactPlan"), + pydantic.Field( + alias="artifactPlan", + description="This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.", + ), + ] = None + start_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StartSpeakingPlan], + FieldMetadata(alias="startSpeakingPlan"), + pydantic.Field( + alias="startSpeakingPlan", + description="This is the plan for when the assistant should start talking.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to start talking after the customer is done speaking.\n- The assistant is too fast to start talking after the customer is done speaking.\n- The assistant is so fast that it's actually interrupting the customer.", + ), + ] = None + stop_speaking_plan: typing_extensions.Annotated[ + typing.Optional[StopSpeakingPlan], + FieldMetadata(alias="stopSpeakingPlan"), + pydantic.Field( + alias="stopSpeakingPlan", + description="This is the plan for when assistant should stop talking on customer interruption.\n\nYou should configure this if you're running into these issues:\n- The assistant is too slow to recognize customer's interruption.\n- The assistant is too fast to recognize customer's interruption.\n- The assistant is getting interrupted by phrases that are just acknowledgments.\n- The assistant is getting interrupted by background noises.\n- The assistant is not properly stopping -- it starts talking right after getting interrupted.", + ), + ] = None + monitor_plan: typing_extensions.Annotated[ + typing.Optional[MonitorPlan], + FieldMetadata(alias="monitorPlan"), + pydantic.Field( + alias="monitorPlan", + description="This is the plan for real-time monitoring of the assistant's calls.\n\nUsage:\n- To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.\n- To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.\n- To attach monitors to the assistant, set `monitorPlan.monitorIds` to the set of monitor ids.", + ), + ] = None + credential_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="credentialIds"), + pydantic.Field( + alias="credentialIds", + description="These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.", + ), + ] = None + server: typing.Optional[Server] = pydantic.Field(default=None) + """ + This is where Vapi will send webhooks. You can find all webhooks available along with their shape in ServerMessage schema. + + The order of precedence is: + + 1. assistant.server.url + 2. phoneNumber.serverUrl + 3. org.serverUrl + """ + + keypad_input_plan: typing_extensions.Annotated[ + typing.Optional[KeypadInputPlan], + FieldMetadata(alias="keypadInputPlan"), + pydantic.Field(alias="keypadInputPlan"), + ] = 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 + + +update_forward_refs(UpdateAssistantDraftDto) diff --git a/src/vapi/types/update_assistant_draft_dto_background_sound.py b/src/vapi/types/update_assistant_draft_dto_background_sound.py new file mode 100644 index 00000000..7d19a90a --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_background_sound.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .update_assistant_draft_dto_background_sound_zero import UpdateAssistantDraftDtoBackgroundSoundZero + +UpdateAssistantDraftDtoBackgroundSound = typing.Union[UpdateAssistantDraftDtoBackgroundSoundZero, str] diff --git a/src/vapi/types/update_assistant_draft_dto_background_sound_zero.py b/src/vapi/types/update_assistant_draft_dto_background_sound_zero.py new file mode 100644 index 00000000..a9446591 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_background_sound_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssistantDraftDtoBackgroundSoundZero = typing.Union[typing.Literal["off", "office"], typing.Any] diff --git a/src/vapi/types/update_assistant_draft_dto_client_messages_item.py b/src/vapi/types/update_assistant_draft_dto_client_messages_item.py new file mode 100644 index 00000000..e763287b --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_client_messages_item.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssistantDraftDtoClientMessagesItem = typing.Union[ + typing.Literal[ + "conversation-update", + "assistant.speechStarted", + "function-call", + "function-call-result", + "hang", + "language-changed", + "metadata", + "model-output", + "speech-update", + "status-update", + "transcript", + "tool-calls", + "tool-calls-result", + "tool.completed", + "transfer-update", + "user-interrupted", + "voice-input", + "workflow.node.started", + "assistant.started", + ], + typing.Any, +] diff --git a/src/vapi/types/update_assistant_draft_dto_credentials_item.py b/src/vapi/types/update_assistant_draft_dto_credentials_item.py new file mode 100644 index 00000000..0bb875a7 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_credentials_item.py @@ -0,0 +1,1099 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_blob_storage_bucket_plan import AzureBlobStorageBucketPlan +from .bucket_plan import BucketPlan +from .cloudflare_r_2_bucket_plan import CloudflareR2BucketPlan +from .create_anthropic_bedrock_credential_dto_authentication_plan import ( + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, +) +from .create_anthropic_bedrock_credential_dto_region import CreateAnthropicBedrockCredentialDtoRegion +from .create_azure_credential_dto_region import CreateAzureCredentialDtoRegion +from .create_azure_credential_dto_service import CreateAzureCredentialDtoService +from .create_azure_open_ai_credential_dto_models_item import CreateAzureOpenAiCredentialDtoModelsItem +from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion +from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan +from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl +from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan +from .gcp_key import GcpKey +from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan +from .oauth_2_authentication_session import Oauth2AuthenticationSession +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan +from .sip_trunk_gateway import SipTrunkGateway +from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan +from .supabase_bucket_plan import SupabaseBucketPlan + + +class UpdateAssistantDraftDtoCredentialsItem_11Labs(UncheckedBaseModel): + provider: typing.Literal["11labs"] = "11labs" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Anthropic(UncheckedBaseModel): + provider: typing.Literal["anthropic"] = "anthropic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock(UncheckedBaseModel): + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + region: CreateAnthropicBedrockCredentialDtoRegion + authentication_plan: typing_extensions.Annotated[ + CreateAnthropicBedrockCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Anyscale(UncheckedBaseModel): + provider: typing.Literal["anyscale"] = "anyscale" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_AssemblyAi(UncheckedBaseModel): + provider: typing.Literal["assembly-ai"] = "assembly-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_AzureOpenai(UncheckedBaseModel): + provider: typing.Literal["azure-openai"] = "azure-openai" + region: CreateAzureOpenAiCredentialDtoRegion + models: typing.List[CreateAzureOpenAiCredentialDtoModelsItem] + open_ai_key: typing_extensions.Annotated[str, FieldMetadata(alias="openAIKey"), pydantic.Field(alias="openAIKey")] + ocp_apim_subscription_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="ocpApimSubscriptionKey"), + pydantic.Field(alias="ocpApimSubscriptionKey"), + ] = None + open_ai_endpoint: typing_extensions.Annotated[ + str, FieldMetadata(alias="openAIEndpoint"), pydantic.Field(alias="openAIEndpoint") + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Azure(UncheckedBaseModel): + provider: typing.Literal["azure"] = "azure" + service: CreateAzureCredentialDtoService + region: typing.Optional[CreateAzureCredentialDtoRegion] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[AzureBlobStorageBucketPlan], + FieldMetadata(alias="bucketPlan"), + pydantic.Field(alias="bucketPlan"), + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): + provider: typing.Literal["byo-sip-trunk"] = "byo-sip-trunk" + gateways: typing.List[SipTrunkGateway] + outbound_authentication_plan: typing_extensions.Annotated[ + typing.Optional[SipTrunkOutboundAuthenticationPlan], + FieldMetadata(alias="outboundAuthenticationPlan"), + pydantic.Field(alias="outboundAuthenticationPlan"), + ] = None + outbound_leading_plus_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="outboundLeadingPlusEnabled"), + pydantic.Field(alias="outboundLeadingPlusEnabled"), + ] = None + tech_prefix: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="techPrefix"), pydantic.Field(alias="techPrefix") + ] = None + sip_diversion_header: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Cartesia(UncheckedBaseModel): + provider: typing.Literal["cartesia"] = "cartesia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Cerebras(UncheckedBaseModel): + provider: typing.Literal["cerebras"] = "cerebras" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Cloudflare(UncheckedBaseModel): + provider: typing.Literal["cloudflare"] = "cloudflare" + account_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountId"), pydantic.Field(alias="accountId") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + account_email: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="accountEmail"), pydantic.Field(alias="accountEmail") + ] = None + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[CloudflareR2BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_CustomLlm(UncheckedBaseModel): + provider: typing.Literal["custom-llm"] = "custom-llm" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + authentication_plan: typing_extensions.Annotated[ + typing.Optional[OAuth2AuthenticationPlan], + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Deepgram(UncheckedBaseModel): + provider: typing.Literal["deepgram"] = "deepgram" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Deepinfra(UncheckedBaseModel): + provider: typing.Literal["deepinfra"] = "deepinfra" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_DeepSeek(UncheckedBaseModel): + provider: typing.Literal["deep-seek"] = "deep-seek" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Gcp(UncheckedBaseModel): + provider: typing.Literal["gcp"] = "gcp" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + gcp_key: typing_extensions.Annotated[GcpKey, FieldMetadata(alias="gcpKey"), pydantic.Field(alias="gcpKey")] + region: typing.Optional[str] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[BucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Gladia(UncheckedBaseModel): + provider: typing.Literal["gladia"] = "gladia" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Gohighlevel(UncheckedBaseModel): + provider: typing.Literal["gohighlevel"] = "gohighlevel" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Google(UncheckedBaseModel): + provider: typing.Literal["google"] = "google" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Groq(UncheckedBaseModel): + provider: typing.Literal["groq"] = "groq" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_InflectionAi(UncheckedBaseModel): + provider: typing.Literal["inflection-ai"] = "inflection-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Langfuse(UncheckedBaseModel): + provider: typing.Literal["langfuse"] = "langfuse" + public_key: typing_extensions.Annotated[str, FieldMetadata(alias="publicKey"), pydantic.Field(alias="publicKey")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[str, FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Lmnt(UncheckedBaseModel): + provider: typing.Literal["lmnt"] = "lmnt" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Make(UncheckedBaseModel): + provider: typing.Literal["make"] = "make" + team_id: typing_extensions.Annotated[str, FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId")] + region: str + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Openai(UncheckedBaseModel): + provider: typing.Literal["openai"] = "openai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Openrouter(UncheckedBaseModel): + provider: typing.Literal["openrouter"] = "openrouter" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_PerplexityAi(UncheckedBaseModel): + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Playht(UncheckedBaseModel): + provider: typing.Literal["playht"] = "playht" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + user_id: typing_extensions.Annotated[str, FieldMetadata(alias="userId"), pydantic.Field(alias="userId")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_RimeAi(UncheckedBaseModel): + provider: typing.Literal["rime-ai"] = "rime-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Runpod(UncheckedBaseModel): + provider: typing.Literal["runpod"] = "runpod" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_S3(UncheckedBaseModel): + provider: typing.Literal["s3"] = "s3" + aws_access_key_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsAccessKeyId"), pydantic.Field(alias="awsAccessKeyId") + ] + aws_secret_access_key: typing_extensions.Annotated[ + str, FieldMetadata(alias="awsSecretAccessKey"), pydantic.Field(alias="awsSecretAccessKey") + ] + region: str + s_3_bucket_name: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3BucketName"), pydantic.Field(alias="s3BucketName") + ] + s_3_path_prefix: typing_extensions.Annotated[ + str, FieldMetadata(alias="s3PathPrefix"), pydantic.Field(alias="s3PathPrefix") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Supabase(UncheckedBaseModel): + provider: typing.Literal["supabase"] = "supabase" + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[SupabaseBucketPlan], FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_SmallestAi(UncheckedBaseModel): + provider: typing.Literal["smallest-ai"] = "smallest-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Tavus(UncheckedBaseModel): + provider: typing.Literal["tavus"] = "tavus" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_TogetherAi(UncheckedBaseModel): + provider: typing.Literal["together-ai"] = "together-ai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Twilio(UncheckedBaseModel): + provider: typing.Literal["twilio"] = "twilio" + auth_token: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="authToken"), pydantic.Field(alias="authToken") + ] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey") + ] = None + api_secret: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret") + ] = None + account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="accountSid"), pydantic.Field(alias="accountSid")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Vonage(UncheckedBaseModel): + provider: typing.Literal["vonage"] = "vonage" + api_secret: typing_extensions.Annotated[str, FieldMetadata(alias="apiSecret"), pydantic.Field(alias="apiSecret")] + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Webhook(UncheckedBaseModel): + provider: typing.Literal["webhook"] = "webhook" + authentication_plan: typing_extensions.Annotated[ + CreateWebhookCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_CustomCredential(UncheckedBaseModel): + provider: typing.Literal["custom-credential"] = "custom-credential" + authentication_plan: typing_extensions.Annotated[ + CreateCustomCredentialDtoAuthenticationPlan, + FieldMetadata(alias="authenticationPlan"), + pydantic.Field(alias="authenticationPlan"), + ] + encryption_plan: typing_extensions.Annotated[ + typing.Optional[CreateCustomCredentialDtoEncryptionPlan], + FieldMetadata(alias="encryptionPlan"), + pydantic.Field(alias="encryptionPlan"), + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Xai(UncheckedBaseModel): + provider: typing.Literal["xai"] = "xai" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None + name: 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 UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-client"] = "google.calendar.oauth2-client" + name: 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 UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.calendar.oauth2-authorization"] = "google.calendar.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["google.sheets.oauth2-authorization"] = "google.sheets.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["slack.oauth2-authorization"] = "slack.oauth2-authorization" + authorization_id: typing_extensions.Annotated[ + str, FieldMetadata(alias="authorizationId"), pydantic.Field(alias="authorizationId") + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization(UncheckedBaseModel): + provider: typing.Literal["ghl.oauth2-authorization"] = "ghl.oauth2-authorization" + authentication_session: typing_extensions.Annotated[ + Oauth2AuthenticationSession, + FieldMetadata(alias="authenticationSession"), + pydantic.Field(alias="authenticationSession"), + ] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Inworld(UncheckedBaseModel): + provider: typing.Literal["inworld"] = "inworld" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Minimax(UncheckedBaseModel): + provider: typing.Literal["minimax"] = "minimax" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + group_id: typing_extensions.Annotated[str, FieldMetadata(alias="groupId"), pydantic.Field(alias="groupId")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Wellsaid(UncheckedBaseModel): + provider: typing.Literal["wellsaid"] = "wellsaid" + api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + name: 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 UpdateAssistantDraftDtoCredentialsItem_Email(UncheckedBaseModel): + provider: typing.Literal["email"] = "email" + email: str + name: 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 UpdateAssistantDraftDtoCredentialsItem_SlackWebhook(UncheckedBaseModel): + provider: typing.Literal["slack-webhook"] = "slack-webhook" + webhook_url: typing_extensions.Annotated[str, FieldMetadata(alias="webhookUrl"), pydantic.Field(alias="webhookUrl")] + name: 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 + + +UpdateAssistantDraftDtoCredentialsItem = typing_extensions.Annotated[ + typing.Union[ + UpdateAssistantDraftDtoCredentialsItem_11Labs, + UpdateAssistantDraftDtoCredentialsItem_Anthropic, + UpdateAssistantDraftDtoCredentialsItem_AnthropicBedrock, + UpdateAssistantDraftDtoCredentialsItem_Anyscale, + UpdateAssistantDraftDtoCredentialsItem_AssemblyAi, + UpdateAssistantDraftDtoCredentialsItem_AzureOpenai, + UpdateAssistantDraftDtoCredentialsItem_Azure, + UpdateAssistantDraftDtoCredentialsItem_ByoSipTrunk, + UpdateAssistantDraftDtoCredentialsItem_Cartesia, + UpdateAssistantDraftDtoCredentialsItem_Cerebras, + UpdateAssistantDraftDtoCredentialsItem_Cloudflare, + UpdateAssistantDraftDtoCredentialsItem_CustomLlm, + UpdateAssistantDraftDtoCredentialsItem_Deepgram, + UpdateAssistantDraftDtoCredentialsItem_Deepinfra, + UpdateAssistantDraftDtoCredentialsItem_DeepSeek, + UpdateAssistantDraftDtoCredentialsItem_Gcp, + UpdateAssistantDraftDtoCredentialsItem_Gladia, + UpdateAssistantDraftDtoCredentialsItem_Gohighlevel, + UpdateAssistantDraftDtoCredentialsItem_Google, + UpdateAssistantDraftDtoCredentialsItem_Groq, + UpdateAssistantDraftDtoCredentialsItem_InflectionAi, + UpdateAssistantDraftDtoCredentialsItem_Langfuse, + UpdateAssistantDraftDtoCredentialsItem_Lmnt, + UpdateAssistantDraftDtoCredentialsItem_Make, + UpdateAssistantDraftDtoCredentialsItem_Openai, + UpdateAssistantDraftDtoCredentialsItem_Openrouter, + UpdateAssistantDraftDtoCredentialsItem_PerplexityAi, + UpdateAssistantDraftDtoCredentialsItem_Playht, + UpdateAssistantDraftDtoCredentialsItem_RimeAi, + UpdateAssistantDraftDtoCredentialsItem_Runpod, + UpdateAssistantDraftDtoCredentialsItem_S3, + UpdateAssistantDraftDtoCredentialsItem_S3Compatible, + UpdateAssistantDraftDtoCredentialsItem_Supabase, + UpdateAssistantDraftDtoCredentialsItem_SmallestAi, + UpdateAssistantDraftDtoCredentialsItem_Tavus, + UpdateAssistantDraftDtoCredentialsItem_TogetherAi, + UpdateAssistantDraftDtoCredentialsItem_Twilio, + UpdateAssistantDraftDtoCredentialsItem_Vonage, + UpdateAssistantDraftDtoCredentialsItem_Webhook, + UpdateAssistantDraftDtoCredentialsItem_CustomCredential, + UpdateAssistantDraftDtoCredentialsItem_Xai, + UpdateAssistantDraftDtoCredentialsItem_Microsoft, + UpdateAssistantDraftDtoCredentialsItem_Neuphonic, + UpdateAssistantDraftDtoCredentialsItem_Hume, + UpdateAssistantDraftDtoCredentialsItem_Mistral, + UpdateAssistantDraftDtoCredentialsItem_Speechmatics, + UpdateAssistantDraftDtoCredentialsItem_Soniox, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Client, + UpdateAssistantDraftDtoCredentialsItem_GoogleCalendarOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_GoogleSheetsOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_SlackOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_GhlOauth2Authorization, + UpdateAssistantDraftDtoCredentialsItem_Inworld, + UpdateAssistantDraftDtoCredentialsItem_Minimax, + UpdateAssistantDraftDtoCredentialsItem_Wellsaid, + UpdateAssistantDraftDtoCredentialsItem_Email, + UpdateAssistantDraftDtoCredentialsItem_SlackWebhook, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/update_assistant_draft_dto_first_message_mode.py b/src/vapi/types/update_assistant_draft_dto_first_message_mode.py new file mode 100644 index 00000000..e564dcbc --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_first_message_mode.py @@ -0,0 +1,10 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssistantDraftDtoFirstMessageMode = typing.Union[ + typing.Literal[ + "assistant-speaks-first", "assistant-speaks-first-with-model-generated-message", "assistant-waits-for-user" + ], + typing.Any, +] diff --git a/src/vapi/types/update_assistant_draft_dto_hooks_item.py b/src/vapi/types/update_assistant_draft_dto_hooks_item.py new file mode 100644 index 00000000..098b83c0 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_hooks_item.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted +from .call_hook_call_ending import CallHookCallEnding +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout +from .session_created_hook import SessionCreatedHook + +UpdateAssistantDraftDtoHooksItem = typing.Union[ + CallHookCallEnding, + CallHookAssistantSpeechInterrupted, + CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechTimeout, + SessionCreatedHook, +] diff --git a/src/vapi/types/update_assistant_draft_dto_model.py b/src/vapi/types/update_assistant_draft_dto_model.py new file mode 100644 index 00000000..914f7a4e --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_model.py @@ -0,0 +1,2093 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .anthropic_bedrock_model_model import AnthropicBedrockModelModel +from .anthropic_model_model import AnthropicModelModel +from .anthropic_thinking_config import AnthropicThinkingConfig +from .cerebras_model_model import CerebrasModelModel +from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto +from .custom_llm_model_metadata_send_mode import CustomLlmModelMetadataSendMode +from .deep_seek_model_model import DeepSeekModelModel +from .google_model_model import GoogleModelModel +from .google_realtime_config import GoogleRealtimeConfig +from .groq_model_model import GroqModelModel +from .inflection_ai_model_model import InflectionAiModelModel +from .minimax_llm_model_model import MinimaxLlmModelModel +from .open_ai_message import OpenAiMessage +from .open_ai_model_fallback_models_item import OpenAiModelFallbackModelsItem +from .open_ai_model_model import OpenAiModelModel +from .open_ai_model_prompt_cache_retention import OpenAiModelPromptCacheRetention +from .open_ai_model_reasoning_effort import OpenAiModelReasoningEffort +from .open_ai_model_tool_strict_compatibility_mode import OpenAiModelToolStrictCompatibilityMode +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion +from .xai_model_model import XaiModelModel + + +class UpdateAssistantDraftDtoModel_Anthropic(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_AnthropicBedrock(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnthropicBedrockModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: AnthropicBedrockModelModel + thinking: typing.Optional[AnthropicThinkingConfig] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Anyscale(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["anyscale"] = "anyscale" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["AnyscaleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Cerebras(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["cerebras"] = "cerebras" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CerebrasModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: CerebrasModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_CustomLlm(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["CustomLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + metadata_send_mode: typing_extensions.Annotated[ + typing.Optional[CustomLlmModelMetadataSendMode], + FieldMetadata(alias="metadataSendMode"), + pydantic.Field(alias="metadataSendMode"), + ] = None + headers: typing.Optional[typing.Dict[str, str]] = None + url: str + word_level_confidence_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="wordLevelConfidenceEnabled"), + pydantic.Field(alias="wordLevelConfidenceEnabled"), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Deepinfra(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deepinfra"] = "deepinfra" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepInfraModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_DeepSeek(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["deep-seek"] = "deep-seek" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["DeepSeekModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: DeepSeekModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Google(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GoogleModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GoogleModelModel + realtime_config: typing_extensions.Annotated[ + typing.Optional[GoogleRealtimeConfig], + FieldMetadata(alias="realtimeConfig"), + pydantic.Field(alias="realtimeConfig"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Groq(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["groq"] = "groq" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["GroqModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: GroqModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_InflectionAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["inflection-ai"] = "inflection-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["InflectionAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: InflectionAiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["minimax"] = "minimax" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["MinimaxLlmModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: MinimaxLlmModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: OpenAiModelModel + fallback_models: typing_extensions.Annotated[ + typing.Optional[typing.List[OpenAiModelFallbackModelsItem]], + FieldMetadata(alias="fallbackModels"), + pydantic.Field(alias="fallbackModels"), + ] = None + tool_strict_compatibility_mode: typing_extensions.Annotated[ + typing.Optional[OpenAiModelToolStrictCompatibilityMode], + FieldMetadata(alias="toolStrictCompatibilityMode"), + pydantic.Field(alias="toolStrictCompatibilityMode"), + ] = None + prompt_cache_retention: typing_extensions.Annotated[ + typing.Optional[OpenAiModelPromptCacheRetention], + FieldMetadata(alias="promptCacheRetention"), + pydantic.Field(alias="promptCacheRetention"), + ] = None + prompt_cache_key: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="promptCacheKey"), pydantic.Field(alias="promptCacheKey") + ] = None + reasoning_effort: typing_extensions.Annotated[ + typing.Optional[OpenAiModelReasoningEffort], + FieldMetadata(alias="reasoningEffort"), + pydantic.Field(alias="reasoningEffort"), + ] = None + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Openrouter(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["openrouter"] = "openrouter" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["OpenRouterModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_PerplexityAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["perplexity-ai"] = "perplexity-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["PerplexityAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_TogetherAi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["together-ai"] = "together-ai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["TogetherAiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: str + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["xai"] = "xai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["XaiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: XaiModelModel + temperature: typing.Optional[float] = None + max_tokens: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTokens"), pydantic.Field(alias="maxTokens") + ] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 UpdateAssistantDraftDtoModel_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's LLM. + """ + + provider: typing.Literal["vapi"] = "vapi" + messages: typing.Optional[typing.List[OpenAiMessage]] = None + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = None + tool_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") + ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], FieldMetadata(alias="toolRefs"), pydantic.Field(alias="toolRefs") + ] = None + knowledge_base: typing_extensions.Annotated[ + typing.Optional[CreateCustomKnowledgeBaseDto], + FieldMetadata(alias="knowledgeBase"), + pydantic.Field(alias="knowledgeBase"), + ] = None + model: typing.Optional[str] = None + version: typing.Optional[VapiModelVersion] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="workflowId"), pydantic.Field(alias="workflowId") + ] = None + workflow: typing.Optional["WorkflowUserEditable"] = None + temperature: typing.Optional[float] = None + emotion_recognition_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="emotionRecognitionEnabled"), + pydantic.Field(alias="emotionRecognitionEnabled"), + ] = None + num_fast_turns: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="numFastTurns"), pydantic.Field(alias="numFastTurns") + ] = 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 + + +UpdateAssistantDraftDtoModel = typing_extensions.Annotated[ + typing.Union[ + UpdateAssistantDraftDtoModel_Anthropic, + UpdateAssistantDraftDtoModel_AnthropicBedrock, + UpdateAssistantDraftDtoModel_Anyscale, + UpdateAssistantDraftDtoModel_Cerebras, + UpdateAssistantDraftDtoModel_CustomLlm, + UpdateAssistantDraftDtoModel_Deepinfra, + UpdateAssistantDraftDtoModel_DeepSeek, + UpdateAssistantDraftDtoModel_Google, + UpdateAssistantDraftDtoModel_Groq, + UpdateAssistantDraftDtoModel_InflectionAi, + UpdateAssistantDraftDtoModel_Minimax, + UpdateAssistantDraftDtoModel_Openai, + UpdateAssistantDraftDtoModel_Openrouter, + UpdateAssistantDraftDtoModel_PerplexityAi, + UpdateAssistantDraftDtoModel_TogetherAi, + UpdateAssistantDraftDtoModel_Xai, + UpdateAssistantDraftDtoModel_Vapi, + ], + UnionMetadata(discriminant="provider"), +] +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 + +update_forward_refs( + UpdateAssistantDraftDtoModel_Anthropic, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_AnthropicBedrock, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Anyscale, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Cerebras, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_CustomLlm, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Deepinfra, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_DeepSeek, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Google, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Groq, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_InflectionAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Minimax, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Openai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Openrouter, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_PerplexityAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_TogetherAi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Xai, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateAssistantDraftDtoModel_Vapi, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/update_assistant_draft_dto_server_messages_item.py b/src/vapi/types/update_assistant_draft_dto_server_messages_item.py new file mode 100644 index 00000000..5cba18b0 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_server_messages_item.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssistantDraftDtoServerMessagesItem = typing.Union[ + typing.Literal[ + "assistant.started", + "assistant.speechStarted", + "conversation-update", + "end-of-call-report", + "function-call", + "hang", + "language-changed", + "language-change-detected", + "model-output", + "phone-call-control", + "speech-update", + "status-update", + "transcript", + 'transcript[transcriptType="final"]', + "tool-calls", + "transfer-destination-request", + "handoff-destination-request", + "transfer-update", + "user-interrupted", + "voice-input", + "chat.created", + "chat.deleted", + "session.created", + "session.updated", + "session.deleted", + "call.deleted", + "call.delete.failed", + ], + typing.Any, +] diff --git a/src/vapi/types/update_assistant_draft_dto_transcriber.py b/src/vapi/types/update_assistant_draft_dto_transcriber.py new file mode 100644 index 00000000..d01ff534 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_transcriber.py @@ -0,0 +1,604 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .assembly_ai_transcriber_language import AssemblyAiTranscriberLanguage +from .assembly_ai_transcriber_speech_model import AssemblyAiTranscriberSpeechModel +from .azure_speech_transcriber_language import AzureSpeechTranscriberLanguage +from .azure_speech_transcriber_segmentation_strategy import AzureSpeechTranscriberSegmentationStrategy +from .cartesia_transcriber_language import CartesiaTranscriberLanguage +from .cartesia_transcriber_model import CartesiaTranscriberModel +from .deepgram_transcriber_language import DeepgramTranscriberLanguage +from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem +from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage +from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel +from .fallback_transcriber_plan import FallbackTranscriberPlan +from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto +from .gladia_transcriber_language import GladiaTranscriberLanguage +from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem +from .gladia_transcriber_model import GladiaTranscriberModel +from .gladia_transcriber_region import GladiaTranscriberRegion +from .google_transcriber_language import GoogleTranscriberLanguage +from .google_transcriber_model import GoogleTranscriberModel +from .open_ai_transcriber_language import OpenAiTranscriberLanguage +from .open_ai_transcriber_model import OpenAiTranscriberModel +from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem +from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem +from .soniox_transcriber_model import SonioxTranscriberModel +from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem +from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage +from .speechmatics_transcriber_model import SpeechmaticsTranscriberModel +from .speechmatics_transcriber_numeral_style import SpeechmaticsTranscriberNumeralStyle +from .speechmatics_transcriber_operating_point import SpeechmaticsTranscriberOperatingPoint +from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion +from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage +from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel + + +class UpdateAssistantDraftDtoTranscriber_AssemblyAi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["assembly-ai"] = "assembly-ai" + language: typing.Optional[AssemblyAiTranscriberLanguage] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + format_turns: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="formatTurns"), pydantic.Field(alias="formatTurns") + ] = None + end_of_turn_confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnConfidenceThreshold"), + pydantic.Field(alias="endOfTurnConfidenceThreshold"), + ] = None + min_end_of_turn_silence_when_confident: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minEndOfTurnSilenceWhenConfident"), + pydantic.Field(alias="minEndOfTurnSilenceWhenConfident"), + ] = None + word_finalization_max_wait_time: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="wordFinalizationMaxWaitTime"), + pydantic.Field(alias="wordFinalizationMaxWaitTime"), + ] = None + max_turn_silence: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxTurnSilence"), pydantic.Field(alias="maxTurnSilence") + ] = None + vad_assisted_endpointing_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="vadAssistedEndpointingEnabled"), + pydantic.Field(alias="vadAssistedEndpointingEnabled"), + ] = None + speech_model: typing_extensions.Annotated[ + typing.Optional[AssemblyAiTranscriberSpeechModel], + FieldMetadata(alias="speechModel"), + pydantic.Field(alias="speechModel"), + ] = None + realtime_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="realtimeUrl"), pydantic.Field(alias="realtimeUrl") + ] = None + word_boost: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="wordBoost"), pydantic.Field(alias="wordBoost") + ] = None + keyterms_prompt: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="keytermsPrompt"), pydantic.Field(alias="keytermsPrompt") + ] = None + end_utterance_silence_threshold: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endUtteranceSilenceThreshold"), + pydantic.Field(alias="endUtteranceSilenceThreshold"), + ] = None + disable_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="disablePartialTranscripts"), + pydantic.Field(alias="disablePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["azure"] = "azure" + language: typing.Optional[AzureSpeechTranscriberLanguage] = None + segmentation_strategy: typing_extensions.Annotated[ + typing.Optional[AzureSpeechTranscriberSegmentationStrategy], + FieldMetadata(alias="segmentationStrategy"), + pydantic.Field(alias="segmentationStrategy"), + ] = None + segmentation_silence_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationSilenceTimeoutMs"), + pydantic.Field(alias="segmentationSilenceTimeoutMs"), + ] = None + segmentation_maximum_time_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="segmentationMaximumTimeMs"), + pydantic.Field(alias="segmentationMaximumTimeMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_CustomTranscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["custom-transcriber"] = "custom-transcriber" + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + model: typing.Optional[DeepgramTranscriberModel] = None + language: typing.Optional[DeepgramTranscriberLanguage] = None + smart_format: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="smartFormat"), pydantic.Field(alias="smartFormat") + ] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + numerals: typing.Optional[bool] = None + profanity_filter: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") + ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + eot_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") + ] = None + eot_timeout_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") + ] = None + languages: typing.Optional[typing.List[str]] = None + keywords: typing.Optional[typing.List[str]] = None + keyterm: typing.Optional[typing.List[str]] = None + endpointing: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["11labs"] = "11labs" + model: typing.Optional[ElevenLabsTranscriberModel] = None + language: typing.Optional[ElevenLabsTranscriberLanguage] = None + silence_threshold_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="silenceThresholdSeconds"), + pydantic.Field(alias="silenceThresholdSeconds"), + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + min_speech_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="minSpeechDurationMs"), pydantic.Field(alias="minSpeechDurationMs") + ] = None + min_silence_duration_ms: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minSilenceDurationMs"), + pydantic.Field(alias="minSilenceDurationMs"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Gladia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["gladia"] = "gladia" + model: typing.Optional[GladiaTranscriberModel] = None + language_behaviour: typing_extensions.Annotated[ + typing.Optional[GladiaTranscriberLanguageBehaviour], + FieldMetadata(alias="languageBehaviour"), + pydantic.Field(alias="languageBehaviour"), + ] = None + language: typing.Optional[GladiaTranscriberLanguage] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None + transcription_hint: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") + ] = None + prosody: typing.Optional[bool] = None + audio_enhancer: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="audioEnhancer"), pydantic.Field(alias="audioEnhancer") + ] = None + confidence_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") + ] = None + endpointing: typing.Optional[float] = None + speech_threshold: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speechThreshold"), pydantic.Field(alias="speechThreshold") + ] = None + custom_vocabulary_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="customVocabularyEnabled"), + pydantic.Field(alias="customVocabularyEnabled"), + ] = None + custom_vocabulary_config: typing_extensions.Annotated[ + typing.Optional[GladiaCustomVocabularyConfigDto], + FieldMetadata(alias="customVocabularyConfig"), + pydantic.Field(alias="customVocabularyConfig"), + ] = None + region: typing.Optional[GladiaTranscriberRegion] = None + receive_partial_transcripts: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="receivePartialTranscripts"), + pydantic.Field(alias="receivePartialTranscripts"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Google(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["google"] = "google" + model: typing.Optional[GoogleTranscriberModel] = None + language: typing.Optional[GoogleTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Speechmatics(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["speechmatics"] = "speechmatics" + model: typing.Optional[SpeechmaticsTranscriberModel] = None + language: typing.Optional[SpeechmaticsTranscriberLanguage] = None + operating_point: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberOperatingPoint], + FieldMetadata(alias="operatingPoint"), + pydantic.Field(alias="operatingPoint"), + ] = None + region: typing.Optional[SpeechmaticsTranscriberRegion] = None + enable_diarization: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableDiarization"), pydantic.Field(alias="enableDiarization") + ] = None + max_delay: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxDelay"), pydantic.Field(alias="maxDelay") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.List[SpeechmaticsCustomVocabularyItem], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] + numeral_style: typing_extensions.Annotated[ + typing.Optional[SpeechmaticsTranscriberNumeralStyle], + FieldMetadata(alias="numeralStyle"), + pydantic.Field(alias="numeralStyle"), + ] = None + end_of_turn_sensitivity: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="endOfTurnSensitivity"), + pydantic.Field(alias="endOfTurnSensitivity"), + ] = None + remove_disfluencies: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="removeDisfluencies"), pydantic.Field(alias="removeDisfluencies") + ] = None + minimum_speech_duration: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="minimumSpeechDuration"), + pydantic.Field(alias="minimumSpeechDuration"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Talkscriber(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["talkscriber"] = "talkscriber" + model: typing.Optional[TalkscriberTranscriberModel] = None + language: typing.Optional[TalkscriberTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["openai"] = "openai" + model: OpenAiTranscriberModel + language: typing.Optional[OpenAiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + model: typing.Optional[CartesiaTranscriberModel] = None + language: typing.Optional[CartesiaTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Soniox(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["soniox"] = "soniox" + model: typing.Optional[SonioxTranscriberModel] = None + language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None + language_hints_strict: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") + ] = None + max_endpoint_delay_ms: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="maxEndpointDelayMs"), pydantic.Field(alias="maxEndpointDelayMs") + ] = None + custom_vocabulary: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="customVocabulary"), + pydantic.Field(alias="customVocabulary"), + ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateAssistantDraftDtoTranscriber_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's transcriber. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + +UpdateAssistantDraftDtoTranscriber = typing_extensions.Annotated[ + typing.Union[ + UpdateAssistantDraftDtoTranscriber_AssemblyAi, + UpdateAssistantDraftDtoTranscriber_Azure, + UpdateAssistantDraftDtoTranscriber_CustomTranscriber, + UpdateAssistantDraftDtoTranscriber_Deepgram, + UpdateAssistantDraftDtoTranscriber_11Labs, + UpdateAssistantDraftDtoTranscriber_Gladia, + UpdateAssistantDraftDtoTranscriber_Google, + UpdateAssistantDraftDtoTranscriber_Speechmatics, + UpdateAssistantDraftDtoTranscriber_Talkscriber, + UpdateAssistantDraftDtoTranscriber_Openai, + UpdateAssistantDraftDtoTranscriber_Cartesia, + UpdateAssistantDraftDtoTranscriber_Soniox, + UpdateAssistantDraftDtoTranscriber_Xai, + UpdateAssistantDraftDtoTranscriber_Vapi, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/update_assistant_draft_dto_voice.py b/src/vapi/types/update_assistant_draft_dto_voice.py new file mode 100644 index 00000000..063964e3 --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_voice.py @@ -0,0 +1,814 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .azure_voice_id import AzureVoiceId +from .cartesia_experimental_controls import CartesiaExperimentalControls +from .cartesia_generation_config import CartesiaGenerationConfig +from .cartesia_voice_language import CartesiaVoiceLanguage +from .cartesia_voice_model import CartesiaVoiceModel +from .chunk_plan import ChunkPlan +from .deepgram_voice_id import DeepgramVoiceId +from .deepgram_voice_model import DeepgramVoiceModel +from .eleven_labs_pronunciation_dictionary_locator import ElevenLabsPronunciationDictionaryLocator +from .eleven_labs_voice_id import ElevenLabsVoiceId +from .eleven_labs_voice_model import ElevenLabsVoiceModel +from .fallback_plan import FallbackPlan +from .hume_voice_model import HumeVoiceModel +from .inworld_voice_language_code import InworldVoiceLanguageCode +from .inworld_voice_model import InworldVoiceModel +from .inworld_voice_voice_id import InworldVoiceVoiceId +from .lmnt_voice_id import LmntVoiceId +from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId +from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost +from .minimax_voice_model import MinimaxVoiceModel +from .minimax_voice_region import MinimaxVoiceRegion +from .minimax_voice_subtitle_type import MinimaxVoiceSubtitleType +from .neuphonic_voice_model import NeuphonicVoiceModel +from .open_ai_voice_id import OpenAiVoiceId +from .open_ai_voice_model import OpenAiVoiceModel +from .play_ht_voice_emotion import PlayHtVoiceEmotion +from .play_ht_voice_id import PlayHtVoiceId +from .play_ht_voice_language import PlayHtVoiceLanguage +from .play_ht_voice_model import PlayHtVoiceModel +from .rime_ai_voice_id import RimeAiVoiceId +from .rime_ai_voice_language import RimeAiVoiceLanguage +from .rime_ai_voice_model import RimeAiVoiceModel +from .server import Server +from .sesame_voice_model import SesameVoiceModel +from .smallest_ai_voice_id import SmallestAiVoiceId +from .smallest_ai_voice_model import SmallestAiVoiceModel +from .tavus_conversation_properties import TavusConversationProperties +from .tavus_voice_voice_id import TavusVoiceVoiceId +from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion +from .vapi_voice_voice_id import VapiVoiceVoiceId +from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId + + +class UpdateAssistantDraftDtoVoice_Azure(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["azure"] = "azure" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[AzureVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Cartesia(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["cartesia"] = "cartesia" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[CartesiaVoiceModel] = None + language: typing.Optional[CartesiaVoiceLanguage] = None + experimental_controls: typing_extensions.Annotated[ + typing.Optional[CartesiaExperimentalControls], + FieldMetadata(alias="experimentalControls"), + pydantic.Field(alias="experimentalControls"), + ] = None + generation_config: typing_extensions.Annotated[ + typing.Optional[CartesiaGenerationConfig], + FieldMetadata(alias="generationConfig"), + pydantic.Field(alias="generationConfig"), + ] = None + pronunciation_dict_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="pronunciationDictId"), pydantic.Field(alias="pronunciationDictId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_CustomVoice(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["custom-voice"] = "custom-voice" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + server: Server + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Deepgram(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["deepgram"] = "deepgram" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + DeepgramVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[DeepgramVoiceModel] = None + mip_opt_out: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="mipOptOut"), pydantic.Field(alias="mipOptOut") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_11Labs(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["11labs"] = "11labs" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + ElevenLabsVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + stability: typing.Optional[float] = None + similarity_boost: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="similarityBoost"), pydantic.Field(alias="similarityBoost") + ] = None + style: typing.Optional[float] = None + use_speaker_boost: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="useSpeakerBoost"), pydantic.Field(alias="useSpeakerBoost") + ] = None + speed: typing.Optional[float] = None + optimize_streaming_latency: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="optimizeStreamingLatency"), + pydantic.Field(alias="optimizeStreamingLatency"), + ] = None + enable_ssml_parsing: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsmlParsing"), pydantic.Field(alias="enableSsmlParsing") + ] = None + auto_mode: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="autoMode"), pydantic.Field(alias="autoMode") + ] = None + model: typing.Optional[ElevenLabsVoiceModel] = None + language: typing.Optional[str] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + pronunciation_dictionary_locators: typing_extensions.Annotated[ + typing.Optional[typing.List[ElevenLabsPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionaryLocators"), + pydantic.Field(alias="pronunciationDictionaryLocators"), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Hume(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["hume"] = "hume" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + model: typing.Optional[HumeVoiceModel] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + is_custom_hume_voice: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="isCustomHumeVoice"), pydantic.Field(alias="isCustomHumeVoice") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + description: typing.Optional[str] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Lmnt(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["lmnt"] = "lmnt" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[LmntVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + speed: typing.Optional[float] = None + language: typing.Optional[LmntVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Neuphonic(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["neuphonic"] = "neuphonic" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[NeuphonicVoiceModel] = None + language: typing.Dict[str, typing.Any] + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Openai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["openai"] = "openai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + OpenAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[OpenAiVoiceModel] = None + instructions: typing.Optional[str] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Playht(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["playht"] = "playht" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + PlayHtVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + speed: typing.Optional[float] = None + temperature: typing.Optional[float] = None + emotion: typing.Optional[PlayHtVoiceEmotion] = None + voice_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="voiceGuidance"), pydantic.Field(alias="voiceGuidance") + ] = None + style_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleGuidance"), pydantic.Field(alias="styleGuidance") + ] = None + text_guidance: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="textGuidance"), pydantic.Field(alias="textGuidance") + ] = None + model: typing.Optional[PlayHtVoiceModel] = None + language: typing.Optional[PlayHtVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Wellsaid(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["wellsaid"] = "wellsaid" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[WellSaidVoiceModel] = None + enable_ssml: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="enableSsml"), pydantic.Field(alias="enableSsml") + ] = None + library_ids: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], FieldMetadata(alias="libraryIds"), pydantic.Field(alias="libraryIds") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_RimeAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["rime-ai"] = "rime-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + RimeAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[RimeAiVoiceModel] = None + speed: typing.Optional[float] = None + pause_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="pauseBetweenBrackets"), pydantic.Field(alias="pauseBetweenBrackets") + ] = None + phonemize_between_brackets: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="phonemizeBetweenBrackets"), + pydantic.Field(alias="phonemizeBetweenBrackets"), + ] = None + reduce_latency: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="reduceLatency"), pydantic.Field(alias="reduceLatency") + ] = None + inline_speed_alpha: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="inlineSpeedAlpha"), pydantic.Field(alias="inlineSpeedAlpha") + ] = None + language: typing.Optional[RimeAiVoiceLanguage] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_SmallestAi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["smallest-ai"] = "smallest-ai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + SmallestAiVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[SmallestAiVoiceModel] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Tavus(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["tavus"] = "tavus" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + TavusVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + persona_id: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="personaId"), pydantic.Field(alias="personaId") + ] = None + callback_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="callbackUrl"), pydantic.Field(alias="callbackUrl") + ] = None + conversation_name: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="conversationName"), pydantic.Field(alias="conversationName") + ] = None + conversational_context: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="conversationalContext"), + pydantic.Field(alias="conversationalContext"), + ] = None + custom_greeting: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="customGreeting"), pydantic.Field(alias="customGreeting") + ] = None + properties: typing.Optional[TavusConversationProperties] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Vapi(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["vapi"] = "vapi" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + version: typing.Optional[VapiVoiceVersion] = None + speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None + pronunciation_dictionary: typing_extensions.Annotated[ + typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], + FieldMetadata(alias="pronunciationDictionary"), + pydantic.Field(alias="pronunciationDictionary"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Sesame(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["sesame"] = "sesame" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: SesameVoiceModel + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Inworld(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["inworld"] = "inworld" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + InworldVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + model: typing.Optional[InworldVoiceModel] = None + language_code: typing_extensions.Annotated[ + typing.Optional[InworldVoiceLanguageCode], + FieldMetadata(alias="languageCode"), + pydantic.Field(alias="languageCode"), + ] = None + temperature: typing.Optional[float] = None + speaking_rate: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="speakingRate"), pydantic.Field(alias="speakingRate") + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Minimax(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["minimax"] = "minimax" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] + model: typing.Optional[MinimaxVoiceModel] = None + emotion: typing.Optional[str] = None + subtitle_type: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceSubtitleType], + FieldMetadata(alias="subtitleType"), + pydantic.Field(alias="subtitleType"), + ] = None + pitch: typing.Optional[float] = None + speed: typing.Optional[float] = None + volume: typing.Optional[float] = None + region: typing.Optional[MinimaxVoiceRegion] = None + language_boost: typing_extensions.Annotated[ + typing.Optional[MinimaxVoiceLanguageBoost], + FieldMetadata(alias="languageBoost"), + pydantic.Field(alias="languageBoost"), + ] = None + text_normalization_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="textNormalizationEnabled"), + pydantic.Field(alias="textNormalizationEnabled"), + ] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Xai(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateAssistantDraftDtoVoice_Microsoft(UncheckedBaseModel): + """ + These are the options for the assistant's voice. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + +UpdateAssistantDraftDtoVoice = typing_extensions.Annotated[ + typing.Union[ + UpdateAssistantDraftDtoVoice_Azure, + UpdateAssistantDraftDtoVoice_Cartesia, + UpdateAssistantDraftDtoVoice_CustomVoice, + UpdateAssistantDraftDtoVoice_Deepgram, + UpdateAssistantDraftDtoVoice_11Labs, + UpdateAssistantDraftDtoVoice_Hume, + UpdateAssistantDraftDtoVoice_Lmnt, + UpdateAssistantDraftDtoVoice_Neuphonic, + UpdateAssistantDraftDtoVoice_Openai, + UpdateAssistantDraftDtoVoice_Playht, + UpdateAssistantDraftDtoVoice_Wellsaid, + UpdateAssistantDraftDtoVoice_RimeAi, + UpdateAssistantDraftDtoVoice_SmallestAi, + UpdateAssistantDraftDtoVoice_Tavus, + UpdateAssistantDraftDtoVoice_Vapi, + UpdateAssistantDraftDtoVoice_Sesame, + UpdateAssistantDraftDtoVoice_Inworld, + UpdateAssistantDraftDtoVoice_Minimax, + UpdateAssistantDraftDtoVoice_Xai, + UpdateAssistantDraftDtoVoice_Microsoft, + ], + UnionMetadata(discriminant="provider"), +] diff --git a/src/vapi/types/update_assistant_draft_dto_voicemail_detection.py b/src/vapi/types/update_assistant_draft_dto_voicemail_detection.py new file mode 100644 index 00000000..9a75162d --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_voicemail_detection.py @@ -0,0 +1,17 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .google_voicemail_detection_plan import GoogleVoicemailDetectionPlan +from .open_ai_voicemail_detection_plan import OpenAiVoicemailDetectionPlan +from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan +from .update_assistant_draft_dto_voicemail_detection_zero import UpdateAssistantDraftDtoVoicemailDetectionZero +from .vapi_voicemail_detection_plan import VapiVoicemailDetectionPlan + +UpdateAssistantDraftDtoVoicemailDetection = typing.Union[ + UpdateAssistantDraftDtoVoicemailDetectionZero, + GoogleVoicemailDetectionPlan, + OpenAiVoicemailDetectionPlan, + TwilioVoicemailDetectionPlan, + VapiVoicemailDetectionPlan, +] diff --git a/src/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.py b/src/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.py new file mode 100644 index 00000000..c960ac7d --- /dev/null +++ b/src/vapi/types/update_assistant_draft_dto_voicemail_detection_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAssistantDraftDtoVoicemailDetectionZero = typing.Union[typing.Literal["off"], typing.Any] diff --git a/src/vapi/types/update_assistant_version_metadata_dto.py b/src/vapi/types/update_assistant_version_metadata_dto.py new file mode 100644 index 00000000..cccb8a02 --- /dev/null +++ b/src/vapi/types/update_assistant_version_metadata_dto.py @@ -0,0 +1,35 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class UpdateAssistantVersionMetadataDto(UncheckedBaseModel): + version_name: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionName"), + pydantic.Field( + alias="versionName", description="Optional human-readable label for this version. Pass `null` to clear." + ), + ] = None + version_description: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionDescription"), + pydantic.Field( + alias="versionDescription", description="Optional description for this version. Pass `null` to clear." + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/update_azure_credential_dto.py b/src/vapi/types/update_azure_credential_dto.py index 31df3d10..8d714300 100644 --- a/src/vapi/types/update_azure_credential_dto.py +++ b/src/vapi/types/update_azure_credential_dto.py @@ -8,11 +8,13 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .azure_blob_storage_bucket_plan import AzureBlobStorageBucketPlan +from .update_azure_credential_dto_provider import UpdateAzureCredentialDtoProvider from .update_azure_credential_dto_region import UpdateAzureCredentialDtoRegion from .update_azure_credential_dto_service import UpdateAzureCredentialDtoService class UpdateAzureCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAzureCredentialDtoProvider] = None service: typing.Optional[UpdateAzureCredentialDtoService] = pydantic.Field(default=None) """ This is the service being used in Azure. diff --git a/src/vapi/types/update_azure_credential_dto_provider.py b/src/vapi/types/update_azure_credential_dto_provider.py new file mode 100644 index 00000000..a01b69e7 --- /dev/null +++ b/src/vapi/types/update_azure_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAzureCredentialDtoProvider = typing.Union[typing.Literal["azure"], typing.Any] diff --git a/src/vapi/types/update_azure_credential_dto_region.py b/src/vapi/types/update_azure_credential_dto_region.py index 0db826b2..e4730936 100644 --- a/src/vapi/types/update_azure_credential_dto_region.py +++ b/src/vapi/types/update_azure_credential_dto_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/update_azure_open_ai_credential_dto.py b/src/vapi/types/update_azure_open_ai_credential_dto.py index dfafa8de..9b6d95ee 100644 --- a/src/vapi/types/update_azure_open_ai_credential_dto.py +++ b/src/vapi/types/update_azure_open_ai_credential_dto.py @@ -8,10 +8,12 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .update_azure_open_ai_credential_dto_models_item import UpdateAzureOpenAiCredentialDtoModelsItem +from .update_azure_open_ai_credential_dto_provider import UpdateAzureOpenAiCredentialDtoProvider from .update_azure_open_ai_credential_dto_region import UpdateAzureOpenAiCredentialDtoRegion class UpdateAzureOpenAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateAzureOpenAiCredentialDtoProvider] = None region: typing.Optional[UpdateAzureOpenAiCredentialDtoRegion] = None models: typing.Optional[typing.List[UpdateAzureOpenAiCredentialDtoModelsItem]] = None open_ai_key: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_azure_open_ai_credential_dto_models_item.py b/src/vapi/types/update_azure_open_ai_credential_dto_models_item.py index 67d6b5fe..fba96093 100644 --- a/src/vapi/types/update_azure_open_ai_credential_dto_models_item.py +++ b/src/vapi/types/update_azure_open_ai_credential_dto_models_item.py @@ -27,6 +27,9 @@ "gpt-4-0613", "gpt-35-turbo-0125", "gpt-35-turbo-1106", + "gpt-4o", + "gpt-4.1", + "gpt-5.4-mini-2026-03-17", ], typing.Any, ] diff --git a/src/vapi/types/update_azure_open_ai_credential_dto_provider.py b/src/vapi/types/update_azure_open_ai_credential_dto_provider.py new file mode 100644 index 00000000..6ba03773 --- /dev/null +++ b/src/vapi/types/update_azure_open_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateAzureOpenAiCredentialDtoProvider = typing.Union[typing.Literal["azure-openai"], typing.Any] diff --git a/src/vapi/types/update_azure_open_ai_credential_dto_region.py b/src/vapi/types/update_azure_open_ai_credential_dto_region.py index 0f44556a..f9fb7447 100644 --- a/src/vapi/types/update_azure_open_ai_credential_dto_region.py +++ b/src/vapi/types/update_azure_open_ai_credential_dto_region.py @@ -22,6 +22,8 @@ "spaincentral", "swedencentral", "switzerland", + "switzerlandnorth", + "switzerlandwest", "uaenorth", "uk", "westeurope", diff --git a/src/vapi/types/update_bar_insight_from_call_table_dto.py b/src/vapi/types/update_bar_insight_from_call_table_dto.py index e525a7f9..3f5507f4 100644 --- a/src/vapi/types/update_bar_insight_from_call_table_dto.py +++ b/src/vapi/types/update_bar_insight_from_call_table_dto.py @@ -15,6 +15,10 @@ class UpdateBarInsightFromCallTableDto(UncheckedBaseModel): + """ + Fields used to update a bar-chart insight, including its queries, formulas, grouping, time range, metadata, and name. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -45,7 +49,11 @@ class UpdateBarInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the bar-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[UpdateBarInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/update_bash_tool_dto.py b/src/vapi/types/update_bash_tool_dto.py index 344544f6..e0e2e64f 100644 --- a/src/vapi/types/update_bash_tool_dto.py +++ b/src/vapi/types/update_bash_tool_dto.py @@ -17,11 +17,13 @@ class UpdateBashToolDto(UncheckedBaseModel): + """ + Fields used to update a Bash tool, including its name, environment subtype, server, messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateBashToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_bash_tool_dto_messages_item.py b/src/vapi/types/update_bash_tool_dto_messages_item.py index c473dd2e..fa60d28d 100644 --- a/src/vapi/types/update_bash_tool_dto_messages_item.py +++ b/src/vapi/types/update_bash_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateBashToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateBashToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_byo_phone_number_dto.py b/src/vapi/types/update_byo_phone_number_dto.py index 97261162..f58e1c69 100644 --- a/src/vapi/types/update_byo_phone_number_dto.py +++ b/src/vapi/types/update_byo_phone_number_dto.py @@ -13,6 +13,10 @@ class UpdateByoPhoneNumberDto(UncheckedBaseModel): + """ + Fields used to update a bring-your-own phone number, including its credential, number, routing, hooks, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[UpdateByoPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/update_byo_sip_trunk_credential_dto.py b/src/vapi/types/update_byo_sip_trunk_credential_dto.py index 68460472..741d85f8 100644 --- a/src/vapi/types/update_byo_sip_trunk_credential_dto.py +++ b/src/vapi/types/update_byo_sip_trunk_credential_dto.py @@ -7,12 +7,17 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .sbc_configuration import SbcConfiguration from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan +from .update_byo_sip_trunk_credential_dto_provider import UpdateByoSipTrunkCredentialDtoProvider class UpdateByoSipTrunkCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateByoSipTrunkCredentialDtoProvider] = pydantic.Field(default=None) + """ + This can be used to bring your own SIP trunks or to connect to a Carrier. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. @@ -55,14 +60,6 @@ class UpdateByoSipTrunkCredentialDto(UncheckedBaseModel): description="This can be used to enable the SIP diversion header for authenticating the calling number if the SIP trunk supports it. This is an advanced property.", ), ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field( - alias="sbcConfiguration", - description="This is an advanced configuration for enterprise deployments. This uses the onprem SBC to trunk into the SIP trunk's `gateways`, rather than the managed SBC provided by Vapi.", - ), - ] = 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/vapi/types/update_byo_sip_trunk_credential_dto_provider.py b/src/vapi/types/update_byo_sip_trunk_credential_dto_provider.py new file mode 100644 index 00000000..49117975 --- /dev/null +++ b/src/vapi/types/update_byo_sip_trunk_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateByoSipTrunkCredentialDtoProvider = typing.Union[typing.Literal["byo-sip-trunk"], typing.Any] diff --git a/src/vapi/types/update_campaign_dto.py b/src/vapi/types/update_campaign_dto.py new file mode 100644 index 00000000..32d78ffa --- /dev/null +++ b/src/vapi/types/update_campaign_dto.py @@ -0,0 +1,91 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .dial_plan_entry import DialPlanEntry +from .schedule_plan import SchedulePlan +from .update_campaign_dto_status import UpdateCampaignDtoStatus + + +class UpdateCampaignDto(UncheckedBaseModel): + """ + Fields used to update an outbound calling campaign, including its name, status, calling resource, phone-number or dial-plan settings, and schedule. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the campaign. This is just for your own reference. + """ + + assistant_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="assistantId"), + pydantic.Field( + alias="assistantId", + description="This is the assistant ID that will be used for the campaign calls.\nCan only be updated if campaign is not in progress or has ended.", + ), + ] = None + workflow_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="workflowId"), + pydantic.Field( + alias="workflowId", + description="This is the workflow ID that will be used for the campaign calls.\nCan only be updated if campaign is not in progress or has ended.", + ), + ] = None + squad_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="squadId"), + pydantic.Field( + alias="squadId", + description="This is the squad ID that will be used for the campaign calls.\nCan only be updated if campaign is not in progress or has ended.", + ), + ] = None + phone_number_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="phoneNumberId"), + pydantic.Field( + alias="phoneNumberId", + description="This is the phone number ID that will be used for the campaign calls.\nCan only be updated if campaign is not in progress or has ended.\nNote: `phoneNumberId` and `dialPlan` are mutually exclusive.", + ), + ] = None + dial_plan: typing_extensions.Annotated[ + typing.Optional[typing.List[DialPlanEntry]], + FieldMetadata(alias="dialPlan"), + pydantic.Field( + alias="dialPlan", + description="This is a list of dial entries, each specifying a phone number and the customers to call using that number. Can only be updated if campaign is not in progress or has ended. Note: phoneNumberId and dialPlan are mutually exclusive.", + ), + ] = None + schedule_plan: typing_extensions.Annotated[ + typing.Optional[SchedulePlan], + FieldMetadata(alias="schedulePlan"), + pydantic.Field( + alias="schedulePlan", + description="This is the schedule plan for the campaign.\nCan only be updated if campaign is not in progress or has ended.", + ), + ] = None + status: typing.Optional[UpdateCampaignDtoStatus] = pydantic.Field(default=None) + """ + Set to 'cancelled' to stop the campaign ('ended' is a V1 alias). Scheduled + calls are deleted; in-progress calls are allowed to finish. + """ + + 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 + + +update_forward_refs(UpdateCampaignDto) diff --git a/src/vapi/types/update_campaign_dto_status.py b/src/vapi/types/update_campaign_dto_status.py new file mode 100644 index 00000000..ed82f682 --- /dev/null +++ b/src/vapi/types/update_campaign_dto_status.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCampaignDtoStatus = typing.Union[typing.Literal["ended", "cancelled"], typing.Any] diff --git a/src/vapi/types/update_cartesia_credential_dto.py b/src/vapi/types/update_cartesia_credential_dto.py index 1794cf69..b6da8be2 100644 --- a/src/vapi/types/update_cartesia_credential_dto.py +++ b/src/vapi/types/update_cartesia_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_cartesia_credential_dto_provider import UpdateCartesiaCredentialDtoProvider class UpdateCartesiaCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCartesiaCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), @@ -20,6 +22,15 @@ class UpdateCartesiaCredentialDto(UncheckedBaseModel): This is the name of credential. This is just for your reference. """ + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="This can be used to point to an onprem Cartesia instance. Defaults to api.cartesia.ai.", + ), + ] = None + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/update_cartesia_credential_dto_provider.py b/src/vapi/types/update_cartesia_credential_dto_provider.py new file mode 100644 index 00000000..ad6bda1d --- /dev/null +++ b/src/vapi/types/update_cartesia_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCartesiaCredentialDtoProvider = typing.Union[typing.Literal["cartesia"], typing.Any] diff --git a/src/vapi/types/update_cerebras_credential_dto.py b/src/vapi/types/update_cerebras_credential_dto.py index 9f4d9afc..348b44a2 100644 --- a/src/vapi/types/update_cerebras_credential_dto.py +++ b/src/vapi/types/update_cerebras_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_cerebras_credential_dto_provider import UpdateCerebrasCredentialDtoProvider class UpdateCerebrasCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCerebrasCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_cerebras_credential_dto_provider.py b/src/vapi/types/update_cerebras_credential_dto_provider.py new file mode 100644 index 00000000..8c06f3f5 --- /dev/null +++ b/src/vapi/types/update_cerebras_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCerebrasCredentialDtoProvider = typing.Union[typing.Literal["cerebras"], typing.Any] diff --git a/src/vapi/types/update_cloudflare_credential_dto.py b/src/vapi/types/update_cloudflare_credential_dto.py index 107abb0d..318efb8d 100644 --- a/src/vapi/types/update_cloudflare_credential_dto.py +++ b/src/vapi/types/update_cloudflare_credential_dto.py @@ -8,9 +8,15 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .cloudflare_r_2_bucket_plan import CloudflareR2BucketPlan +from .update_cloudflare_credential_dto_provider import UpdateCloudflareCredentialDtoProvider class UpdateCloudflareCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCloudflareCredentialDtoProvider] = pydantic.Field(default=None) + """ + Credential provider. Only allowed value is cloudflare + """ + account_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="accountId"), diff --git a/src/vapi/types/update_cloudflare_credential_dto_provider.py b/src/vapi/types/update_cloudflare_credential_dto_provider.py new file mode 100644 index 00000000..623f3ddb --- /dev/null +++ b/src/vapi/types/update_cloudflare_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCloudflareCredentialDtoProvider = typing.Union[typing.Literal["cloudflare"], typing.Any] diff --git a/src/vapi/types/update_code_tool_dto.py b/src/vapi/types/update_code_tool_dto.py index d02f9f5d..500d085b 100644 --- a/src/vapi/types/update_code_tool_dto.py +++ b/src/vapi/types/update_code_tool_dto.py @@ -14,15 +14,19 @@ from .server import Server from .tool_rejection_plan import ToolRejectionPlan from .update_code_tool_dto_messages_item import UpdateCodeToolDtoMessagesItem +from .update_code_tool_dto_type import UpdateCodeToolDtoType from .variable_extraction_plan import VariableExtractionPlan class UpdateCodeToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[UpdateCodeToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[UpdateCodeToolDtoType] = pydantic.Field(default=None) + """ + The type of tool. "code" for Code tool. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_code_tool_dto_messages_item.py b/src/vapi/types/update_code_tool_dto_messages_item.py index 12d15491..89a69399 100644 --- a/src/vapi/types/update_code_tool_dto_messages_item.py +++ b/src/vapi/types/update_code_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateCodeToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateCodeToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_code_tool_dto_type.py b/src/vapi/types/update_code_tool_dto_type.py new file mode 100644 index 00000000..f4a8dce0 --- /dev/null +++ b/src/vapi/types/update_code_tool_dto_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCodeToolDtoType = typing.Union[typing.Literal["code"], typing.Any] diff --git a/src/vapi/types/update_computer_tool_dto.py b/src/vapi/types/update_computer_tool_dto.py index ff52740f..3230d392 100644 --- a/src/vapi/types/update_computer_tool_dto.py +++ b/src/vapi/types/update_computer_tool_dto.py @@ -17,11 +17,13 @@ class UpdateComputerToolDto(UncheckedBaseModel): + """ + Fields used to update a computer tool, including its display settings, environment subtype, server, messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateComputerToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_computer_tool_dto_messages_item.py b/src/vapi/types/update_computer_tool_dto_messages_item.py index b35bba3d..23a49089 100644 --- a/src/vapi/types/update_computer_tool_dto_messages_item.py +++ b/src/vapi/types/update_computer_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateComputerToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateComputerToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_custom_credential_dto.py b/src/vapi/types/update_custom_credential_dto.py index 8ea62b95..6121ab1c 100644 --- a/src/vapi/types/update_custom_credential_dto.py +++ b/src/vapi/types/update_custom_credential_dto.py @@ -9,9 +9,11 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .update_custom_credential_dto_authentication_plan import UpdateCustomCredentialDtoAuthenticationPlan from .update_custom_credential_dto_encryption_plan import UpdateCustomCredentialDtoEncryptionPlan +from .update_custom_credential_dto_provider import UpdateCustomCredentialDtoProvider class UpdateCustomCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCustomCredentialDtoProvider] = None authentication_plan: typing_extensions.Annotated[ typing.Optional[UpdateCustomCredentialDtoAuthenticationPlan], FieldMetadata(alias="authenticationPlan"), diff --git a/src/vapi/types/update_custom_credential_dto_provider.py b/src/vapi/types/update_custom_credential_dto_provider.py new file mode 100644 index 00000000..5344ddf8 --- /dev/null +++ b/src/vapi/types/update_custom_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCustomCredentialDtoProvider = typing.Union[typing.Literal["custom-credential"], typing.Any] diff --git a/src/vapi/types/update_custom_knowledge_base_dto.py b/src/vapi/types/update_custom_knowledge_base_dto.py index 0856c2c3..71937db4 100644 --- a/src/vapi/types/update_custom_knowledge_base_dto.py +++ b/src/vapi/types/update_custom_knowledge_base_dto.py @@ -6,9 +6,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel from .server import Server +from .update_custom_knowledge_base_dto_provider import UpdateCustomKnowledgeBaseDtoProvider class UpdateCustomKnowledgeBaseDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCustomKnowledgeBaseDtoProvider] = pydantic.Field(default=None) + """ + This knowledge base is bring your own knowledge base implementation. + """ + server: typing.Optional[Server] = pydantic.Field(default=None) """ This is where the knowledge base request will be sent. diff --git a/src/vapi/types/update_custom_knowledge_base_dto_provider.py b/src/vapi/types/update_custom_knowledge_base_dto_provider.py new file mode 100644 index 00000000..59f00810 --- /dev/null +++ b/src/vapi/types/update_custom_knowledge_base_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCustomKnowledgeBaseDtoProvider = typing.Union[typing.Literal["custom-knowledge-base"], typing.Any] diff --git a/src/vapi/types/update_custom_llm_credential_dto.py b/src/vapi/types/update_custom_llm_credential_dto.py index 4496c149..f672bedf 100644 --- a/src/vapi/types/update_custom_llm_credential_dto.py +++ b/src/vapi/types/update_custom_llm_credential_dto.py @@ -8,9 +8,11 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan +from .update_custom_llm_credential_dto_provider import UpdateCustomLlmCredentialDtoProvider class UpdateCustomLlmCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateCustomLlmCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_custom_llm_credential_dto_provider.py b/src/vapi/types/update_custom_llm_credential_dto_provider.py new file mode 100644 index 00000000..55d41082 --- /dev/null +++ b/src/vapi/types/update_custom_llm_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateCustomLlmCredentialDtoProvider = typing.Union[typing.Literal["custom-llm"], typing.Any] diff --git a/src/vapi/types/update_deep_infra_credential_dto.py b/src/vapi/types/update_deep_infra_credential_dto.py index e3258bf8..b4447614 100644 --- a/src/vapi/types/update_deep_infra_credential_dto.py +++ b/src/vapi/types/update_deep_infra_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_deep_infra_credential_dto_provider import UpdateDeepInfraCredentialDtoProvider class UpdateDeepInfraCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateDeepInfraCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_deep_infra_credential_dto_provider.py b/src/vapi/types/update_deep_infra_credential_dto_provider.py new file mode 100644 index 00000000..09355630 --- /dev/null +++ b/src/vapi/types/update_deep_infra_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateDeepInfraCredentialDtoProvider = typing.Union[typing.Literal["deepinfra"], typing.Any] diff --git a/src/vapi/types/update_deep_seek_credential_dto.py b/src/vapi/types/update_deep_seek_credential_dto.py index b85d1cb7..0215475e 100644 --- a/src/vapi/types/update_deep_seek_credential_dto.py +++ b/src/vapi/types/update_deep_seek_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_deep_seek_credential_dto_provider import UpdateDeepSeekCredentialDtoProvider class UpdateDeepSeekCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateDeepSeekCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_deep_seek_credential_dto_provider.py b/src/vapi/types/update_deep_seek_credential_dto_provider.py new file mode 100644 index 00000000..3338fa91 --- /dev/null +++ b/src/vapi/types/update_deep_seek_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateDeepSeekCredentialDtoProvider = typing.Union[typing.Literal["deep-seek"], typing.Any] diff --git a/src/vapi/types/update_deepgram_credential_dto.py b/src/vapi/types/update_deepgram_credential_dto.py index d3bb5178..ad6660a9 100644 --- a/src/vapi/types/update_deepgram_credential_dto.py +++ b/src/vapi/types/update_deepgram_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_deepgram_credential_dto_provider import UpdateDeepgramCredentialDtoProvider class UpdateDeepgramCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateDeepgramCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_deepgram_credential_dto_provider.py b/src/vapi/types/update_deepgram_credential_dto_provider.py new file mode 100644 index 00000000..4863d1d0 --- /dev/null +++ b/src/vapi/types/update_deepgram_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateDeepgramCredentialDtoProvider = typing.Union[typing.Literal["deepgram"], typing.Any] diff --git a/src/vapi/types/update_dtmf_tool_dto.py b/src/vapi/types/update_dtmf_tool_dto.py index fb9931dd..f3bc4129 100644 --- a/src/vapi/types/update_dtmf_tool_dto.py +++ b/src/vapi/types/update_dtmf_tool_dto.py @@ -14,11 +14,13 @@ class UpdateDtmfToolDto(UncheckedBaseModel): + """ + Fields used to update a DTMF tool, including its spoken messages, rejection plan, and SIP INFO behavior. + """ + messages: typing.Optional[typing.List[UpdateDtmfToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sip_info_dtmf_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_dtmf_tool_dto_messages_item.py b/src/vapi/types/update_dtmf_tool_dto_messages_item.py index 57d72622..9ff6fcfc 100644 --- a/src/vapi/types/update_dtmf_tool_dto_messages_item.py +++ b/src/vapi/types/update_dtmf_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateDtmfToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateDtmfToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_eleven_labs_credential_dto.py b/src/vapi/types/update_eleven_labs_credential_dto.py index fca02290..4cdec2e5 100644 --- a/src/vapi/types/update_eleven_labs_credential_dto.py +++ b/src/vapi/types/update_eleven_labs_credential_dto.py @@ -7,21 +7,29 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_eleven_labs_credential_dto_api_url import UpdateElevenLabsCredentialDtoApiUrl class UpdateElevenLabsCredentialDto(UncheckedBaseModel): + provider: typing.Optional[typing.Literal["11labs"]] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] = None + api_url: typing_extensions.Annotated[ + typing.Optional[UpdateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="ElevenLabs-only API environment for this key: the global endpoint or the EU data residency endpoint. In EU deployments, new credentials must explicitly use the EU data residency endpoint; existing credentials may omit this field on update to retain their saved endpoint. Outside EU deployments, Vapi detects an omitted endpoint automatically and null on update clears and re-detects the endpoint.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. """ - provider: typing.Optional[typing.Literal["11labs"]] = None - if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/vapi/types/update_eleven_labs_credential_dto_api_url.py b/src/vapi/types/update_eleven_labs_credential_dto_api_url.py new file mode 100644 index 00000000..bb8d0555 --- /dev/null +++ b/src/vapi/types/update_eleven_labs_credential_dto_api_url.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateElevenLabsCredentialDtoApiUrl = typing.Union[ + typing.Literal["https://api.elevenlabs.io", "https://api.eu.residency.elevenlabs.io"], typing.Any +] diff --git a/src/vapi/types/update_email_credential_dto.py b/src/vapi/types/update_email_credential_dto.py index f1300beb..152b232c 100644 --- a/src/vapi/types/update_email_credential_dto.py +++ b/src/vapi/types/update_email_credential_dto.py @@ -5,9 +5,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel +from .update_email_credential_dto_provider import UpdateEmailCredentialDtoProvider class UpdateEmailCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateEmailCredentialDtoProvider] = None email: typing.Optional[str] = pydantic.Field(default=None) """ The recipient email address for alerts diff --git a/src/vapi/types/update_email_credential_dto_provider.py b/src/vapi/types/update_email_credential_dto_provider.py new file mode 100644 index 00000000..88db353d --- /dev/null +++ b/src/vapi/types/update_email_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateEmailCredentialDtoProvider = typing.Union[typing.Literal["email"], typing.Any] diff --git a/src/vapi/types/update_end_call_tool_dto.py b/src/vapi/types/update_end_call_tool_dto.py index 725809b9..07c94a42 100644 --- a/src/vapi/types/update_end_call_tool_dto.py +++ b/src/vapi/types/update_end_call_tool_dto.py @@ -14,11 +14,13 @@ class UpdateEndCallToolDto(UncheckedBaseModel): + """ + Fields used to update an end-call tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateEndCallToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_end_call_tool_dto_messages_item.py b/src/vapi/types/update_end_call_tool_dto_messages_item.py index 716e3287..b3b7a879 100644 --- a/src/vapi/types/update_end_call_tool_dto_messages_item.py +++ b/src/vapi/types/update_end_call_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateEndCallToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateEndCallToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_function_tool_dto.py b/src/vapi/types/update_function_tool_dto.py index af013a1e..91a0541f 100644 --- a/src/vapi/types/update_function_tool_dto.py +++ b/src/vapi/types/update_function_tool_dto.py @@ -18,11 +18,13 @@ class UpdateFunctionToolDto(UncheckedBaseModel): + """ + Fields used to update a custom function tool, including its function definition, server, parameters, messages, and execution behavior. + """ + messages: typing.Optional[typing.List[UpdateFunctionToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ async_: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_function_tool_dto_messages_item.py b/src/vapi/types/update_function_tool_dto_messages_item.py index f82225c3..ac124c0c 100644 --- a/src/vapi/types/update_function_tool_dto_messages_item.py +++ b/src/vapi/types/update_function_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateFunctionToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateFunctionToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_gcp_credential_dto.py b/src/vapi/types/update_gcp_credential_dto.py index 2d0c0cab..9e83dd2a 100644 --- a/src/vapi/types/update_gcp_credential_dto.py +++ b/src/vapi/types/update_gcp_credential_dto.py @@ -9,9 +9,11 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .bucket_plan import BucketPlan from .gcp_key import GcpKey +from .update_gcp_credential_dto_provider import UpdateGcpCredentialDtoProvider class UpdateGcpCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGcpCredentialDtoProvider] = None fallback_index: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="fallbackIndex"), diff --git a/src/vapi/types/update_gcp_credential_dto_provider.py b/src/vapi/types/update_gcp_credential_dto_provider.py new file mode 100644 index 00000000..bac09d40 --- /dev/null +++ b/src/vapi/types/update_gcp_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGcpCredentialDtoProvider = typing.Union[typing.Literal["gcp"], typing.Any] diff --git a/src/vapi/types/update_ghl_tool_dto.py b/src/vapi/types/update_ghl_tool_dto.py index 1af68e92..8f0b0e5e 100644 --- a/src/vapi/types/update_ghl_tool_dto.py +++ b/src/vapi/types/update_ghl_tool_dto.py @@ -12,14 +12,18 @@ from .ghl_tool_metadata import GhlToolMetadata from .tool_rejection_plan import ToolRejectionPlan from .update_ghl_tool_dto_messages_item import UpdateGhlToolDtoMessagesItem +from .update_ghl_tool_dto_type import UpdateGhlToolDtoType class UpdateGhlToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[UpdateGhlToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[UpdateGhlToolDtoType] = pydantic.Field(default=None) + """ + The type of tool. "ghl" for GHL tool. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_ghl_tool_dto_messages_item.py b/src/vapi/types/update_ghl_tool_dto_messages_item.py index 77e2a77f..41507aa0 100644 --- a/src/vapi/types/update_ghl_tool_dto_messages_item.py +++ b/src/vapi/types/update_ghl_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGhlToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGhlToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_ghl_tool_dto_type.py b/src/vapi/types/update_ghl_tool_dto_type.py new file mode 100644 index 00000000..6b456382 --- /dev/null +++ b/src/vapi/types/update_ghl_tool_dto_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGhlToolDtoType = typing.Union[typing.Literal["ghl"], typing.Any] diff --git a/src/vapi/types/update_gladia_credential_dto.py b/src/vapi/types/update_gladia_credential_dto.py index 6cb0c861..a969e6cc 100644 --- a/src/vapi/types/update_gladia_credential_dto.py +++ b/src/vapi/types/update_gladia_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_gladia_credential_dto_provider import UpdateGladiaCredentialDtoProvider class UpdateGladiaCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGladiaCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_gladia_credential_dto_provider.py b/src/vapi/types/update_gladia_credential_dto_provider.py new file mode 100644 index 00000000..358c8760 --- /dev/null +++ b/src/vapi/types/update_gladia_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGladiaCredentialDtoProvider = typing.Union[typing.Literal["gladia"], typing.Any] diff --git a/src/vapi/types/update_go_high_level_calendar_availability_tool_dto.py b/src/vapi/types/update_go_high_level_calendar_availability_tool_dto.py index b0e604a1..8c354f6b 100644 --- a/src/vapi/types/update_go_high_level_calendar_availability_tool_dto.py +++ b/src/vapi/types/update_go_high_level_calendar_availability_tool_dto.py @@ -16,13 +16,15 @@ class UpdateGoHighLevelCalendarAvailabilityToolDto(UncheckedBaseModel): + """ + Fields used to update a GoHighLevel calendar-availability tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_go_high_level_calendar_availability_tool_dto_messages_item.py b/src/vapi/types/update_go_high_level_calendar_availability_tool_dto_messages_item.py index 93bf23cf..26416acc 100644 --- a/src/vapi/types/update_go_high_level_calendar_availability_tool_dto_messages_item.py +++ b/src/vapi/types/update_go_high_level_calendar_availability_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoHighLevelCalendarAvailabilityToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto.py b/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto.py index 7e025efa..7f1624a6 100644 --- a/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto.py +++ b/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto.py @@ -16,13 +16,15 @@ class UpdateGoHighLevelCalendarEventCreateToolDto(UncheckedBaseModel): + """ + Fields used to update a GoHighLevel calendar-event tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoHighLevelCalendarEventCreateToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.py b/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.py index 8f674aae..c6b9dbdf 100644 --- a/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.py +++ b/src/vapi/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoHighLevelCalendarEventCreateToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoHighLevelCalendarEventCreateToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_go_high_level_contact_create_tool_dto.py b/src/vapi/types/update_go_high_level_contact_create_tool_dto.py index 7821eed3..2b3560e8 100644 --- a/src/vapi/types/update_go_high_level_contact_create_tool_dto.py +++ b/src/vapi/types/update_go_high_level_contact_create_tool_dto.py @@ -16,13 +16,15 @@ class UpdateGoHighLevelContactCreateToolDto(UncheckedBaseModel): + """ + Fields used to update a GoHighLevel contact-creation tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoHighLevelContactCreateToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_go_high_level_contact_create_tool_dto_messages_item.py b/src/vapi/types/update_go_high_level_contact_create_tool_dto_messages_item.py index 6a637af4..0992fe61 100644 --- a/src/vapi/types/update_go_high_level_contact_create_tool_dto_messages_item.py +++ b/src/vapi/types/update_go_high_level_contact_create_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoHighLevelContactCreateToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoHighLevelContactCreateToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_go_high_level_contact_get_tool_dto.py b/src/vapi/types/update_go_high_level_contact_get_tool_dto.py index fab72190..0b57e6f5 100644 --- a/src/vapi/types/update_go_high_level_contact_get_tool_dto.py +++ b/src/vapi/types/update_go_high_level_contact_get_tool_dto.py @@ -14,13 +14,15 @@ class UpdateGoHighLevelContactGetToolDto(UncheckedBaseModel): + """ + Fields used to update a GoHighLevel contact-retrieval tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoHighLevelContactGetToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_go_high_level_contact_get_tool_dto_messages_item.py b/src/vapi/types/update_go_high_level_contact_get_tool_dto_messages_item.py index 18b100fb..07998138 100644 --- a/src/vapi/types/update_go_high_level_contact_get_tool_dto_messages_item.py +++ b/src/vapi/types/update_go_high_level_contact_get_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoHighLevelContactGetToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_go_high_level_credential_dto.py b/src/vapi/types/update_go_high_level_credential_dto.py index 88f49aaf..9edaab21 100644 --- a/src/vapi/types/update_go_high_level_credential_dto.py +++ b/src/vapi/types/update_go_high_level_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_go_high_level_credential_dto_provider import UpdateGoHighLevelCredentialDtoProvider class UpdateGoHighLevelCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoHighLevelCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_go_high_level_credential_dto_provider.py b/src/vapi/types/update_go_high_level_credential_dto_provider.py new file mode 100644 index 00000000..636003ca --- /dev/null +++ b/src/vapi/types/update_go_high_level_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoHighLevelCredentialDtoProvider = typing.Union[typing.Literal["gohighlevel"], typing.Any] diff --git a/src/vapi/types/update_go_high_level_mcp_credential_dto.py b/src/vapi/types/update_go_high_level_mcp_credential_dto.py index bf55c3e8..cccd8075 100644 --- a/src/vapi/types/update_go_high_level_mcp_credential_dto.py +++ b/src/vapi/types/update_go_high_level_mcp_credential_dto.py @@ -8,9 +8,11 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .oauth_2_authentication_session import Oauth2AuthenticationSession +from .update_go_high_level_mcp_credential_dto_provider import UpdateGoHighLevelMcpCredentialDtoProvider class UpdateGoHighLevelMcpCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoHighLevelMcpCredentialDtoProvider] = None authentication_session: typing_extensions.Annotated[ typing.Optional[Oauth2AuthenticationSession], FieldMetadata(alias="authenticationSession"), diff --git a/src/vapi/types/update_go_high_level_mcp_credential_dto_provider.py b/src/vapi/types/update_go_high_level_mcp_credential_dto_provider.py new file mode 100644 index 00000000..39dfc5a7 --- /dev/null +++ b/src/vapi/types/update_go_high_level_mcp_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoHighLevelMcpCredentialDtoProvider = typing.Union[typing.Literal["ghl.oauth2-authorization"], typing.Any] diff --git a/src/vapi/types/update_google_calendar_check_availability_tool_dto.py b/src/vapi/types/update_google_calendar_check_availability_tool_dto.py index b06a4835..7cfd47a3 100644 --- a/src/vapi/types/update_google_calendar_check_availability_tool_dto.py +++ b/src/vapi/types/update_google_calendar_check_availability_tool_dto.py @@ -16,13 +16,15 @@ class UpdateGoogleCalendarCheckAvailabilityToolDto(UncheckedBaseModel): + """ + Fields used to update a Google Calendar availability tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_google_calendar_check_availability_tool_dto_messages_item.py b/src/vapi/types/update_google_calendar_check_availability_tool_dto_messages_item.py index 251d445a..ad806f1a 100644 --- a/src/vapi/types/update_google_calendar_check_availability_tool_dto_messages_item.py +++ b/src/vapi/types/update_google_calendar_check_availability_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoogleCalendarCheckAvailabilityToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_google_calendar_create_event_tool_dto.py b/src/vapi/types/update_google_calendar_create_event_tool_dto.py index ece96fdf..51003c89 100644 --- a/src/vapi/types/update_google_calendar_create_event_tool_dto.py +++ b/src/vapi/types/update_google_calendar_create_event_tool_dto.py @@ -16,13 +16,15 @@ class UpdateGoogleCalendarCreateEventToolDto(UncheckedBaseModel): + """ + Fields used to update a Google Calendar event-creation tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoogleCalendarCreateEventToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_google_calendar_create_event_tool_dto_messages_item.py b/src/vapi/types/update_google_calendar_create_event_tool_dto_messages_item.py index c18f529d..eb89c09b 100644 --- a/src/vapi/types/update_google_calendar_create_event_tool_dto_messages_item.py +++ b/src/vapi/types/update_google_calendar_create_event_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoogleCalendarCreateEventToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.py b/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.py index 60eb0b48..b4db7bc0 100644 --- a/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto.py @@ -7,9 +7,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_google_calendar_o_auth_2_authorization_credential_dto_provider import ( + UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider, +) class UpdateGoogleCalendarOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider] = None authorization_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.py b/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.py new file mode 100644 index 00000000..8ccea655 --- /dev/null +++ b/src/vapi/types/update_google_calendar_o_auth_2_authorization_credential_dto_provider.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoogleCalendarOAuth2AuthorizationCredentialDtoProvider = typing.Union[ + typing.Literal["google.calendar.oauth2-authorization"], typing.Any +] diff --git a/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.py b/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.py index 324ca3f5..7684285a 100644 --- a/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.py +++ b/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto.py @@ -5,9 +5,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.unchecked_base_model import UncheckedBaseModel +from .update_google_calendar_o_auth_2_client_credential_dto_provider import ( + UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider, +) class UpdateGoogleCalendarOAuth2ClientCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.py b/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.py new file mode 100644 index 00000000..27629993 --- /dev/null +++ b/src/vapi/types/update_google_calendar_o_auth_2_client_credential_dto_provider.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoogleCalendarOAuth2ClientCredentialDtoProvider = typing.Union[ + typing.Literal["google.calendar.oauth2-client"], typing.Any +] diff --git a/src/vapi/types/update_google_credential_dto.py b/src/vapi/types/update_google_credential_dto.py index 3a99b075..e878721d 100644 --- a/src/vapi/types/update_google_credential_dto.py +++ b/src/vapi/types/update_google_credential_dto.py @@ -7,9 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_google_credential_dto_provider import UpdateGoogleCredentialDtoProvider class UpdateGoogleCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoogleCredentialDtoProvider] = pydantic.Field(default=None) + """ + This is the key for Gemini in Google AI Studio. Get it from here: https://aistudio.google.com/app/apikey + """ + api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_google_credential_dto_provider.py b/src/vapi/types/update_google_credential_dto_provider.py new file mode 100644 index 00000000..a48975cf --- /dev/null +++ b/src/vapi/types/update_google_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoogleCredentialDtoProvider = typing.Union[typing.Literal["google"], typing.Any] diff --git a/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.py b/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.py index 06bc2b8a..a8e5fde9 100644 --- a/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto.py @@ -7,9 +7,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_google_sheets_o_auth_2_authorization_credential_dto_provider import ( + UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider, +) class UpdateGoogleSheetsOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider] = None authorization_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.py b/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.py new file mode 100644 index 00000000..4073cfef --- /dev/null +++ b/src/vapi/types/update_google_sheets_o_auth_2_authorization_credential_dto_provider.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGoogleSheetsOAuth2AuthorizationCredentialDtoProvider = typing.Union[ + typing.Literal["google.sheets.oauth2-authorization"], typing.Any +] diff --git a/src/vapi/types/update_google_sheets_row_append_tool_dto.py b/src/vapi/types/update_google_sheets_row_append_tool_dto.py index f9eedf8a..eb2733ff 100644 --- a/src/vapi/types/update_google_sheets_row_append_tool_dto.py +++ b/src/vapi/types/update_google_sheets_row_append_tool_dto.py @@ -14,13 +14,15 @@ class UpdateGoogleSheetsRowAppendToolDto(UncheckedBaseModel): + """ + Fields used to update a Google Sheets row-append tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateGoogleSheetsRowAppendToolDtoMessagesItem]] = pydantic.Field( default=None ) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_google_sheets_row_append_tool_dto_messages_item.py b/src/vapi/types/update_google_sheets_row_append_tool_dto_messages_item.py index 5e889fa4..d6b484aa 100644 --- a/src/vapi/types/update_google_sheets_row_append_tool_dto_messages_item.py +++ b/src/vapi/types/update_google_sheets_row_append_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateGoogleSheetsRowAppendToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_groq_credential_dto.py b/src/vapi/types/update_groq_credential_dto.py index 7d1f5930..c6f84e37 100644 --- a/src/vapi/types/update_groq_credential_dto.py +++ b/src/vapi/types/update_groq_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_groq_credential_dto_provider import UpdateGroqCredentialDtoProvider class UpdateGroqCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateGroqCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_groq_credential_dto_provider.py b/src/vapi/types/update_groq_credential_dto_provider.py new file mode 100644 index 00000000..a9085968 --- /dev/null +++ b/src/vapi/types/update_groq_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateGroqCredentialDtoProvider = typing.Union[typing.Literal["groq"], typing.Any] diff --git a/src/vapi/types/update_handoff_tool_dto.py b/src/vapi/types/update_handoff_tool_dto.py index f09193e1..5ce6d8b5 100644 --- a/src/vapi/types/update_handoff_tool_dto.py +++ b/src/vapi/types/update_handoff_tool_dto.py @@ -16,11 +16,13 @@ class UpdateHandoffToolDto(UncheckedBaseModel): + """ + Fields used to update a handoff tool, including its destinations, function definition, default result, messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateHandoffToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ default_result: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_handoff_tool_dto_destinations_item.py b/src/vapi/types/update_handoff_tool_dto_destinations_item.py index 3c7746c2..1f9c6a5f 100644 --- a/src/vapi/types/update_handoff_tool_dto_destinations_item.py +++ b/src/vapi/types/update_handoff_tool_dto_destinations_item.py @@ -128,8 +128,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -164,6 +168,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 @@ -188,8 +199,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -224,6 +239,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) @@ -247,8 +269,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -283,6 +309,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/update_handoff_tool_dto_messages_item.py b/src/vapi/types/update_handoff_tool_dto_messages_item.py index f30bc643..ccc9abc2 100644 --- a/src/vapi/types/update_handoff_tool_dto_messages_item.py +++ b/src/vapi/types/update_handoff_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateHandoffToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateHandoffToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_hume_credential_dto.py b/src/vapi/types/update_hume_credential_dto.py index e28df284..e1be6dca 100644 --- a/src/vapi/types/update_hume_credential_dto.py +++ b/src/vapi/types/update_hume_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_hume_credential_dto_provider import UpdateHumeCredentialDtoProvider class UpdateHumeCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateHumeCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_hume_credential_dto_provider.py b/src/vapi/types/update_hume_credential_dto_provider.py new file mode 100644 index 00000000..ac00a8ce --- /dev/null +++ b/src/vapi/types/update_hume_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateHumeCredentialDtoProvider = typing.Union[typing.Literal["hume"], typing.Any] diff --git a/src/vapi/types/update_inflection_ai_credential_dto.py b/src/vapi/types/update_inflection_ai_credential_dto.py index 57d5534c..f1a7d13f 100644 --- a/src/vapi/types/update_inflection_ai_credential_dto.py +++ b/src/vapi/types/update_inflection_ai_credential_dto.py @@ -7,9 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_inflection_ai_credential_dto_provider import UpdateInflectionAiCredentialDtoProvider class UpdateInflectionAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateInflectionAiCredentialDtoProvider] = pydantic.Field(default=None) + """ + This is the api key for Pi in InflectionAI's console. Get it from here: https://developers.inflection.ai/keys, billing will need to be setup + """ + api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_inflection_ai_credential_dto_provider.py b/src/vapi/types/update_inflection_ai_credential_dto_provider.py new file mode 100644 index 00000000..5ffee7d2 --- /dev/null +++ b/src/vapi/types/update_inflection_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateInflectionAiCredentialDtoProvider = typing.Union[typing.Literal["inflection-ai"], typing.Any] diff --git a/src/vapi/types/update_inworld_credential_dto.py b/src/vapi/types/update_inworld_credential_dto.py index 51d06c93..3431daa2 100644 --- a/src/vapi/types/update_inworld_credential_dto.py +++ b/src/vapi/types/update_inworld_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_inworld_credential_dto_provider import UpdateInworldCredentialDtoProvider class UpdateInworldCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateInworldCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_inworld_credential_dto_provider.py b/src/vapi/types/update_inworld_credential_dto_provider.py new file mode 100644 index 00000000..c6da0902 --- /dev/null +++ b/src/vapi/types/update_inworld_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateInworldCredentialDtoProvider = typing.Union[typing.Literal["inworld"], typing.Any] diff --git a/src/vapi/types/update_langfuse_credential_dto.py b/src/vapi/types/update_langfuse_credential_dto.py index f2583e59..d3b7d867 100644 --- a/src/vapi/types/update_langfuse_credential_dto.py +++ b/src/vapi/types/update_langfuse_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_langfuse_credential_dto_provider import UpdateLangfuseCredentialDtoProvider class UpdateLangfuseCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateLangfuseCredentialDtoProvider] = None public_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="publicKey"), diff --git a/src/vapi/types/update_langfuse_credential_dto_provider.py b/src/vapi/types/update_langfuse_credential_dto_provider.py new file mode 100644 index 00000000..13096207 --- /dev/null +++ b/src/vapi/types/update_langfuse_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateLangfuseCredentialDtoProvider = typing.Union[typing.Literal["langfuse"], typing.Any] diff --git a/src/vapi/types/update_line_insight_from_call_table_dto.py b/src/vapi/types/update_line_insight_from_call_table_dto.py index 6100fcbc..a6a8e767 100644 --- a/src/vapi/types/update_line_insight_from_call_table_dto.py +++ b/src/vapi/types/update_line_insight_from_call_table_dto.py @@ -15,6 +15,10 @@ class UpdateLineInsightFromCallTableDto(UncheckedBaseModel): + """ + Fields used to update a line-chart insight, including its queries, formulas, grouping, time range, metadata, and name. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -45,7 +49,11 @@ class UpdateLineInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRangeWithStep], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRangeWithStep], + FieldMetadata(alias="timeRange"), + pydantic.Field( + alias="timeRange", description="The time range and interval used to aggregate the line-chart data." + ), ] = None group_by: typing_extensions.Annotated[ typing.Optional[UpdateLineInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/update_lmnt_credential_dto.py b/src/vapi/types/update_lmnt_credential_dto.py index fdcc2810..ec364a00 100644 --- a/src/vapi/types/update_lmnt_credential_dto.py +++ b/src/vapi/types/update_lmnt_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_lmnt_credential_dto_provider import UpdateLmntCredentialDtoProvider class UpdateLmntCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateLmntCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_lmnt_credential_dto_provider.py b/src/vapi/types/update_lmnt_credential_dto_provider.py new file mode 100644 index 00000000..82bed696 --- /dev/null +++ b/src/vapi/types/update_lmnt_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateLmntCredentialDtoProvider = typing.Union[typing.Literal["lmnt"], typing.Any] diff --git a/src/vapi/types/update_make_credential_dto.py b/src/vapi/types/update_make_credential_dto.py index 8452cebe..8989fa1e 100644 --- a/src/vapi/types/update_make_credential_dto.py +++ b/src/vapi/types/update_make_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_make_credential_dto_provider import UpdateMakeCredentialDtoProvider class UpdateMakeCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateMakeCredentialDtoProvider] = None team_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="teamId"), pydantic.Field(alias="teamId", description="Team ID") ] = None diff --git a/src/vapi/types/update_make_credential_dto_provider.py b/src/vapi/types/update_make_credential_dto_provider.py new file mode 100644 index 00000000..d5cb0c45 --- /dev/null +++ b/src/vapi/types/update_make_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateMakeCredentialDtoProvider = typing.Union[typing.Literal["make"], typing.Any] diff --git a/src/vapi/types/update_make_tool_dto.py b/src/vapi/types/update_make_tool_dto.py index 7d443d55..faa67a72 100644 --- a/src/vapi/types/update_make_tool_dto.py +++ b/src/vapi/types/update_make_tool_dto.py @@ -12,14 +12,18 @@ from .make_tool_metadata import MakeToolMetadata from .tool_rejection_plan import ToolRejectionPlan from .update_make_tool_dto_messages_item import UpdateMakeToolDtoMessagesItem +from .update_make_tool_dto_type import UpdateMakeToolDtoType class UpdateMakeToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[UpdateMakeToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[UpdateMakeToolDtoType] = pydantic.Field(default=None) + """ + The type of tool. "make" for Make tool. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_make_tool_dto_messages_item.py b/src/vapi/types/update_make_tool_dto_messages_item.py index d4da2ded..c23145d8 100644 --- a/src/vapi/types/update_make_tool_dto_messages_item.py +++ b/src/vapi/types/update_make_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateMakeToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateMakeToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_make_tool_dto_type.py b/src/vapi/types/update_make_tool_dto_type.py new file mode 100644 index 00000000..0dddaf2a --- /dev/null +++ b/src/vapi/types/update_make_tool_dto_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateMakeToolDtoType = typing.Union[typing.Literal["make"], typing.Any] diff --git a/src/vapi/types/update_mcp_tool_dto.py b/src/vapi/types/update_mcp_tool_dto.py index 4daf5205..7474f976 100644 --- a/src/vapi/types/update_mcp_tool_dto.py +++ b/src/vapi/types/update_mcp_tool_dto.py @@ -17,11 +17,13 @@ class UpdateMcpToolDto(UncheckedBaseModel): + """ + Fields used to update an MCP tool, including its server, connection metadata, exposed tool messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateMcpToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ server: typing.Optional[Server] = pydantic.Field(default=None) @@ -53,7 +55,10 @@ class UpdateMcpToolDto(UncheckedBaseModel): description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", ), ] = None - metadata: typing.Optional[McpToolMetadata] = None + metadata: typing.Optional[McpToolMetadata] = pydantic.Field(default=None) + """ + Connection metadata for the MCP server, including its communication protocol. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/vapi/types/update_mcp_tool_dto_messages_item.py b/src/vapi/types/update_mcp_tool_dto_messages_item.py index 29095393..74581d95 100644 --- a/src/vapi/types/update_mcp_tool_dto_messages_item.py +++ b/src/vapi/types/update_mcp_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateMcpToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateMcpToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_microsoft_credential_dto.py b/src/vapi/types/update_microsoft_credential_dto.py new file mode 100644 index 00000000..f8a46855 --- /dev/null +++ b/src/vapi/types/update_microsoft_credential_dto.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .update_microsoft_credential_dto_provider import UpdateMicrosoftCredentialDtoProvider + + +class UpdateMicrosoftCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateMicrosoftCredentialDtoProvider] = None + api_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiKey"), + pydantic.Field(alias="apiKey", description="This is not returned in the API."), + ] = None + region: typing.Optional[str] = pydantic.Field(default=None) + """ + Azure region for the Speech resource. Defaults to `eastus` when omitted. MAI-Voice-2 is preview and region-limited. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of credential. This is just for your reference. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/update_microsoft_credential_dto_provider.py b/src/vapi/types/update_microsoft_credential_dto_provider.py new file mode 100644 index 00000000..fb405e33 --- /dev/null +++ b/src/vapi/types/update_microsoft_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateMicrosoftCredentialDtoProvider = typing.Union[typing.Literal["microsoft"], typing.Any] diff --git a/src/vapi/types/update_mistral_credential_dto.py b/src/vapi/types/update_mistral_credential_dto.py index 32a307df..ba2f1895 100644 --- a/src/vapi/types/update_mistral_credential_dto.py +++ b/src/vapi/types/update_mistral_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_mistral_credential_dto_provider import UpdateMistralCredentialDtoProvider class UpdateMistralCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateMistralCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_mistral_credential_dto_provider.py b/src/vapi/types/update_mistral_credential_dto_provider.py new file mode 100644 index 00000000..33210bc2 --- /dev/null +++ b/src/vapi/types/update_mistral_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateMistralCredentialDtoProvider = typing.Union[typing.Literal["mistral"], typing.Any] diff --git a/src/vapi/types/update_neuphonic_credential_dto.py b/src/vapi/types/update_neuphonic_credential_dto.py index ccfcba3c..9ff09c5a 100644 --- a/src/vapi/types/update_neuphonic_credential_dto.py +++ b/src/vapi/types/update_neuphonic_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_neuphonic_credential_dto_provider import UpdateNeuphonicCredentialDtoProvider class UpdateNeuphonicCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateNeuphonicCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_neuphonic_credential_dto_provider.py b/src/vapi/types/update_neuphonic_credential_dto_provider.py new file mode 100644 index 00000000..2f082eeb --- /dev/null +++ b/src/vapi/types/update_neuphonic_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateNeuphonicCredentialDtoProvider = typing.Union[typing.Literal["neuphonic"], typing.Any] diff --git a/src/vapi/types/update_open_ai_credential_dto.py b/src/vapi/types/update_open_ai_credential_dto.py index a1d2acb1..b97d54a4 100644 --- a/src/vapi/types/update_open_ai_credential_dto.py +++ b/src/vapi/types/update_open_ai_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_open_ai_credential_dto_provider import UpdateOpenAiCredentialDtoProvider class UpdateOpenAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateOpenAiCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_open_ai_credential_dto_provider.py b/src/vapi/types/update_open_ai_credential_dto_provider.py new file mode 100644 index 00000000..be54d041 --- /dev/null +++ b/src/vapi/types/update_open_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateOpenAiCredentialDtoProvider = typing.Union[typing.Literal["openai"], typing.Any] diff --git a/src/vapi/types/update_open_router_credential_dto.py b/src/vapi/types/update_open_router_credential_dto.py index 2de1f850..a2b7700d 100644 --- a/src/vapi/types/update_open_router_credential_dto.py +++ b/src/vapi/types/update_open_router_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_open_router_credential_dto_provider import UpdateOpenRouterCredentialDtoProvider class UpdateOpenRouterCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateOpenRouterCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_open_router_credential_dto_provider.py b/src/vapi/types/update_open_router_credential_dto_provider.py new file mode 100644 index 00000000..2192a169 --- /dev/null +++ b/src/vapi/types/update_open_router_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateOpenRouterCredentialDtoProvider = typing.Union[typing.Literal["openrouter"], typing.Any] diff --git a/src/vapi/types/update_output_tool_dto.py b/src/vapi/types/update_output_tool_dto.py index c5eb7246..51eb277e 100644 --- a/src/vapi/types/update_output_tool_dto.py +++ b/src/vapi/types/update_output_tool_dto.py @@ -11,14 +11,18 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .tool_rejection_plan import ToolRejectionPlan from .update_output_tool_dto_messages_item import UpdateOutputToolDtoMessagesItem +from .update_output_tool_dto_type import UpdateOutputToolDtoType class UpdateOutputToolDto(UncheckedBaseModel): messages: typing.Optional[typing.List[UpdateOutputToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[UpdateOutputToolDtoType] = pydantic.Field(default=None) + """ + The type of tool. "output" for Output tool. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_output_tool_dto_messages_item.py b/src/vapi/types/update_output_tool_dto_messages_item.py index 3dab1cd2..e5ef4016 100644 --- a/src/vapi/types/update_output_tool_dto_messages_item.py +++ b/src/vapi/types/update_output_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateOutputToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateOutputToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_output_tool_dto_type.py b/src/vapi/types/update_output_tool_dto_type.py new file mode 100644 index 00000000..59e84f4f --- /dev/null +++ b/src/vapi/types/update_output_tool_dto_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateOutputToolDtoType = typing.Union[typing.Literal["output"], typing.Any] diff --git a/src/vapi/types/update_perplexity_ai_credential_dto.py b/src/vapi/types/update_perplexity_ai_credential_dto.py index 2da84226..012f1ea9 100644 --- a/src/vapi/types/update_perplexity_ai_credential_dto.py +++ b/src/vapi/types/update_perplexity_ai_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_perplexity_ai_credential_dto_provider import UpdatePerplexityAiCredentialDtoProvider class UpdatePerplexityAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdatePerplexityAiCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_perplexity_ai_credential_dto_provider.py b/src/vapi/types/update_perplexity_ai_credential_dto_provider.py new file mode 100644 index 00000000..6d45b4c0 --- /dev/null +++ b/src/vapi/types/update_perplexity_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdatePerplexityAiCredentialDtoProvider = typing.Union[typing.Literal["perplexity-ai"], typing.Any] diff --git a/src/vapi/types/update_personality_dto.py b/src/vapi/types/update_personality_dto.py index c27c84fa..c09b42f4 100644 --- a/src/vapi/types/update_personality_dto.py +++ b/src/vapi/types/update_personality_dto.py @@ -55,8 +55,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -92,6 +96,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -115,8 +126,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -152,6 +167,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/update_pie_insight_from_call_table_dto.py b/src/vapi/types/update_pie_insight_from_call_table_dto.py index 8221e35d..a40b30b6 100644 --- a/src/vapi/types/update_pie_insight_from_call_table_dto.py +++ b/src/vapi/types/update_pie_insight_from_call_table_dto.py @@ -14,6 +14,10 @@ class UpdatePieInsightFromCallTableDto(UncheckedBaseModel): + """ + Fields used to update a pie-chart insight, including its queries, formulas, grouping, time range, and name. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -39,7 +43,9 @@ class UpdatePieInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the pie-chart data."), ] = None group_by: typing_extensions.Annotated[ typing.Optional[UpdatePieInsightFromCallTableDtoGroupBy], diff --git a/src/vapi/types/update_play_ht_credential_dto.py b/src/vapi/types/update_play_ht_credential_dto.py index 44ef655b..67d160f2 100644 --- a/src/vapi/types/update_play_ht_credential_dto.py +++ b/src/vapi/types/update_play_ht_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_play_ht_credential_dto_provider import UpdatePlayHtCredentialDtoProvider class UpdatePlayHtCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdatePlayHtCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_play_ht_credential_dto_provider.py b/src/vapi/types/update_play_ht_credential_dto_provider.py new file mode 100644 index 00000000..f183c470 --- /dev/null +++ b/src/vapi/types/update_play_ht_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdatePlayHtCredentialDtoProvider = typing.Union[typing.Literal["playht"], typing.Any] diff --git a/src/vapi/types/update_query_tool_dto.py b/src/vapi/types/update_query_tool_dto.py index 3c464c2b..395815dc 100644 --- a/src/vapi/types/update_query_tool_dto.py +++ b/src/vapi/types/update_query_tool_dto.py @@ -15,11 +15,13 @@ class UpdateQueryToolDto(UncheckedBaseModel): + """ + Fields used to update a query tool, including its knowledge bases, spoken messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateQueryToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ knowledge_bases: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_query_tool_dto_messages_item.py b/src/vapi/types/update_query_tool_dto_messages_item.py index 862208c2..1f107e57 100644 --- a/src/vapi/types/update_query_tool_dto_messages_item.py +++ b/src/vapi/types/update_query_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateQueryToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateQueryToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_rime_ai_credential_dto.py b/src/vapi/types/update_rime_ai_credential_dto.py index 05e8bcd5..a03ae0b3 100644 --- a/src/vapi/types/update_rime_ai_credential_dto.py +++ b/src/vapi/types/update_rime_ai_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_rime_ai_credential_dto_provider import UpdateRimeAiCredentialDtoProvider class UpdateRimeAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateRimeAiCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_rime_ai_credential_dto_provider.py b/src/vapi/types/update_rime_ai_credential_dto_provider.py new file mode 100644 index 00000000..f9c24141 --- /dev/null +++ b/src/vapi/types/update_rime_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateRimeAiCredentialDtoProvider = typing.Union[typing.Literal["rime-ai"], typing.Any] diff --git a/src/vapi/types/update_runpod_credential_dto.py b/src/vapi/types/update_runpod_credential_dto.py index 2855a7ad..07bbbe8b 100644 --- a/src/vapi/types/update_runpod_credential_dto.py +++ b/src/vapi/types/update_runpod_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_runpod_credential_dto_provider import UpdateRunpodCredentialDtoProvider class UpdateRunpodCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateRunpodCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_runpod_credential_dto_provider.py b/src/vapi/types/update_runpod_credential_dto_provider.py new file mode 100644 index 00000000..1422ea84 --- /dev/null +++ b/src/vapi/types/update_runpod_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateRunpodCredentialDtoProvider = typing.Union[typing.Literal["runpod"], typing.Any] diff --git a/src/vapi/types/update_s_3_compatible_bucket_plan_dto.py b/src/vapi/types/update_s_3_compatible_bucket_plan_dto.py new file mode 100644 index 00000000..54a6e454 --- /dev/null +++ b/src/vapi/types/update_s_3_compatible_bucket_plan_dto.py @@ -0,0 +1,50 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class UpdateS3CompatibleBucketPlanDto(UncheckedBaseModel): + url: typing.Optional[str] = pydantic.Field(default=None) + """ + S3-compatible endpoint URL, such as https://s3.us-west-004.backblazeb2.com. Must be public HTTPS. + """ + + region: typing.Optional[str] = pydantic.Field(default=None) + """ + SigV4 signing region expected by the object store. Most stores accept us-east-1. + """ + + access_key_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="accessKeyId"), + pydantic.Field(alias="accessKeyId", description="S3 access key ID."), + ] = None + secret_access_key: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="secretAccessKey"), + pydantic.Field(alias="secretAccessKey", description="S3 secret access key. This is not returned in the API."), + ] = None + name: typing.Optional[str] = pydantic.Field(default=None) + """ + Bucket name. + """ + + path: typing.Optional[str] = pydantic.Field(default=None) + """ + Optional key prefix inside the bucket, such as recordings/. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/update_s_3_compatible_credential_dto.py b/src/vapi/types/update_s_3_compatible_credential_dto.py new file mode 100644 index 00000000..8739c6f7 --- /dev/null +++ b/src/vapi/types/update_s_3_compatible_credential_dto.py @@ -0,0 +1,45 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .update_s_3_compatible_bucket_plan_dto import UpdateS3CompatibleBucketPlanDto +from .update_s_3_compatible_credential_dto_provider import UpdateS3CompatibleCredentialDtoProvider + + +class UpdateS3CompatibleCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateS3CompatibleCredentialDtoProvider] = pydantic.Field(default=None) + """ + This is for S3-compatible storage such as MinIO, Garage, Ceph, or Backblaze B2. + """ + + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="fallbackIndex"), + pydantic.Field( + alias="fallbackIndex", + description="This is the order in which this storage provider is tried during upload retries. Lower numbers are tried first in increasing order.", + ), + ] = None + bucket_plan: typing_extensions.Annotated[ + typing.Optional[UpdateS3CompatibleBucketPlanDto], + FieldMetadata(alias="bucketPlan"), + pydantic.Field(alias="bucketPlan"), + ] = None + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of credential. This is just for your reference. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/update_s_3_compatible_credential_dto_provider.py b/src/vapi/types/update_s_3_compatible_credential_dto_provider.py new file mode 100644 index 00000000..fd71890f --- /dev/null +++ b/src/vapi/types/update_s_3_compatible_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateS3CompatibleCredentialDtoProvider = typing.Union[typing.Literal["s3-compatible"], typing.Any] diff --git a/src/vapi/types/update_s_3_credential_dto.py b/src/vapi/types/update_s_3_credential_dto.py index cb462d9f..060fe45b 100644 --- a/src/vapi/types/update_s_3_credential_dto.py +++ b/src/vapi/types/update_s_3_credential_dto.py @@ -7,9 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_s_3_credential_dto_provider import UpdateS3CredentialDtoProvider class UpdateS3CredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateS3CredentialDtoProvider] = pydantic.Field(default=None) + """ + Credential provider. Only allowed value is s3 + """ + aws_access_key_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="awsAccessKeyId"), diff --git a/src/vapi/types/update_s_3_credential_dto_provider.py b/src/vapi/types/update_s_3_credential_dto_provider.py new file mode 100644 index 00000000..677b12b5 --- /dev/null +++ b/src/vapi/types/update_s_3_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateS3CredentialDtoProvider = typing.Union[typing.Literal["s3"], typing.Any] diff --git a/src/vapi/types/update_scenario_dto.py b/src/vapi/types/update_scenario_dto.py index 2239df6d..b2bfeb0e 100644 --- a/src/vapi/types/update_scenario_dto.py +++ b/src/vapi/types/update_scenario_dto.py @@ -83,8 +83,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -120,6 +124,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -143,8 +154,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -180,6 +195,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/update_simulation_suite_dto.py b/src/vapi/types/update_simulation_suite_dto.py index 9ef7fa8e..dc69dc84 100644 --- a/src/vapi/types/update_simulation_suite_dto.py +++ b/src/vapi/types/update_simulation_suite_dto.py @@ -7,6 +7,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .simulation_suite_target_assignment import SimulationSuiteTargetAssignment class UpdateSimulationSuiteDto(UncheckedBaseModel): @@ -28,6 +29,13 @@ class UpdateSimulationSuiteDto(UncheckedBaseModel): description="This is the list of simulation IDs to include in the suite (replaces existing).", ), ] = None + target_assignments: typing_extensions.Annotated[ + typing.Optional[typing.List[SimulationSuiteTargetAssignment]], + FieldMetadata(alias="targetAssignments"), + pydantic.Field( + alias="targetAssignments", description="Optional assistant or squad assignments (replaces existing)." + ), + ] = None path: typing.Optional[str] = pydantic.Field(default=None) """ Optional folder path for organizing simulation suites. diff --git a/src/vapi/types/update_sip_request_tool_dto.py b/src/vapi/types/update_sip_request_tool_dto.py index 1b3ab8c0..db36c5fc 100644 --- a/src/vapi/types/update_sip_request_tool_dto.py +++ b/src/vapi/types/update_sip_request_tool_dto.py @@ -16,11 +16,13 @@ class UpdateSipRequestToolDto(UncheckedBaseModel): + """ + Fields used to update a SIP-request tool, including its method, headers, body, spoken messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateSipRequestToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ verb: typing.Optional[UpdateSipRequestToolDtoVerb] = pydantic.Field(default=None) diff --git a/src/vapi/types/update_sip_request_tool_dto_messages_item.py b/src/vapi/types/update_sip_request_tool_dto_messages_item.py index 1c8df59e..e6ad43fb 100644 --- a/src/vapi/types/update_sip_request_tool_dto_messages_item.py +++ b/src/vapi/types/update_sip_request_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateSipRequestToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateSipRequestToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto.py b/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto.py index 07aa71f4..97f11604 100644 --- a/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto.py +++ b/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto.py @@ -7,9 +7,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_slack_o_auth_2_authorization_credential_dto_provider import ( + UpdateSlackOAuth2AuthorizationCredentialDtoProvider, +) class UpdateSlackOAuth2AuthorizationCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateSlackOAuth2AuthorizationCredentialDtoProvider] = None authorization_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authorizationId"), diff --git a/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.py b/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.py new file mode 100644 index 00000000..e120a97d --- /dev/null +++ b/src/vapi/types/update_slack_o_auth_2_authorization_credential_dto_provider.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateSlackOAuth2AuthorizationCredentialDtoProvider = typing.Union[ + typing.Literal["slack.oauth2-authorization"], typing.Any +] diff --git a/src/vapi/types/update_slack_send_message_tool_dto.py b/src/vapi/types/update_slack_send_message_tool_dto.py index b55e40f4..cb69b357 100644 --- a/src/vapi/types/update_slack_send_message_tool_dto.py +++ b/src/vapi/types/update_slack_send_message_tool_dto.py @@ -14,11 +14,13 @@ class UpdateSlackSendMessageToolDto(UncheckedBaseModel): + """ + Fields used to update a Slack message tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateSlackSendMessageToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_slack_send_message_tool_dto_messages_item.py b/src/vapi/types/update_slack_send_message_tool_dto_messages_item.py index a4ced658..497117af 100644 --- a/src/vapi/types/update_slack_send_message_tool_dto_messages_item.py +++ b/src/vapi/types/update_slack_send_message_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateSlackSendMessageToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateSlackSendMessageToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_slack_webhook_credential_dto.py b/src/vapi/types/update_slack_webhook_credential_dto.py index 1b423bfd..05d8ef55 100644 --- a/src/vapi/types/update_slack_webhook_credential_dto.py +++ b/src/vapi/types/update_slack_webhook_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_slack_webhook_credential_dto_provider import UpdateSlackWebhookCredentialDtoProvider class UpdateSlackWebhookCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateSlackWebhookCredentialDtoProvider] = None webhook_url: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="webhookUrl"), diff --git a/src/vapi/types/update_slack_webhook_credential_dto_provider.py b/src/vapi/types/update_slack_webhook_credential_dto_provider.py new file mode 100644 index 00000000..91676b06 --- /dev/null +++ b/src/vapi/types/update_slack_webhook_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateSlackWebhookCredentialDtoProvider = typing.Union[typing.Literal["slack-webhook"], typing.Any] diff --git a/src/vapi/types/update_sms_tool_dto.py b/src/vapi/types/update_sms_tool_dto.py index d7a32a7e..bb878b6c 100644 --- a/src/vapi/types/update_sms_tool_dto.py +++ b/src/vapi/types/update_sms_tool_dto.py @@ -14,11 +14,13 @@ class UpdateSmsToolDto(UncheckedBaseModel): + """ + Fields used to update an SMS tool, including its spoken messages and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateSmsToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ rejection_plan: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_sms_tool_dto_messages_item.py b/src/vapi/types/update_sms_tool_dto_messages_item.py index fabf5c8f..7538c430 100644 --- a/src/vapi/types/update_sms_tool_dto_messages_item.py +++ b/src/vapi/types/update_sms_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateSmsToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateSmsToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_soniox_credential_dto.py b/src/vapi/types/update_soniox_credential_dto.py index f0553d34..e4cfd185 100644 --- a/src/vapi/types/update_soniox_credential_dto.py +++ b/src/vapi/types/update_soniox_credential_dto.py @@ -7,14 +7,24 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_soniox_credential_dto_provider import UpdateSonioxCredentialDtoProvider class UpdateSonioxCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateSonioxCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey", description="This is not returned in the API."), ] = None + api_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="apiUrl"), + pydantic.Field( + alias="apiUrl", + description="Custom Soniox WebSocket endpoint (e.g. EU server wss://stt-rt.eu.soniox.com/transcribe-websocket). Defaults to the region-appropriate endpoint when omitted.", + ), + ] = None name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of credential. This is just for your reference. diff --git a/src/vapi/types/update_soniox_credential_dto_provider.py b/src/vapi/types/update_soniox_credential_dto_provider.py new file mode 100644 index 00000000..916bc04c --- /dev/null +++ b/src/vapi/types/update_soniox_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateSonioxCredentialDtoProvider = typing.Union[typing.Literal["soniox"], typing.Any] diff --git a/src/vapi/types/update_telnyx_phone_number_dto.py b/src/vapi/types/update_telnyx_phone_number_dto.py index ecba1493..32d100a1 100644 --- a/src/vapi/types/update_telnyx_phone_number_dto.py +++ b/src/vapi/types/update_telnyx_phone_number_dto.py @@ -13,6 +13,10 @@ class UpdateTelnyxPhoneNumberDto(UncheckedBaseModel): + """ + Fields used to update a Telnyx phone number, including its credential, number, routing, hooks, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[UpdateTelnyxPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/update_text_editor_tool_dto.py b/src/vapi/types/update_text_editor_tool_dto.py index 80ee713b..ce1bb451 100644 --- a/src/vapi/types/update_text_editor_tool_dto.py +++ b/src/vapi/types/update_text_editor_tool_dto.py @@ -17,11 +17,13 @@ class UpdateTextEditorToolDto(UncheckedBaseModel): + """ + Fields used to update a text-editor tool, including its name, environment subtype, server, messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateTextEditorToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ sub_type: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_text_editor_tool_dto_messages_item.py b/src/vapi/types/update_text_editor_tool_dto_messages_item.py index dd75426e..99dc98b6 100644 --- a/src/vapi/types/update_text_editor_tool_dto_messages_item.py +++ b/src/vapi/types/update_text_editor_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateTextEditorToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateTextEditorToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_text_insight_from_call_table_dto.py b/src/vapi/types/update_text_insight_from_call_table_dto.py index e2621fc4..bed32dcf 100644 --- a/src/vapi/types/update_text_insight_from_call_table_dto.py +++ b/src/vapi/types/update_text_insight_from_call_table_dto.py @@ -12,6 +12,10 @@ class UpdateTextInsightFromCallTableDto(UncheckedBaseModel): + """ + Fields used to update a text-value insight, including its queries, formula, time range, and name. + """ + name: typing.Optional[str] = pydantic.Field(default=None) """ This is the name of the Insight. @@ -37,7 +41,9 @@ class UpdateTextInsightFromCallTableDto(UncheckedBaseModel): """ time_range: typing_extensions.Annotated[ - typing.Optional[InsightTimeRange], FieldMetadata(alias="timeRange"), pydantic.Field(alias="timeRange") + typing.Optional[InsightTimeRange], + FieldMetadata(alias="timeRange"), + pydantic.Field(alias="timeRange", description="The time range used to query the text-value data."), ] = None queries: typing.Optional[typing.List[UpdateTextInsightFromCallTableDtoQueriesItem]] = pydantic.Field(default=None) """ diff --git a/src/vapi/types/update_together_ai_credential_dto.py b/src/vapi/types/update_together_ai_credential_dto.py index 31ca3750..1b8bad71 100644 --- a/src/vapi/types/update_together_ai_credential_dto.py +++ b/src/vapi/types/update_together_ai_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_together_ai_credential_dto_provider import UpdateTogetherAiCredentialDtoProvider class UpdateTogetherAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateTogetherAiCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_together_ai_credential_dto_provider.py b/src/vapi/types/update_together_ai_credential_dto_provider.py new file mode 100644 index 00000000..d627605c --- /dev/null +++ b/src/vapi/types/update_together_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateTogetherAiCredentialDtoProvider = typing.Union[typing.Literal["together-ai"], typing.Any] diff --git a/src/vapi/types/update_tool_draft_dto.py b/src/vapi/types/update_tool_draft_dto.py new file mode 100644 index 00000000..54fe9e40 --- /dev/null +++ b/src/vapi/types/update_tool_draft_dto.py @@ -0,0 +1,231 @@ +# 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, update_forward_refs +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .backoff_plan import BackoffPlan +from .code_tool_environment_variable import CodeToolEnvironmentVariable +from .knowledge_base import KnowledgeBase +from .mcp_tool_messages import McpToolMessages +from .open_ai_function import OpenAiFunction +from .server import Server +from .tool_parameter import ToolParameter +from .tool_rejection_plan import ToolRejectionPlan +from .update_tool_draft_dto_messages_item import UpdateToolDraftDtoMessagesItem +from .update_tool_draft_dto_method import UpdateToolDraftDtoMethod +from .update_tool_draft_dto_type import UpdateToolDraftDtoType +from .update_tool_draft_dto_verb import UpdateToolDraftDtoVerb +from .variable_extraction_plan import VariableExtractionPlan + + +class UpdateToolDraftDto(UncheckedBaseModel): + messages: typing.Optional[typing.List[UpdateToolDraftDtoMessagesItem]] = pydantic.Field(default=None) + """ + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. + """ + + type: typing.Optional[UpdateToolDraftDtoType] = pydantic.Field(default=None) + """ + This is the type of the tool. + """ + + function: typing.Optional[OpenAiFunction] = pydantic.Field(default=None) + """ + This is the function definition of the tool. + """ + + metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + Provider-specific metadata. Polymorphic across tool variants with no shared + discriminator, so it is validated as a plain object (mirrors how + `ToolCallResult.metadata` is typed). + """ + + template_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="templateId"), + pydantic.Field( + alias="templateId", description="This is the unique identifier for the template this tool was created from." + ), + ] = None + server: typing.Optional[Server] = None + async_: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="async"), pydantic.Field(alias="async") + ] = None + destinations: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = pydantic.Field(default=None) + """ + These are the destinations that the call can be transferred to. + """ + + name: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the name of the tool. This will be passed to the model. + """ + + sub_type: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="subType"), + pydantic.Field( + alias="subType", + description="This is the sub type of the tool (e.g. for computer, bash and text-editor tools).", + ), + ] = None + display_width_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayWidthPx"), + pydantic.Field(alias="displayWidthPx", description="The display width in pixels (computer tool)."), + ] = None + display_height_px: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayHeightPx"), + pydantic.Field(alias="displayHeightPx", description="The display height in pixels (computer tool)."), + ] = None + display_number: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="displayNumber"), + pydantic.Field(alias="displayNumber", description="Optional display number (computer tool)."), + ] = None + knowledge_bases: typing_extensions.Annotated[ + typing.Optional[typing.List[KnowledgeBase]], + FieldMetadata(alias="knowledgeBases"), + pydantic.Field(alias="knowledgeBases", description="The knowledge bases to query (query tool)."), + ] = None + url: typing.Optional[str] = pydantic.Field(default=None) + """ + This is where the request will be sent (api-request tool). + """ + + method: typing.Optional[UpdateToolDraftDtoMethod] = pydantic.Field(default=None) + """ + This is the HTTP method for the request (api-request tool). + """ + + headers: typing.Optional["JsonSchema"] = pydantic.Field(default=None) + """ + These are the headers to send with the request (api-request / sip-request tool). + """ + + body: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) + """ + This is the body of the request. Either a JSON schema (api-request) or a + literal string / schema (sip-request). + """ + + backoff_plan: typing_extensions.Annotated[ + typing.Optional[BackoffPlan], + FieldMetadata(alias="backoffPlan"), + pydantic.Field(alias="backoffPlan", description="This is the backoff plan if the request fails."), + ] = None + timeout_seconds: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="timeoutSeconds"), + pydantic.Field(alias="timeoutSeconds", description="This is the timeout in seconds for the request."), + ] = None + description: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the description of the tool. This will be passed to the model. + """ + + variable_extraction_plan: typing_extensions.Annotated[ + typing.Optional[VariableExtractionPlan], + FieldMetadata(alias="variableExtractionPlan"), + pydantic.Field( + alias="variableExtractionPlan", + description="This is the plan to extract variables from the tool's response.", + ), + ] = None + credential_id: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="credentialId"), + pydantic.Field( + alias="credentialId", description="This is the credential ID that will be used for authorization." + ), + ] = None + extended_delay_when_preceded_by_text_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="extendedDelayWhenPrecededByTextEnabled"), + pydantic.Field(alias="extendedDelayWhenPrecededByTextEnabled"), + ] = None + beep_detection_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="beepDetectionEnabled"), pydantic.Field(alias="beepDetectionEnabled") + ] = None + code: typing.Optional[str] = pydantic.Field(default=None) + """ + This is the TypeScript code that will be executed when the tool is called (code tool). + """ + + environment_variables: typing_extensions.Annotated[ + typing.Optional[typing.List[CodeToolEnvironmentVariable]], + FieldMetadata(alias="environmentVariables"), + pydantic.Field( + alias="environmentVariables", + description="These are the environment variables available in the code via the `env` object (code tool).", + ), + ] = None + parameters: typing.Optional[typing.List[ToolParameter]] = pydantic.Field(default=None) + """ + These are the static parameters to merge into the tool's request body. + """ + + encrypted_paths: typing_extensions.Annotated[ + typing.Optional[typing.List[str]], + FieldMetadata(alias="encryptedPaths"), + pydantic.Field(alias="encryptedPaths", description="This is the paths to encrypt in the request body."), + ] = None + sip_info_dtmf_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="sipInfoDtmfEnabled"), + pydantic.Field( + alias="sipInfoDtmfEnabled", + description="This enables sending DTMF tones via SIP INFO messages instead of RFC 2833.", + ), + ] = None + verb: typing.Optional[UpdateToolDraftDtoVerb] = pydantic.Field(default=None) + """ + This is the SIP method to send (sip-request tool). + """ + + default_result: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="defaultResult"), + pydantic.Field( + alias="defaultResult", + description="This is the default local tool result message used when no runtime override is returned (handoff tool).", + ), + ] = None + tool_messages: typing_extensions.Annotated[ + typing.Optional[typing.List[McpToolMessages]], + FieldMetadata(alias="toolMessages"), + pydantic.Field( + alias="toolMessages", + description="Per-tool message overrides for individual tools loaded from the MCP server (mcp tool).", + ), + ] = None + rejection_plan: typing_extensions.Annotated[ + typing.Optional[ToolRejectionPlan], + FieldMetadata(alias="rejectionPlan"), + pydantic.Field( + alias="rejectionPlan", + description="This is the plan to reject a tool call based on the conversation state.\n\n// Example 1: Reject endCall if user didn't say goodbye\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '(?i)\\\\b(bye|goodbye|farewell|see you later|take care)\\\\b',\n target: { position: -1, role: 'user' },\n negate: true // Reject if pattern does NOT match\n }]\n}\n```\n\n// Example 2: Reject transfer if user is actually asking a question\n```json\n{\n conditions: [{\n type: 'regex',\n regex: '\\\\?',\n target: { position: -1, role: 'user' }\n }]\n}\n```\n\n// Example 3: Reject transfer if user didn't mention transfer recently\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 5 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' %}\n{% assign mentioned = false %}\n{% for msg in userMessages %}\n {% if msg.content contains 'transfer' or msg.content contains 'connect' or msg.content contains 'speak to' %}\n {% assign mentioned = true %}\n {% break %}\n {% endif %}\n{% endfor %}\n{% if mentioned %}\n false\n{% else %}\n true\n{% endif %}`\n }]\n}\n```\n\n// Example 4: Reject endCall if the bot is looping and trying to exit\n```json\n{\n conditions: [{\n type: 'liquid',\n liquid: `{% assign recentMessages = messages | last: 6 %}\n{% assign userMessages = recentMessages | where: 'role', 'user' | reverse %}\n{% if userMessages.size < 3 %}\n false\n{% else %}\n {% assign msg1 = userMessages[0].content | downcase %}\n {% assign msg2 = userMessages[1].content | downcase %}\n {% assign msg3 = userMessages[2].content | downcase %}\n {% comment %} Check for repetitive messages {% endcomment %}\n {% if msg1 == msg2 or msg1 == msg3 or msg2 == msg3 %}\n true\n {% comment %} Check for common loop phrases {% endcomment %}\n {% elsif msg1 contains 'cool thanks' or msg2 contains 'cool thanks' or msg3 contains 'cool thanks' %}\n true\n {% elsif msg1 contains 'okay thanks' or msg2 contains 'okay thanks' or msg3 contains 'okay thanks' %}\n true\n {% elsif msg1 contains 'got it' or msg2 contains 'got it' or msg3 contains 'got it' %}\n true\n {% else %}\n false\n {% endif %}\n{% endif %}`\n }]\n}\n```", + ), + ] = 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 + + +from .json_schema import JsonSchema # noqa: E402, I001 + +update_forward_refs(UpdateToolDraftDto, JsonSchema=JsonSchema) diff --git a/src/vapi/types/update_tool_draft_dto_messages_item.py b/src/vapi/types/update_tool_draft_dto_messages_item.py new file mode 100644 index 00000000..9bffa8de --- /dev/null +++ b/src/vapi/types/update_tool_draft_dto_messages_item.py @@ -0,0 +1,106 @@ +# 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.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata +from .condition import Condition +from .text_content import TextContent +from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole + + +class UpdateToolDraftDtoMessagesItem_RequestStart(UncheckedBaseModel): + type: typing.Literal["request-start"] = "request-start" + contents: typing.Optional[typing.List[TextContent]] = None + blocking: typing.Optional[bool] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 UpdateToolDraftDtoMessagesItem_RequestComplete(UncheckedBaseModel): + type: typing.Literal["request-complete"] = "request-complete" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageCompleteRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 UpdateToolDraftDtoMessagesItem_RequestFailed(UncheckedBaseModel): + type: typing.Literal["request-failed"] = "request-failed" + contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None + end_call_after_spoken_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="endCallAfterSpokenEnabled"), + pydantic.Field(alias="endCallAfterSpokenEnabled"), + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 UpdateToolDraftDtoMessagesItem_RequestResponseDelayed(UncheckedBaseModel): + type: typing.Literal["request-response-delayed"] = "request-response-delayed" + contents: typing.Optional[typing.List[TextContent]] = None + timing_milliseconds: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="timingMilliseconds"), pydantic.Field(alias="timingMilliseconds") + ] = None + content: typing.Optional[str] = None + conditions: typing.Optional[typing.List[Condition]] = 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 + + +UpdateToolDraftDtoMessagesItem = typing_extensions.Annotated[ + typing.Union[ + UpdateToolDraftDtoMessagesItem_RequestStart, + UpdateToolDraftDtoMessagesItem_RequestComplete, + UpdateToolDraftDtoMessagesItem_RequestFailed, + UpdateToolDraftDtoMessagesItem_RequestResponseDelayed, + ], + UnionMetadata(discriminant="type"), +] diff --git a/src/vapi/types/update_tool_draft_dto_method.py b/src/vapi/types/update_tool_draft_dto_method.py new file mode 100644 index 00000000..8aa1d824 --- /dev/null +++ b/src/vapi/types/update_tool_draft_dto_method.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateToolDraftDtoMethod = typing.Union[typing.Literal["POST", "GET", "PUT", "PATCH", "DELETE"], typing.Any] diff --git a/src/vapi/types/update_tool_draft_dto_type.py b/src/vapi/types/update_tool_draft_dto_type.py new file mode 100644 index 00000000..eba76ac8 --- /dev/null +++ b/src/vapi/types/update_tool_draft_dto_type.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateToolDraftDtoType = typing.Union[ + typing.Literal[ + "dtmf", + "endCall", + "transferCall", + "transferCancel", + "transferSuccessful", + "handoff", + "output", + "voicemail", + "query", + "sms", + "sipRequest", + "function", + "mcp", + "apiRequest", + "code", + "bash", + "computer", + "textEditor", + "google.calendar.event.create", + "google.calendar.availability.check", + "google.sheets.row.append", + "slack.message.send", + "gohighlevel.calendar.event.create", + "gohighlevel.calendar.availability.check", + "gohighlevel.contact.create", + "gohighlevel.contact.get", + "make", + "ghl", + ], + typing.Any, +] diff --git a/src/vapi/types/update_tool_draft_dto_verb.py b/src/vapi/types/update_tool_draft_dto_verb.py new file mode 100644 index 00000000..bf9e9712 --- /dev/null +++ b/src/vapi/types/update_tool_draft_dto_verb.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateToolDraftDtoVerb = typing.Union[typing.Literal["INFO", "MESSAGE", "NOTIFY"], typing.Any] diff --git a/src/vapi/types/update_tool_template_dto_details.py b/src/vapi/types/update_tool_template_dto_details.py index a4f7ba48..92288711 100644 --- a/src/vapi/types/update_tool_template_dto_details.py +++ b/src/vapi/types/update_tool_template_dto_details.py @@ -67,6 +67,7 @@ class UpdateToolTemplateDtoDetails_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class UpdateToolTemplateDtoDetails_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +650,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -683,8 +694,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -719,6 +734,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/update_tool_version_metadata_dto.py b/src/vapi/types/update_tool_version_metadata_dto.py new file mode 100644 index 00000000..1f5130be --- /dev/null +++ b/src/vapi/types/update_tool_version_metadata_dto.py @@ -0,0 +1,35 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel + + +class UpdateToolVersionMetadataDto(UncheckedBaseModel): + version_name: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionName"), + pydantic.Field( + alias="versionName", description="Optional human-readable label for this version. Pass `null` to clear." + ), + ] = None + version_description: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="versionDescription"), + pydantic.Field( + alias="versionDescription", description="Optional description for this version. Pass `null` to clear." + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/update_transfer_call_tool_dto.py b/src/vapi/types/update_transfer_call_tool_dto.py index 62fb42d8..1f6a36b8 100644 --- a/src/vapi/types/update_transfer_call_tool_dto.py +++ b/src/vapi/types/update_transfer_call_tool_dto.py @@ -15,11 +15,13 @@ class UpdateTransferCallToolDto(UncheckedBaseModel): + """ + Fields used to update a call-transfer tool, including its destinations, spoken messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateTransferCallToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ destinations: typing.Optional[typing.List[UpdateTransferCallToolDtoDestinationsItem]] = pydantic.Field(default=None) diff --git a/src/vapi/types/update_transfer_call_tool_dto_messages_item.py b/src/vapi/types/update_transfer_call_tool_dto_messages_item.py index 2d2aae02..e349ce80 100644 --- a/src/vapi/types/update_transfer_call_tool_dto_messages_item.py +++ b/src/vapi/types/update_transfer_call_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateTransferCallToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateTransferCallToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_trieve_knowledge_base_dto.py b/src/vapi/types/update_trieve_knowledge_base_dto.py index 8c646aef..4dc7cae8 100644 --- a/src/vapi/types/update_trieve_knowledge_base_dto.py +++ b/src/vapi/types/update_trieve_knowledge_base_dto.py @@ -2,43 +2,4 @@ import typing -import pydantic -import typing_extensions -from ..core.pydantic_utilities import IS_PYDANTIC_V2 -from ..core.serialization import FieldMetadata -from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_knowledge_base_import import TrieveKnowledgeBaseImport -from .trieve_knowledge_base_search_plan import TrieveKnowledgeBaseSearchPlan - - -class UpdateTrieveKnowledgeBaseDto(UncheckedBaseModel): - name: typing.Optional[str] = pydantic.Field(default=None) - """ - This is the name of the knowledge base. - """ - - search_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseSearchPlan], - FieldMetadata(alias="searchPlan"), - pydantic.Field( - alias="searchPlan", - description="This is the searching plan used when searching for relevant chunks from the vector store.\n\nYou should configure this if you're running into these issues:\n- Too much unnecessary context is being fed as knowledge base context.\n- Not enough relevant context is being fed as knowledge base context.", - ), - ] = None - create_plan: typing_extensions.Annotated[ - typing.Optional[TrieveKnowledgeBaseImport], - FieldMetadata(alias="createPlan"), - pydantic.Field( - alias="createPlan", - description="This is the plan if you want us to create/import a new vector store using Trieve.", - ), - ] = 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 +UpdateTrieveKnowledgeBaseDto = typing.Any diff --git a/src/vapi/types/update_twilio_credential_dto.py b/src/vapi/types/update_twilio_credential_dto.py index 996c98d0..92055205 100644 --- a/src/vapi/types/update_twilio_credential_dto.py +++ b/src/vapi/types/update_twilio_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_twilio_credential_dto_provider import UpdateTwilioCredentialDtoProvider class UpdateTwilioCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateTwilioCredentialDtoProvider] = None auth_token: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="authToken"), diff --git a/src/vapi/types/update_twilio_credential_dto_provider.py b/src/vapi/types/update_twilio_credential_dto_provider.py new file mode 100644 index 00000000..cb46f713 --- /dev/null +++ b/src/vapi/types/update_twilio_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateTwilioCredentialDtoProvider = typing.Union[typing.Literal["twilio"], typing.Any] diff --git a/src/vapi/types/update_twilio_phone_number_dto.py b/src/vapi/types/update_twilio_phone_number_dto.py index 6f83a9dd..1ceb6777 100644 --- a/src/vapi/types/update_twilio_phone_number_dto.py +++ b/src/vapi/types/update_twilio_phone_number_dto.py @@ -13,6 +13,10 @@ class UpdateTwilioPhoneNumberDto(UncheckedBaseModel): + """ + Fields used to update a Twilio phone number, including its account credentials, SMS configuration, routing, hooks, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[UpdateTwilioPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/update_user_role_dto_role.py b/src/vapi/types/update_user_role_dto_role.py index 5292b5ee..e2a3d246 100644 --- a/src/vapi/types/update_user_role_dto_role.py +++ b/src/vapi/types/update_user_role_dto_role.py @@ -2,4 +2,6 @@ import typing -UpdateUserRoleDtoRole = typing.Union[typing.Literal["admin", "editor", "viewer"], typing.Any] +from .update_user_role_dto_role_zero import UpdateUserRoleDtoRoleZero + +UpdateUserRoleDtoRole = typing.Union[UpdateUserRoleDtoRoleZero, str] diff --git a/src/vapi/types/update_user_role_dto_role_zero.py b/src/vapi/types/update_user_role_dto_role_zero.py new file mode 100644 index 00000000..cf407727 --- /dev/null +++ b/src/vapi/types/update_user_role_dto_role_zero.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateUserRoleDtoRoleZero = typing.Union[typing.Literal["admin", "editor", "viewer"], typing.Any] diff --git a/src/vapi/types/update_vapi_phone_number_dto.py b/src/vapi/types/update_vapi_phone_number_dto.py index dc4fcf82..5d7f7bc4 100644 --- a/src/vapi/types/update_vapi_phone_number_dto.py +++ b/src/vapi/types/update_vapi_phone_number_dto.py @@ -14,6 +14,10 @@ class UpdateVapiPhoneNumberDto(UncheckedBaseModel): + """ + Fields used to update a Vapi-managed phone number or SIP URI, including its authentication, routing, hooks, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[UpdateVapiPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/update_voicemail_tool_dto.py b/src/vapi/types/update_voicemail_tool_dto.py index 7f0e5709..1b034f04 100644 --- a/src/vapi/types/update_voicemail_tool_dto.py +++ b/src/vapi/types/update_voicemail_tool_dto.py @@ -14,11 +14,13 @@ class UpdateVoicemailToolDto(UncheckedBaseModel): + """ + Fields used to update a voicemail-detection tool, including beep detection, spoken messages, and rejection plan. + """ + messages: typing.Optional[typing.List[UpdateVoicemailToolDtoMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ beep_detection_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/update_voicemail_tool_dto_messages_item.py b/src/vapi/types/update_voicemail_tool_dto_messages_item.py index 5124f6e4..d8ba9569 100644 --- a/src/vapi/types/update_voicemail_tool_dto_messages_item.py +++ b/src/vapi/types/update_voicemail_tool_dto_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class UpdateVoicemailToolDtoMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class UpdateVoicemailToolDtoMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/update_vonage_credential_dto.py b/src/vapi/types/update_vonage_credential_dto.py index e1293899..3dcad422 100644 --- a/src/vapi/types/update_vonage_credential_dto.py +++ b/src/vapi/types/update_vonage_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_vonage_credential_dto_provider import UpdateVonageCredentialDtoProvider class UpdateVonageCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateVonageCredentialDtoProvider] = None api_secret: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiSecret"), diff --git a/src/vapi/types/update_vonage_credential_dto_provider.py b/src/vapi/types/update_vonage_credential_dto_provider.py new file mode 100644 index 00000000..51d3c5d6 --- /dev/null +++ b/src/vapi/types/update_vonage_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateVonageCredentialDtoProvider = typing.Union[typing.Literal["vonage"], typing.Any] diff --git a/src/vapi/types/update_vonage_phone_number_dto.py b/src/vapi/types/update_vonage_phone_number_dto.py index 2d30691d..04875576 100644 --- a/src/vapi/types/update_vonage_phone_number_dto.py +++ b/src/vapi/types/update_vonage_phone_number_dto.py @@ -13,6 +13,10 @@ class UpdateVonagePhoneNumberDto(UncheckedBaseModel): + """ + Fields used to update a Vonage phone number, including its credential, number, routing, hooks, and server settings. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[UpdateVonagePhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/update_webhook_credential_dto.py b/src/vapi/types/update_webhook_credential_dto.py index 6f8d3252..d61c9222 100644 --- a/src/vapi/types/update_webhook_credential_dto.py +++ b/src/vapi/types/update_webhook_credential_dto.py @@ -8,9 +8,11 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .update_webhook_credential_dto_authentication_plan import UpdateWebhookCredentialDtoAuthenticationPlan +from .update_webhook_credential_dto_provider import UpdateWebhookCredentialDtoProvider class UpdateWebhookCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateWebhookCredentialDtoProvider] = None authentication_plan: typing_extensions.Annotated[ typing.Optional[UpdateWebhookCredentialDtoAuthenticationPlan], FieldMetadata(alias="authenticationPlan"), diff --git a/src/vapi/types/update_webhook_credential_dto_provider.py b/src/vapi/types/update_webhook_credential_dto_provider.py new file mode 100644 index 00000000..7eefaaa0 --- /dev/null +++ b/src/vapi/types/update_webhook_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateWebhookCredentialDtoProvider = typing.Union[typing.Literal["webhook"], typing.Any] diff --git a/src/vapi/types/update_well_said_credential_dto.py b/src/vapi/types/update_well_said_credential_dto.py index 9381909d..51f26881 100644 --- a/src/vapi/types/update_well_said_credential_dto.py +++ b/src/vapi/types/update_well_said_credential_dto.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_well_said_credential_dto_provider import UpdateWellSaidCredentialDtoProvider class UpdateWellSaidCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateWellSaidCredentialDtoProvider] = None api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_well_said_credential_dto_provider.py b/src/vapi/types/update_well_said_credential_dto_provider.py new file mode 100644 index 00000000..135511b3 --- /dev/null +++ b/src/vapi/types/update_well_said_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateWellSaidCredentialDtoProvider = typing.Union[typing.Literal["wellsaid"], typing.Any] diff --git a/src/vapi/types/update_workflow_dto_credentials_item.py b/src/vapi/types/update_workflow_dto_credentials_item.py index 702d0bf1..847b9f8f 100644 --- a/src/vapi/types/update_workflow_dto_credentials_item.py +++ b/src/vapi/types/update_workflow_dto_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class UpdateWorkflowDtoCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class UpdateWorkflowDtoCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class UpdateWorkflowDtoCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class UpdateWorkflowDtoCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 UpdateWorkflowDtoCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class UpdateWorkflowDtoCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class UpdateWorkflowDtoCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class UpdateWorkflowDtoCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class UpdateWorkflowDtoCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class UpdateWorkflowDtoCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class UpdateWorkflowDtoCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class UpdateWorkflowDtoCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: UpdateWorkflowDtoCredentialsItem_RimeAi, UpdateWorkflowDtoCredentialsItem_Runpod, UpdateWorkflowDtoCredentialsItem_S3, + UpdateWorkflowDtoCredentialsItem_S3Compatible, UpdateWorkflowDtoCredentialsItem_Supabase, UpdateWorkflowDtoCredentialsItem_SmallestAi, UpdateWorkflowDtoCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: UpdateWorkflowDtoCredentialsItem_Webhook, UpdateWorkflowDtoCredentialsItem_CustomCredential, UpdateWorkflowDtoCredentialsItem_Xai, + UpdateWorkflowDtoCredentialsItem_Microsoft, UpdateWorkflowDtoCredentialsItem_Neuphonic, UpdateWorkflowDtoCredentialsItem_Hume, UpdateWorkflowDtoCredentialsItem_Mistral, UpdateWorkflowDtoCredentialsItem_Speechmatics, UpdateWorkflowDtoCredentialsItem_Soniox, - UpdateWorkflowDtoCredentialsItem_Trieve, UpdateWorkflowDtoCredentialsItem_GoogleCalendarOauth2Client, UpdateWorkflowDtoCredentialsItem_GoogleCalendarOauth2Authorization, UpdateWorkflowDtoCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/update_workflow_dto_model.py b/src/vapi/types/update_workflow_dto_model.py index 3e1dba12..98012e10 100644 --- a/src/vapi/types/update_workflow_dto_model.py +++ b/src/vapi/types/update_workflow_dto_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -25,6 +26,7 @@ class UpdateWorkflowDtoModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -49,6 +51,7 @@ class UpdateWorkflowDtoModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -74,6 +77,7 @@ class UpdateWorkflowDtoModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -99,6 +103,7 @@ class UpdateWorkflowDtoModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -123,6 +128,7 @@ class UpdateWorkflowDtoModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/update_workflow_dto_nodes_item.py b/src/vapi/types/update_workflow_dto_nodes_item.py index 7f55b26b..845c2fc5 100644 --- a/src/vapi/types/update_workflow_dto_nodes_item.py +++ b/src/vapi/types/update_workflow_dto_nodes_item.py @@ -10,11 +10,9 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .conversation_node_model import ConversationNodeModel -from .conversation_node_tools_item import ConversationNodeToolsItem from .conversation_node_transcriber import ConversationNodeTranscriber from .conversation_node_voice import ConversationNodeVoice from .global_node_plan import GlobalNodePlan -from .tool_node_tool import ToolNodeTool from .variable_extraction_plan import VariableExtractionPlan @@ -23,7 +21,7 @@ class UpdateWorkflowDtoNodesItem_Conversation(UncheckedBaseModel): model: typing.Optional[ConversationNodeModel] = None transcriber: typing.Optional[ConversationNodeTranscriber] = None voice: typing.Optional[ConversationNodeVoice] = None - tools: typing.Optional[typing.List[ConversationNodeToolsItem]] = None + tools: typing.Optional[typing.List["ConversationNodeToolsItem"]] = None tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None @@ -54,7 +52,7 @@ class Config: class UpdateWorkflowDtoNodesItem_Tool(UncheckedBaseModel): type: typing.Literal["tool"] = "tool" - tool: typing.Optional[ToolNodeTool] = None + tool: typing.Optional["ToolNodeTool"] = None tool_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="toolId"), pydantic.Field(alias="toolId") ] = None @@ -78,5 +76,212 @@ class Config: typing.Union[UpdateWorkflowDtoNodesItem_Conversation, UpdateWorkflowDtoNodesItem_Tool], UnionMetadata(discriminant="type"), ] -update_forward_refs(UpdateWorkflowDtoNodesItem_Conversation) -update_forward_refs(UpdateWorkflowDtoNodesItem_Tool) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 + +update_forward_refs( + UpdateWorkflowDtoNodesItem_Conversation, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + UpdateWorkflowDtoNodesItem_Tool, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/update_workflow_dto_transcriber.py b/src/vapi/types/update_workflow_dto_transcriber.py index e8a25970..8418ec28 100644 --- a/src/vapi/types/update_workflow_dto_transcriber.py +++ b/src/vapi/types/update_workflow_dto_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class UpdateWorkflowDtoTranscriber_AssemblyAi(UncheckedBaseModel): @@ -206,18 +215,17 @@ class UpdateWorkflowDtoTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -294,7 +302,7 @@ class UpdateWorkflowDtoTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -516,6 +524,7 @@ class UpdateWorkflowDtoTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -527,6 +536,11 @@ class UpdateWorkflowDtoTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -543,6 +557,60 @@ class Config: extra = pydantic.Extra.allow +class UpdateWorkflowDtoTranscriber_Xai(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 UpdateWorkflowDtoTranscriber_Vapi(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + UpdateWorkflowDtoTranscriber = typing_extensions.Annotated[ typing.Union[ UpdateWorkflowDtoTranscriber_AssemblyAi, @@ -557,6 +625,8 @@ class Config: UpdateWorkflowDtoTranscriber_Openai, UpdateWorkflowDtoTranscriber_Cartesia, UpdateWorkflowDtoTranscriber_Soniox, + UpdateWorkflowDtoTranscriber_Xai, + UpdateWorkflowDtoTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/update_workflow_dto_voice.py b/src/vapi/types/update_workflow_dto_voice.py index 5e17af6a..216341fa 100644 --- a/src/vapi/types/update_workflow_dto_voice.py +++ b/src/vapi/types/update_workflow_dto_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class UpdateWorkflowDtoVoice_Azure(UncheckedBaseModel): @@ -607,7 +614,9 @@ class UpdateWorkflowDtoVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -616,9 +625,6 @@ class UpdateWorkflowDtoVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -751,6 +757,76 @@ class Config: extra = pydantic.Extra.allow +class UpdateWorkflowDtoVoice_Xai(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 UpdateWorkflowDtoVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + UpdateWorkflowDtoVoice = typing_extensions.Annotated[ typing.Union[ UpdateWorkflowDtoVoice_Azure, @@ -771,6 +847,8 @@ class Config: UpdateWorkflowDtoVoice_Sesame, UpdateWorkflowDtoVoice_Inworld, UpdateWorkflowDtoVoice_Minimax, + UpdateWorkflowDtoVoice_Xai, + UpdateWorkflowDtoVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/update_x_ai_credential_dto.py b/src/vapi/types/update_x_ai_credential_dto.py index 2f021f40..d8c2e2c3 100644 --- a/src/vapi/types/update_x_ai_credential_dto.py +++ b/src/vapi/types/update_x_ai_credential_dto.py @@ -7,9 +7,15 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .update_x_ai_credential_dto_provider import UpdateXAiCredentialDtoProvider class UpdateXAiCredentialDto(UncheckedBaseModel): + provider: typing.Optional[UpdateXAiCredentialDtoProvider] = pydantic.Field(default=None) + """ + This is the api key for Grok in XAi's console. Get it from here: https://console.x.ai + """ + api_key: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="apiKey"), diff --git a/src/vapi/types/update_x_ai_credential_dto_provider.py b/src/vapi/types/update_x_ai_credential_dto_provider.py new file mode 100644 index 00000000..28538ceb --- /dev/null +++ b/src/vapi/types/update_x_ai_credential_dto_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +UpdateXAiCredentialDtoProvider = typing.Union[typing.Literal["xai"], typing.Any] diff --git a/src/vapi/types/user_message.py b/src/vapi/types/user_message.py index de99da4f..ee40b1ae 100644 --- a/src/vapi/types/user_message.py +++ b/src/vapi/types/user_message.py @@ -10,6 +10,10 @@ class UserMessage(UncheckedBaseModel): + """ + A user-authored entry in the call message history, including content, timing, security-filter results, and optional speaker metadata. + """ + role: str = pydantic.Field() """ The role of the user in the conversation. diff --git a/src/vapi/types/vapi_cost.py b/src/vapi/types/vapi_cost.py index 78bc57aa..6a8445e9 100644 --- a/src/vapi/types/vapi_cost.py +++ b/src/vapi/types/vapi_cost.py @@ -11,6 +11,10 @@ class VapiCost(UncheckedBaseModel): + """ + Vapi platform cost for a call, including cost subtype, billable minutes, and amount. + """ + sub_type: typing_extensions.Annotated[ VapiCostSubType, FieldMetadata(alias="subType"), diff --git a/src/vapi/types/vapi_model.py b/src/vapi/types/vapi_model.py index 7b924f6e..50be00f7 100644 --- a/src/vapi/types/vapi_model.py +++ b/src/vapi/types/vapi_model.py @@ -11,9 +11,8 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage -from .vapi_model_provider import VapiModelProvider -from .vapi_model_tools_item import VapiModelToolsItem -from .workflow_user_editable import WorkflowUserEditable +from .tool_ref import ToolRef +from .vapi_model_version import VapiModelVersion class VapiModel(UncheckedBaseModel): @@ -22,7 +21,7 @@ class VapiModel(UncheckedBaseModel): This is the starting state for the conversation. """ - tools: typing.Optional[typing.List[VapiModelToolsItem]] = pydantic.Field(default=None) + tools: typing.Optional[typing.List["VapiModelToolsItem"]] = pydantic.Field(default=None) """ These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`. @@ -37,12 +36,37 @@ class VapiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), pydantic.Field(alias="knowledgeBase", description="These are the options for the knowledge base."), ] = None - provider: VapiModelProvider + model: typing.Optional[str] = pydantic.Field(default=None) + """ + White-label Vapi models are selected by `version`, not a model name, so + `model` is optional here (the runtime already accepts a version-only Vapi + payload). Overriding the required `ModelBase.model`: the declared type stays + `string` to match the base (avoids TS2416) and the `= undefined!` initializer + satisfies TS2612 for the field override, while `@IsOptional` + + `@ApiPropertyOptional` make validation and the generated OpenAPI schema treat + it as optional (so `VapiModel.required` is `['provider']`). + """ + + version: typing.Optional[VapiModelVersion] = pydantic.Field(default=None) + """ + Vapi-managed model version (update channel). When set, this is a Vapi-managed + LLM routed by the registry; when absent, this is the legacy workflow form + below (`steps` / `workflow`). + """ + workflow_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="workflowId"), @@ -51,29 +75,16 @@ class VapiModel(UncheckedBaseModel): description="This is the workflow that will be used for the call. To use a transient workflow, use `workflow` instead.", ), ] = None - workflow: typing.Optional[WorkflowUserEditable] = pydantic.Field(default=None) + workflow: typing.Optional["WorkflowUserEditable"] = pydantic.Field(default=None) """ This is the workflow that will be used for the call. To use an existing workflow, use `workflowId` instead. """ - model: str = pydantic.Field() - """ - This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b - """ - temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ - max_tokens: typing_extensions.Annotated[ - typing.Optional[float], - FieldMetadata(alias="maxTokens"), - pydantic.Field( - alias="maxTokens", - description="This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.", - ), - ] = None emotion_recognition_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="emotionRecognitionEnabled"), @@ -101,4 +112,141 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(VapiModel) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + VapiModel, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/vapi_model_tools_item.py b/src/vapi/types/vapi_model_tools_item.py index e816b22a..5daf47bb 100644 --- a/src/vapi/types/vapi_model_tools_item.py +++ b/src/vapi/types/vapi_model_tools_item.py @@ -67,6 +67,7 @@ class VapiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class VapiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +650,12 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 @@ -683,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -719,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/vapi_model_version.py b/src/vapi/types/vapi_model_version.py new file mode 100644 index 00000000..aa9f6bb5 --- /dev/null +++ b/src/vapi/types/vapi_model_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiModelVersion = typing.Union[typing.Literal["latest", "1"], typing.Any] diff --git a/src/vapi/types/vapi_phone_number.py b/src/vapi/types/vapi_phone_number.py index 5b2c2ce5..73ab948a 100644 --- a/src/vapi/types/vapi_phone_number.py +++ b/src/vapi/types/vapi_phone_number.py @@ -16,6 +16,10 @@ class VapiPhoneNumber(UncheckedBaseModel): + """ + A Vapi-managed phone number or SIP URI, including its authentication, routing, hooks, server settings, and lifecycle metadata. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[VapiPhoneNumberFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/vapi_pronunciation_dictionary_locator.py b/src/vapi/types/vapi_pronunciation_dictionary_locator.py index f9a2506e..0f453ca2 100644 --- a/src/vapi/types/vapi_pronunciation_dictionary_locator.py +++ b/src/vapi/types/vapi_pronunciation_dictionary_locator.py @@ -10,6 +10,10 @@ class VapiPronunciationDictionaryLocator(UncheckedBaseModel): + """ + Identifies a pronunciation dictionary and optional version used for voice synthesis. + """ + pronunciation_dict_id: typing_extensions.Annotated[ str, FieldMetadata(alias="pronunciationDictId"), diff --git a/src/vapi/types/vapi_sip_transport.py b/src/vapi/types/vapi_sip_transport.py new file mode 100644 index 00000000..429f29b7 --- /dev/null +++ b/src/vapi/types/vapi_sip_transport.py @@ -0,0 +1,47 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .vapi_sip_transport_conversation_type import VapiSipTransportConversationType + + +class VapiSipTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiSipTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + dial_timeout: typing_extensions.Annotated[ + typing.Optional[float], + FieldMetadata(alias="dialTimeout"), + pydantic.Field( + alias="dialTimeout", + description="This sets the timeout for outbound dial operations in seconds. This is the duration the call will ring before timing out.\n\n@default 60", + ), + ] = None + sbc_call_sid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="sbcCallSid"), + pydantic.Field(alias="sbcCallSid", description="This is the call SID of the Vapi SIP call."), + ] = None + call_sid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callSid"), + pydantic.Field(alias="callSid", description="This is the call ID of the Vapi SIP call."), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/vapi_sip_transport_conversation_type.py b/src/vapi/types/vapi_sip_transport_conversation_type.py new file mode 100644 index 00000000..08b08d54 --- /dev/null +++ b/src/vapi/types/vapi_sip_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiSipTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/vapi_smart_endpointing_plan.py b/src/vapi/types/vapi_smart_endpointing_plan.py index 305ba154..d08b9503 100644 --- a/src/vapi/types/vapi_smart_endpointing_plan.py +++ b/src/vapi/types/vapi_smart_endpointing_plan.py @@ -9,6 +9,10 @@ class VapiSmartEndpointingPlan(UncheckedBaseModel): + """ + Selects Vapi smart endpointing to determine when customer speech is complete. + """ + provider: VapiSmartEndpointingPlanProvider = pydantic.Field() """ This is the provider for the smart endpointing plan. diff --git a/src/vapi/types/vapi_transcriber.py b/src/vapi/types/vapi_transcriber.py new file mode 100644 index 00000000..f60125bf --- /dev/null +++ b/src/vapi/types/vapi_transcriber.py @@ -0,0 +1,64 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion + + +class VapiTranscriber(UncheckedBaseModel): + version: typing.Optional[VapiTranscriberVersion] = pydantic.Field(default=None) + """ + This is the version of the Vapi transcriber. Vapi manages the underlying + model and routing. When omitted, the latest version is used. + + Managed version params are additive-only and `'latest'` is an auto-update + channel — see the param-evolution INVARIANT in `vapiManaged/types.ts`. + """ + + language: typing.Optional[VapiTranscriberLanguage] = pydantic.Field(default=None) + """ + This is the language for transcription as an ISO 639-1 code (e.g. `en`). + Selecting a language locks transcription to it. For multiple languages, + use `languages` instead. When neither `language` nor `languages` is set, + the transcriber auto-detects the spoken language. + """ + + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = pydantic.Field(default=None) + """ + These are the languages for transcription as ISO 639-1 codes. Set one or + more codes to restrict and bias recognition to those languages. An empty + array `[]` (or omitting both this and `language`) enables auto-detection + of the spoken language. + """ + + keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + These are custom keywords/vocabulary to boost recognition of use-case + specific words (company names, product names, jargon). + """ + + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field( + alias="turnTaking", + description="This is the turn-taking mode. `intelligent` uses the underlying model's\nnative end-of-turn detection; `manual` ignores it and waits a fixed\nend-of-turn delay. Defaults to `intelligent`.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/vapi_transcriber_language.py b/src/vapi/types/vapi_transcriber_language.py new file mode 100644 index 00000000..0f0c21a8 --- /dev/null +++ b/src/vapi/types/vapi_transcriber_language.py @@ -0,0 +1,194 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiTranscriberLanguage = typing.Union[ + typing.Literal[ + "aa", + "ab", + "ae", + "af", + "ak", + "am", + "an", + "ar", + "as", + "av", + "ay", + "az", + "ba", + "be", + "bg", + "bh", + "bi", + "bm", + "bn", + "bo", + "br", + "bs", + "ca", + "ce", + "ch", + "co", + "cr", + "cs", + "cu", + "cv", + "cy", + "da", + "de", + "dv", + "dz", + "ee", + "el", + "en", + "eo", + "es", + "et", + "eu", + "fa", + "ff", + "fi", + "fj", + "fo", + "fr", + "fy", + "ga", + "gd", + "gl", + "gn", + "gu", + "gv", + "ha", + "he", + "hi", + "ho", + "hr", + "ht", + "hu", + "hy", + "hz", + "ia", + "id", + "ie", + "ig", + "ii", + "ik", + "io", + "is", + "it", + "iu", + "ja", + "jv", + "ka", + "kg", + "ki", + "kj", + "kk", + "kl", + "km", + "kn", + "ko", + "kr", + "ks", + "ku", + "kv", + "kw", + "ky", + "la", + "lb", + "lg", + "li", + "ln", + "lo", + "lt", + "lu", + "lv", + "mg", + "mh", + "mi", + "mk", + "ml", + "mn", + "mr", + "ms", + "mt", + "my", + "na", + "nb", + "nd", + "ne", + "ng", + "nl", + "nn", + "no", + "nr", + "nv", + "ny", + "oc", + "oj", + "om", + "or", + "os", + "pa", + "pi", + "pl", + "ps", + "pt", + "qu", + "rm", + "rn", + "ro", + "ru", + "rw", + "sa", + "sc", + "sd", + "se", + "sg", + "si", + "sk", + "sl", + "sm", + "sn", + "so", + "sq", + "sr", + "ss", + "st", + "su", + "sv", + "sw", + "ta", + "te", + "tg", + "th", + "ti", + "tk", + "tl", + "tn", + "to", + "tr", + "ts", + "tt", + "tw", + "ty", + "ug", + "uk", + "ur", + "uz", + "ve", + "vi", + "vo", + "wa", + "wo", + "xh", + "yi", + "yue", + "yo", + "za", + "zh", + "zu", + ], + typing.Any, +] diff --git a/src/vapi/types/vapi_transcriber_languages_item.py b/src/vapi/types/vapi_transcriber_languages_item.py new file mode 100644 index 00000000..ba57d832 --- /dev/null +++ b/src/vapi/types/vapi_transcriber_languages_item.py @@ -0,0 +1,194 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiTranscriberLanguagesItem = typing.Union[ + typing.Literal[ + "aa", + "ab", + "ae", + "af", + "ak", + "am", + "an", + "ar", + "as", + "av", + "ay", + "az", + "ba", + "be", + "bg", + "bh", + "bi", + "bm", + "bn", + "bo", + "br", + "bs", + "ca", + "ce", + "ch", + "co", + "cr", + "cs", + "cu", + "cv", + "cy", + "da", + "de", + "dv", + "dz", + "ee", + "el", + "en", + "eo", + "es", + "et", + "eu", + "fa", + "ff", + "fi", + "fj", + "fo", + "fr", + "fy", + "ga", + "gd", + "gl", + "gn", + "gu", + "gv", + "ha", + "he", + "hi", + "ho", + "hr", + "ht", + "hu", + "hy", + "hz", + "ia", + "id", + "ie", + "ig", + "ii", + "ik", + "io", + "is", + "it", + "iu", + "ja", + "jv", + "ka", + "kg", + "ki", + "kj", + "kk", + "kl", + "km", + "kn", + "ko", + "kr", + "ks", + "ku", + "kv", + "kw", + "ky", + "la", + "lb", + "lg", + "li", + "ln", + "lo", + "lt", + "lu", + "lv", + "mg", + "mh", + "mi", + "mk", + "ml", + "mn", + "mr", + "ms", + "mt", + "my", + "na", + "nb", + "nd", + "ne", + "ng", + "nl", + "nn", + "no", + "nr", + "nv", + "ny", + "oc", + "oj", + "om", + "or", + "os", + "pa", + "pi", + "pl", + "ps", + "pt", + "qu", + "rm", + "rn", + "ro", + "ru", + "rw", + "sa", + "sc", + "sd", + "se", + "sg", + "si", + "sk", + "sl", + "sm", + "sn", + "so", + "sq", + "sr", + "ss", + "st", + "su", + "sv", + "sw", + "ta", + "te", + "tg", + "th", + "ti", + "tk", + "tl", + "tn", + "to", + "tr", + "ts", + "tt", + "tw", + "ty", + "ug", + "uk", + "ur", + "uz", + "ve", + "vi", + "vo", + "wa", + "wo", + "xh", + "yi", + "yue", + "yo", + "za", + "zh", + "zu", + ], + typing.Any, +] diff --git a/src/vapi/types/vapi_transcriber_turn_taking.py b/src/vapi/types/vapi_transcriber_turn_taking.py new file mode 100644 index 00000000..f06633e9 --- /dev/null +++ b/src/vapi/types/vapi_transcriber_turn_taking.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiTranscriberTurnTaking = typing.Union[typing.Literal["intelligent", "manual"], typing.Any] diff --git a/src/vapi/types/vapi_transcriber_version.py b/src/vapi/types/vapi_transcriber_version.py new file mode 100644 index 00000000..3cc82a0c --- /dev/null +++ b/src/vapi/types/vapi_transcriber_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiTranscriberVersion = typing.Union[typing.Literal["latest", "1"], typing.Any] diff --git a/src/vapi/types/vapi_voice.py b/src/vapi/types/vapi_voice.py index b41584f5..526f12b1 100644 --- a/src/vapi/types/vapi_voice.py +++ b/src/vapi/types/vapi_voice.py @@ -8,12 +8,17 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .chunk_plan import ChunkPlan -from .fallback_plan import FallbackPlan from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId class VapiVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with Vapi, including voice selection, speed, pronunciation dictionary, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), @@ -26,6 +31,11 @@ class VapiVoice(UncheckedBaseModel): FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId", description="The voices provided by Vapi"), ] + version: typing.Optional[VapiVoiceVersion] = pydantic.Field(default=None) + """ + The Vapi voice routing generation. `latest` auto-updates to the newest generation; version 1 uses legacy mappings; version 2 can use xAI-backed voices when available. When omitted, Version 1 is used. Accepts the string channel ('latest', '1', '2'); legacy numeric values (1, 2) are also accepted and coerced to their string form. + """ + speed: typing.Optional[float] = pydantic.Field(default=None) """ This is the speed multiplier that will be used. @@ -33,6 +43,11 @@ class VapiVoice(UncheckedBaseModel): @default 1 """ + language: typing.Optional[VapiVoiceLanguage] = pydantic.Field(default=None) + """ + Language for Vapi voice synthesis. For Version 2, omit this field or set `auto` for automatic language detection. Version 1 supports legacy Vapi language values. + """ + pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -49,14 +64,6 @@ class VapiVoice(UncheckedBaseModel): description="This is the plan for chunking the model output before it is sent to the voice provider.", ), ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], - FieldMetadata(alias="fallbackPlan"), - pydantic.Field( - alias="fallbackPlan", - description="This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", - ), - ] = 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/vapi/types/vapi_voice_language.py b/src/vapi/types/vapi_voice_language.py new file mode 100644 index 00000000..495aff34 --- /dev/null +++ b/src/vapi/types/vapi_voice_language.py @@ -0,0 +1,66 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiVoiceLanguage = typing.Union[ + typing.Literal[ + "en-US", + "en-GB", + "en-AU", + "en-CA", + "ja", + "zh", + "de", + "hi", + "fr-FR", + "fr-CA", + "ko", + "pt-BR", + "pt-PT", + "it", + "es-ES", + "es-MX", + "id", + "nl", + "tr", + "fil", + "pl", + "sv", + "bg", + "ro", + "ar-SA", + "ar-AE", + "cs", + "el", + "fi", + "hr", + "ms", + "sk", + "da", + "ta", + "uk", + "ru", + "hu", + "no", + "vi", + "auto", + "en", + "ar", + "ar-EG", + "bn", + "es", + "fr", + "gu", + "he", + "ka", + "kn", + "ml", + "mr", + "pa", + "pt", + "te", + "th", + "tl", + ], + typing.Any, +] diff --git a/src/vapi/types/vapi_voice_version.py b/src/vapi/types/vapi_voice_version.py new file mode 100644 index 00000000..2e1f8c21 --- /dev/null +++ b/src/vapi/types/vapi_voice_version.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiVoiceVersion = typing.Union[typing.Literal["1", "2", "latest"], typing.Any] diff --git a/src/vapi/types/vapi_voice_voice_id.py b/src/vapi/types/vapi_voice_voice_id.py index af2383ba..35ae2ca2 100644 --- a/src/vapi/types/vapi_voice_voice_id.py +++ b/src/vapi/types/vapi_voice_voice_id.py @@ -6,25 +6,25 @@ typing.Literal[ "Clara", "Godfrey", + "Elliot", + "Savannah", + "Nico", + "Kai", + "Emma", + "Sagar", + "Neil", "Layla", "Sid", "Gustavo", - "Elliot", "Kylie", "Rohan", "Lily", - "Savannah", "Hana", "Neha", "Cole", "Harry", "Paige", "Spencer", - "Nico", - "Kai", - "Emma", - "Sagar", - "Neil", "Naina", "Leah", "Tara", diff --git a/src/vapi/types/vapi_voicemail_detection_plan.py b/src/vapi/types/vapi_voicemail_detection_plan.py index 56dbe8fb..21de204f 100644 --- a/src/vapi/types/vapi_voicemail_detection_plan.py +++ b/src/vapi/types/vapi_voicemail_detection_plan.py @@ -13,6 +13,10 @@ class VapiVoicemailDetectionPlan(UncheckedBaseModel): + """ + Configuration for detecting voicemail with Vapi, including detection type, maximum beep wait, and retry backoff. + """ + beep_max_await_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="beepMaxAwaitSeconds"), diff --git a/src/vapi/types/vapi_web_call_transport.py b/src/vapi/types/vapi_web_call_transport.py new file mode 100644 index 00000000..fb26be01 --- /dev/null +++ b/src/vapi/types/vapi_web_call_transport.py @@ -0,0 +1,47 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .vapi_web_call_transport_conversation_type import VapiWebCallTransportConversationType + + +class VapiWebCallTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebCallTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + room_delete_on_user_leave_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="roomDeleteOnUserLeaveEnabled"), + pydantic.Field( + alias="roomDeleteOnUserLeaveEnabled", + description="This determines whether the daily room will be deleted and all participants will be kicked once the user leaves the room.\nIf set to `false`, the room will be kept alive even after the user leaves, allowing clients to reconnect to the same room.\nIf set to `true`, the room will be deleted and reconnection will not be allowed.\n\nDefaults to `true`.", + ), + ] = None + call_url: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callUrl"), + pydantic.Field(alias="callUrl", description="This is the URL of the web call."), + ] = None + call_sip_uri: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callSipUri"), + pydantic.Field(alias="callSipUri", description="This is the SIP URI of the web call."), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/vapi_web_call_transport_conversation_type.py b/src/vapi/types/vapi_web_call_transport_conversation_type.py new file mode 100644 index 00000000..efcc8226 --- /dev/null +++ b/src/vapi/types/vapi_web_call_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiWebCallTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/vapi_websocket_transport.py b/src/vapi/types/vapi_websocket_transport.py new file mode 100644 index 00000000..1166355a --- /dev/null +++ b/src/vapi/types/vapi_websocket_transport.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .audio_format import AudioFormat +from .vapi_websocket_transport_conversation_type import VapiWebsocketTransportConversationType + + +class VapiWebsocketTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[VapiWebsocketTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + audio_format: typing_extensions.Annotated[ + typing.Optional[AudioFormat], + FieldMetadata(alias="audioFormat"), + pydantic.Field( + alias="audioFormat", description="This is the audio format of the call. Defaults to 16KHz raw pcm_s16le" + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/vapi_websocket_transport_conversation_type.py b/src/vapi/types/vapi_websocket_transport_conversation_type.py new file mode 100644 index 00000000..1ab2e719 --- /dev/null +++ b/src/vapi/types/vapi_websocket_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VapiWebsocketTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/variable_extraction_alias.py b/src/vapi/types/variable_extraction_alias.py index 1faa57f3..bb298ef5 100644 --- a/src/vapi/types/variable_extraction_alias.py +++ b/src/vapi/types/variable_extraction_alias.py @@ -8,6 +8,10 @@ class VariableExtractionAlias(UncheckedBaseModel): + """ + Defines an additional Liquid-based variable from values extracted during a call. + """ + key: str = pydantic.Field() """ This is the key of the variable. diff --git a/src/vapi/types/variable_extraction_plan.py b/src/vapi/types/variable_extraction_plan.py index 7c4e75f5..5511c2bb 100644 --- a/src/vapi/types/variable_extraction_plan.py +++ b/src/vapi/types/variable_extraction_plan.py @@ -13,6 +13,10 @@ class VariableExtractionPlan(UncheckedBaseModel): + """ + Defines structured variables to extract and optional aliases made available during and after a call. + """ + schema_: typing_extensions.Annotated[ typing.Optional["JsonSchema"], FieldMetadata(alias="schema"), diff --git a/src/vapi/types/variable_value_group_by.py b/src/vapi/types/variable_value_group_by.py index b85502ef..422c578b 100644 --- a/src/vapi/types/variable_value_group_by.py +++ b/src/vapi/types/variable_value_group_by.py @@ -8,6 +8,10 @@ class VariableValueGroupBy(UncheckedBaseModel): + """ + Groups analytics results by a selected assistant variable-value key. + """ + key: str = pydantic.Field() """ This is the key of the variable value to group by. diff --git a/src/vapi/types/trieve_knowledge_base_create.py b/src/vapi/types/version_pin_conflict_response_dto.py similarity index 51% rename from src/vapi/types/trieve_knowledge_base_create.py rename to src/vapi/types/version_pin_conflict_response_dto.py index 6998e94f..e7bb902f 100644 --- a/src/vapi/types/trieve_knowledge_base_create.py +++ b/src/vapi/types/version_pin_conflict_response_dto.py @@ -7,20 +7,21 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel -from .trieve_knowledge_base_chunk_plan import TrieveKnowledgeBaseChunkPlan -from .trieve_knowledge_base_create_type import TrieveKnowledgeBaseCreateType +from .version_pin_conflict_response_dto_error import VersionPinConflictResponseDtoError +from .version_pin_reference import VersionPinReference -class TrieveKnowledgeBaseCreate(UncheckedBaseModel): - type: TrieveKnowledgeBaseCreateType = pydantic.Field() +class VersionPinConflictResponseDto(UncheckedBaseModel): + error: VersionPinConflictResponseDtoError + message: str = pydantic.Field() """ - This is to create a new dataset on Trieve. + Human-readable reason the delete was rejected. """ - chunk_plans: typing_extensions.Annotated[ - typing.List[TrieveKnowledgeBaseChunkPlan], - FieldMetadata(alias="chunkPlans"), - pydantic.Field(alias="chunkPlans", description="These are the chunk plans used to create the dataset."), + pinned_by: typing_extensions.Annotated[ + typing.List[VersionPinReference], + FieldMetadata(alias="pinnedBy"), + pydantic.Field(alias="pinnedBy", description="Pins that block the delete."), ] if IS_PYDANTIC_V2: diff --git a/src/vapi/types/version_pin_conflict_response_dto_error.py b/src/vapi/types/version_pin_conflict_response_dto_error.py new file mode 100644 index 00000000..429cb110 --- /dev/null +++ b/src/vapi/types/version_pin_conflict_response_dto_error.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VersionPinConflictResponseDtoError = typing.Union[typing.Literal["version_pinned"], typing.Any] diff --git a/src/vapi/types/version_pin_reference.py b/src/vapi/types/version_pin_reference.py new file mode 100644 index 00000000..389b93f1 --- /dev/null +++ b/src/vapi/types/version_pin_reference.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .version_pin_reference_source_type import VersionPinReferenceSourceType + + +class VersionPinReference(UncheckedBaseModel): + source_type: typing_extensions.Annotated[ + VersionPinReferenceSourceType, + FieldMetadata(alias="sourceType"), + pydantic.Field(alias="sourceType", description="Kind of source row the pin originates from."), + ] + source_id: typing_extensions.Annotated[ + str, + FieldMetadata(alias="sourceId"), + pydantic.Field(alias="sourceId", description="UUID of the source row (polymorphic, not FK-enforced)."), + ] + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/version_pin_reference_source_type.py b/src/vapi/types/version_pin_reference_source_type.py new file mode 100644 index 00000000..8c18e29d --- /dev/null +++ b/src/vapi/types/version_pin_reference_source_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VersionPinReferenceSourceType = typing.Union[typing.Literal["assistant_version", "squad", "tool_version"], typing.Any] diff --git a/src/vapi/types/voice_cost.py b/src/vapi/types/voice_cost.py index 30d3ef54..c3aa5070 100644 --- a/src/vapi/types/voice_cost.py +++ b/src/vapi/types/voice_cost.py @@ -8,6 +8,10 @@ class VoiceCost(UncheckedBaseModel): + """ + Voice-synthesis cost for a call, including voice, character usage, and amount. + """ + voice: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the voice that was used during the call. diff --git a/src/vapi/types/voice_library_voice_response.py b/src/vapi/types/voice_library_voice_response.py index 9f914cf9..0260aba4 100644 --- a/src/vapi/types/voice_library_voice_response.py +++ b/src/vapi/types/voice_library_voice_response.py @@ -7,9 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .voice_library_voice_response_age import VoiceLibraryVoiceResponseAge class VoiceLibraryVoiceResponse(UncheckedBaseModel): + age: typing.Optional[VoiceLibraryVoiceResponseAge] = None voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId")] name: str public_owner_id: typing_extensions.Annotated[ @@ -17,7 +19,6 @@ class VoiceLibraryVoiceResponse(UncheckedBaseModel): ] = None description: typing.Optional[str] = None gender: typing.Optional[str] = None - age: typing.Optional[typing.Dict[str, typing.Any]] = None accent: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/vapi/types/voice_library_voice_response_age.py b/src/vapi/types/voice_library_voice_response_age.py new file mode 100644 index 00000000..137502c3 --- /dev/null +++ b/src/vapi/types/voice_library_voice_response_age.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VoiceLibraryVoiceResponseAge = typing.Union[str, float] diff --git a/src/vapi/types/voicemail_detection_backoff_plan.py b/src/vapi/types/voicemail_detection_backoff_plan.py index 54e70dd0..3bbbb2c8 100644 --- a/src/vapi/types/voicemail_detection_backoff_plan.py +++ b/src/vapi/types/voicemail_detection_backoff_plan.py @@ -10,6 +10,10 @@ class VoicemailDetectionBackoffPlan(UncheckedBaseModel): + """ + Controls voicemail-detection retry timing, including when retries start, retry frequency, and maximum attempts. + """ + start_at_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="startAtSeconds"), diff --git a/src/vapi/types/voicemail_detection_cost.py b/src/vapi/types/voicemail_detection_cost.py index 926ee994..2b7154ed 100644 --- a/src/vapi/types/voicemail_detection_cost.py +++ b/src/vapi/types/voicemail_detection_cost.py @@ -11,6 +11,10 @@ class VoicemailDetectionCost(UncheckedBaseModel): + """ + Voicemail-detection model cost, including provider, model, multimodal token usage, and amount. + """ + model: typing.Dict[str, typing.Any] = pydantic.Field() """ This is the model that was used to perform the analysis. diff --git a/src/vapi/types/voicemail_tool.py b/src/vapi/types/voicemail_tool.py index 8788d2fd..228a66b9 100644 --- a/src/vapi/types/voicemail_tool.py +++ b/src/vapi/types/voicemail_tool.py @@ -15,11 +15,16 @@ class VoicemailTool(UncheckedBaseModel): + """ + A reusable voicemail-detection tool with optional beep detection for supported calls. + """ + + latest_version: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="latestVersion"), pydantic.Field(alias="latestVersion") + ] = None messages: typing.Optional[typing.List[VoicemailToolMessagesItem]] = pydantic.Field(default=None) """ - These are the messages that will be spoken to the user as the tool is running. - - For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured. + Messages spoken while the tool is running. Multiple request-start messages are variants. For request-response-delayed, same timing means variants and different timings mean staged updates. """ beep_detection_enabled: typing_extensions.Annotated[ diff --git a/src/vapi/types/voicemail_tool_messages_item.py b/src/vapi/types/voicemail_tool_messages_item.py index d065dafe..c61515eb 100644 --- a/src/vapi/types/voicemail_tool_messages_item.py +++ b/src/vapi/types/voicemail_tool_messages_item.py @@ -12,6 +12,7 @@ from .condition import Condition from .text_content import TextContent from .tool_message_complete_role import ToolMessageCompleteRole +from .tool_message_failed_role import ToolMessageFailedRole class VoicemailToolMessagesItem_RequestStart(UncheckedBaseModel): @@ -56,6 +57,7 @@ class Config: class VoicemailToolMessagesItem_RequestFailed(UncheckedBaseModel): type: typing.Literal["request-failed"] = "request-failed" contents: typing.Optional[typing.List[TextContent]] = None + role: typing.Optional[ToolMessageFailedRole] = None end_call_after_spoken_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled"), diff --git a/src/vapi/types/vonage_phone_number.py b/src/vapi/types/vonage_phone_number.py index 940e8d6e..f9115043 100644 --- a/src/vapi/types/vonage_phone_number.py +++ b/src/vapi/types/vonage_phone_number.py @@ -15,6 +15,10 @@ class VonagePhoneNumber(UncheckedBaseModel): + """ + A Vonage phone number connected to Vapi, including its credential, routing, hooks, server settings, and lifecycle metadata. + """ + fallback_destination: typing_extensions.Annotated[ typing.Optional[VonagePhoneNumberFallbackDestination], FieldMetadata(alias="fallbackDestination"), diff --git a/src/vapi/types/vonage_transport.py b/src/vapi/types/vonage_transport.py new file mode 100644 index 00000000..dd039079 --- /dev/null +++ b/src/vapi/types/vonage_transport.py @@ -0,0 +1,39 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .vonage_transport_conversation_type import VonageTransportConversationType + + +class VonageTransport(UncheckedBaseModel): + conversation_type: typing_extensions.Annotated[ + typing.Optional[VonageTransportConversationType], + FieldMetadata(alias="conversationType"), + pydantic.Field( + alias="conversationType", description="This is the conversation type of the call (ie, voice or chat)." + ), + ] = None + conversation_uuid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="conversationUUID"), + pydantic.Field(alias="conversationUUID", description="This is the conversation UUID of the Vonage call."), + ] = None + call_uuid: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="callUUID"), + pydantic.Field(alias="callUUID", description="This is the call ID of the Vonage call."), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/vonage_transport_conversation_type.py b/src/vapi/types/vonage_transport_conversation_type.py new file mode 100644 index 00000000..9aeff932 --- /dev/null +++ b/src/vapi/types/vonage_transport_conversation_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +VonageTransportConversationType = typing.Union[typing.Literal["voice"], typing.Any] diff --git a/src/vapi/types/well_said_voice.py b/src/vapi/types/well_said_voice.py index d9dacf36..acc63328 100644 --- a/src/vapi/types/well_said_voice.py +++ b/src/vapi/types/well_said_voice.py @@ -13,6 +13,10 @@ class WellSaidVoice(UncheckedBaseModel): + """ + Configuration for synthesizing assistant speech with WellSaid, including voice and model selection, Speech Synthesis Markup Language support, voice libraries, chunking, caching, and fallback settings. + """ + caching_enabled: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), diff --git a/src/vapi/types/workflow_anthropic_bedrock_model.py b/src/vapi/types/workflow_anthropic_bedrock_model.py index 00245be6..29b00d08 100644 --- a/src/vapi/types/workflow_anthropic_bedrock_model.py +++ b/src/vapi/types/workflow_anthropic_bedrock_model.py @@ -8,10 +8,29 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel class WorkflowAnthropicBedrockModel(UncheckedBaseModel): + """ + Workflow model configuration for Anthropic through Amazon Bedrock, including model selection, thinking, temperature, and maximum output tokens. + """ + + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) + """ + These are the messages used to customize the prompt used for structured output extraction. + + When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: + - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) + - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` + + `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + + If not provided, default system and user prompts are used. + """ + model: WorkflowAnthropicBedrockModelModel = pydantic.Field() """ This is the specific model that will be used. diff --git a/src/vapi/types/workflow_anthropic_bedrock_model_model.py b/src/vapi/types/workflow_anthropic_bedrock_model_model.py index 6eed238b..de14e447 100644 --- a/src/vapi/types/workflow_anthropic_bedrock_model_model.py +++ b/src/vapi/types/workflow_anthropic_bedrock_model_model.py @@ -18,6 +18,7 @@ "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", "claude-haiku-4-5-20251001", + "global.anthropic.claude-haiku-4-5-20251001-v1:0", ], typing.Any, ] diff --git a/src/vapi/types/workflow_anthropic_model.py b/src/vapi/types/workflow_anthropic_model.py index d69497e2..bc678c4a 100644 --- a/src/vapi/types/workflow_anthropic_model.py +++ b/src/vapi/types/workflow_anthropic_model.py @@ -8,10 +8,29 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_model_model import WorkflowAnthropicModelModel class WorkflowAnthropicModel(UncheckedBaseModel): + """ + Workflow model configuration for Anthropic, including model selection, thinking, temperature, and maximum output tokens. + """ + + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) + """ + These are the messages used to customize the prompt used for structured output extraction. + + When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: + - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) + - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` + + `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + + If not provided, default system and user prompts are used. + """ + model: WorkflowAnthropicModelModel = pydantic.Field() """ This is the specific model that will be used. diff --git a/src/vapi/types/workflow_anthropic_model_model.py b/src/vapi/types/workflow_anthropic_model_model.py index 86e8e098..406265c4 100644 --- a/src/vapi/types/workflow_anthropic_model_model.py +++ b/src/vapi/types/workflow_anthropic_model_model.py @@ -17,6 +17,7 @@ "claude-sonnet-4-20250514", "claude-sonnet-4-5-20250929", "claude-sonnet-4-6", + "claude-sonnet-5", "claude-haiku-4-5-20251001", ], typing.Any, diff --git a/src/vapi/types/workflow_credentials_item.py b/src/vapi/types/workflow_credentials_item.py index 9d4dca7b..78808175 100644 --- a/src/vapi/types/workflow_credentials_item.py +++ b/src/vapi/types/workflow_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class WorkflowCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class WorkflowCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class WorkflowCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class WorkflowCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 WorkflowCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class WorkflowCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class WorkflowCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class WorkflowCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class WorkflowCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class WorkflowCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class WorkflowCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class WorkflowCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: WorkflowCredentialsItem_RimeAi, WorkflowCredentialsItem_Runpod, WorkflowCredentialsItem_S3, + WorkflowCredentialsItem_S3Compatible, WorkflowCredentialsItem_Supabase, WorkflowCredentialsItem_SmallestAi, WorkflowCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: WorkflowCredentialsItem_Webhook, WorkflowCredentialsItem_CustomCredential, WorkflowCredentialsItem_Xai, + WorkflowCredentialsItem_Microsoft, WorkflowCredentialsItem_Neuphonic, WorkflowCredentialsItem_Hume, WorkflowCredentialsItem_Mistral, WorkflowCredentialsItem_Speechmatics, WorkflowCredentialsItem_Soniox, - WorkflowCredentialsItem_Trieve, WorkflowCredentialsItem_GoogleCalendarOauth2Client, WorkflowCredentialsItem_GoogleCalendarOauth2Authorization, WorkflowCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/workflow_custom_model.py b/src/vapi/types/workflow_custom_model.py index 19d8f975..77fd390f 100644 --- a/src/vapi/types/workflow_custom_model.py +++ b/src/vapi/types/workflow_custom_model.py @@ -7,10 +7,29 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .open_ai_message import OpenAiMessage from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode class WorkflowCustomModel(UncheckedBaseModel): + """ + Workflow model configuration for a custom language model endpoint, including URL, headers, metadata delivery, timeout, model, temperature, and maximum output tokens. + """ + + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) + """ + These are the messages used to customize the prompt used for structured output extraction. + + When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: + - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) + - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` + + `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + + If not provided, default system and user prompts are used. + """ + metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/workflow_google_model.py b/src/vapi/types/workflow_google_model.py index 3d3f8bd1..45ab2911 100644 --- a/src/vapi/types/workflow_google_model.py +++ b/src/vapi/types/workflow_google_model.py @@ -7,10 +7,29 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .open_ai_message import OpenAiMessage from .workflow_google_model_model import WorkflowGoogleModelModel class WorkflowGoogleModel(UncheckedBaseModel): + """ + Workflow model configuration for Google, including model selection, temperature, and maximum output tokens. + """ + + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) + """ + These are the messages used to customize the prompt used for structured output extraction. + + When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: + - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) + - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` + + `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + + If not provided, default system and user prompts are used. + """ + model: WorkflowGoogleModelModel = pydantic.Field() """ This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b diff --git a/src/vapi/types/workflow_google_model_model.py b/src/vapi/types/workflow_google_model_model.py index acdcaf33..602f9217 100644 --- a/src/vapi/types/workflow_google_model_model.py +++ b/src/vapi/types/workflow_google_model_model.py @@ -4,6 +4,8 @@ WorkflowGoogleModelModel = typing.Union[ typing.Literal[ + "gemini-3.5-flash", + "gemini-3.1-flash-lite", "gemini-3-flash-preview", "gemini-2.5-pro", "gemini-2.5-flash", diff --git a/src/vapi/types/workflow_model.py b/src/vapi/types/workflow_model.py index a1c5e861..2e5066fd 100644 --- a/src/vapi/types/workflow_model.py +++ b/src/vapi/types/workflow_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -25,6 +26,7 @@ class WorkflowModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -49,6 +51,7 @@ class WorkflowModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -74,6 +77,7 @@ class WorkflowModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -99,6 +103,7 @@ class WorkflowModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -123,6 +128,7 @@ class WorkflowModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/workflow_nodes_item.py b/src/vapi/types/workflow_nodes_item.py index 888e390e..a580a13b 100644 --- a/src/vapi/types/workflow_nodes_item.py +++ b/src/vapi/types/workflow_nodes_item.py @@ -10,11 +10,9 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .conversation_node_model import ConversationNodeModel -from .conversation_node_tools_item import ConversationNodeToolsItem from .conversation_node_transcriber import ConversationNodeTranscriber from .conversation_node_voice import ConversationNodeVoice from .global_node_plan import GlobalNodePlan -from .tool_node_tool import ToolNodeTool from .variable_extraction_plan import VariableExtractionPlan @@ -23,7 +21,7 @@ class WorkflowNodesItem_Conversation(UncheckedBaseModel): model: typing.Optional[ConversationNodeModel] = None transcriber: typing.Optional[ConversationNodeTranscriber] = None voice: typing.Optional[ConversationNodeVoice] = None - tools: typing.Optional[typing.List[ConversationNodeToolsItem]] = None + tools: typing.Optional[typing.List["ConversationNodeToolsItem"]] = None tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None @@ -54,7 +52,7 @@ class Config: class WorkflowNodesItem_Tool(UncheckedBaseModel): type: typing.Literal["tool"] = "tool" - tool: typing.Optional[ToolNodeTool] = None + tool: typing.Optional["ToolNodeTool"] = None tool_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="toolId"), pydantic.Field(alias="toolId") ] = None @@ -77,5 +75,212 @@ class Config: WorkflowNodesItem = typing_extensions.Annotated[ typing.Union[WorkflowNodesItem_Conversation, WorkflowNodesItem_Tool], UnionMetadata(discriminant="type") ] -update_forward_refs(WorkflowNodesItem_Conversation) -update_forward_refs(WorkflowNodesItem_Tool) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 + +update_forward_refs( + WorkflowNodesItem_Conversation, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + WorkflowNodesItem_Tool, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/workflow_open_ai_model.py b/src/vapi/types/workflow_open_ai_model.py index 0493901a..00b5efcd 100644 --- a/src/vapi/types/workflow_open_ai_model.py +++ b/src/vapi/types/workflow_open_ai_model.py @@ -7,10 +7,29 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2 from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel +from .open_ai_message import OpenAiMessage from .workflow_open_ai_model_model import WorkflowOpenAiModelModel class WorkflowOpenAiModel(UncheckedBaseModel): + """ + Workflow model configuration for OpenAI, including model selection, temperature, and maximum output tokens. + """ + + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) + """ + These are the messages used to customize the prompt used for structured output extraction. + + When provided, these messages replace the default prompts. Message contents support LiquidJS templating with the following variables: + - `{{transcript}}` or `{{messages}}` to reference the conversation (one is required) + - `{{structuredOutput.name}}`, `{{structuredOutput.description}}`, or `{{structuredOutput.schema}}` to reference the structured output definition (one is required) + - `{{systemPrompt}}`, `{{callEndedReason}}`, `{{duration}}`, `{{startedAt}}`, `{{endedAt}}`, and any `assistantOverrides.variableValues` + + `{{messages}}` is the full message history including tool calls; `{{transcript}}` is the spoken text only, which uses significantly fewer tokens. + + If not provided, default system and user prompts are used. + """ + model: WorkflowOpenAiModelModel = pydantic.Field() """ This is the OpenAI model that will be used. diff --git a/src/vapi/types/workflow_open_ai_model_model.py b/src/vapi/types/workflow_open_ai_model_model.py index d1adbdeb..e67bf4a2 100644 --- a/src/vapi/types/workflow_open_ai_model_model.py +++ b/src/vapi/types/workflow_open_ai_model_model.py @@ -4,6 +4,11 @@ WorkflowOpenAiModelModel = typing.Union[ typing.Literal[ + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna", + "gpt-5.5", + "chat-latest", "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", @@ -117,6 +122,9 @@ "gpt-3.5-turbo-0125:southcentralus", "gpt-3.5-turbo-1106:canadaeast", "gpt-3.5-turbo-1106:westus", + "gpt-4.1:australiaeast", + "gpt-4o:australiaeast", + "gpt-5.4-mini:australiaeast", ], typing.Any, ] diff --git a/src/vapi/types/workflow_overrides.py b/src/vapi/types/workflow_overrides.py index e73980f2..42b32cc4 100644 --- a/src/vapi/types/workflow_overrides.py +++ b/src/vapi/types/workflow_overrides.py @@ -10,6 +10,10 @@ class WorkflowOverrides(UncheckedBaseModel): + """ + Per-call overrides for values used in workflow template variables. + """ + variable_values: typing_extensions.Annotated[ typing.Optional[typing.Dict[str, typing.Any]], FieldMetadata(alias="variableValues"), diff --git a/src/vapi/types/workflow_transcriber.py b/src/vapi/types/workflow_transcriber.py index fe79cee9..090c4cbf 100644 --- a/src/vapi/types/workflow_transcriber.py +++ b/src/vapi/types/workflow_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class WorkflowTranscriber_AssemblyAi(UncheckedBaseModel): @@ -206,18 +215,17 @@ class WorkflowTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -294,7 +302,7 @@ class WorkflowTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -516,6 +524,7 @@ class WorkflowTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -527,6 +536,11 @@ class WorkflowTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -543,6 +557,60 @@ class Config: extra = pydantic.Extra.allow +class WorkflowTranscriber_Xai(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 WorkflowTranscriber_Vapi(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + WorkflowTranscriber = typing_extensions.Annotated[ typing.Union[ WorkflowTranscriber_AssemblyAi, @@ -557,6 +625,8 @@ class Config: WorkflowTranscriber_Openai, WorkflowTranscriber_Cartesia, WorkflowTranscriber_Soniox, + WorkflowTranscriber_Xai, + WorkflowTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/workflow_user_editable.py b/src/vapi/types/workflow_user_editable.py index 69d29527..0ff502d5 100644 --- a/src/vapi/types/workflow_user_editable.py +++ b/src/vapi/types/workflow_user_editable.py @@ -22,16 +22,14 @@ from .stop_speaking_plan import StopSpeakingPlan from .workflow_user_editable_background_sound import WorkflowUserEditableBackgroundSound from .workflow_user_editable_credentials_item import WorkflowUserEditableCredentialsItem -from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem from .workflow_user_editable_model import WorkflowUserEditableModel -from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem from .workflow_user_editable_transcriber import WorkflowUserEditableTranscriber from .workflow_user_editable_voice import WorkflowUserEditableVoice from .workflow_user_editable_voicemail_detection import WorkflowUserEditableVoicemailDetection class WorkflowUserEditable(UncheckedBaseModel): - nodes: typing.List[WorkflowUserEditableNodesItem] + nodes: typing.List["WorkflowUserEditableNodesItem"] model: typing.Optional[WorkflowUserEditableModel] = pydantic.Field(default=None) """ This is the model for the workflow. @@ -69,7 +67,7 @@ class WorkflowUserEditable(UncheckedBaseModel): description="This is the background sound in the call. Default for phone calls is 'office' and default for web calls is 'off'.\nYou can also provide a custom sound by providing a URL to an audio file.", ), ] = None - hooks: typing.Optional[typing.List[WorkflowUserEditableHooksItem]] = pydantic.Field(default=None) + hooks: typing.Optional[typing.List["WorkflowUserEditableHooksItem"]] = pydantic.Field(default=None) """ This is a set of actions that will be performed on certain events. """ @@ -201,4 +199,141 @@ class Config: extra = pydantic.Extra.allow -update_forward_refs(WorkflowUserEditable) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 + +update_forward_refs( + WorkflowUserEditable, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/workflow_user_editable_credentials_item.py b/src/vapi/types/workflow_user_editable_credentials_item.py index d9222db9..8e0a7a15 100644 --- a/src/vapi/types/workflow_user_editable_credentials_item.py +++ b/src/vapi/types/workflow_user_editable_credentials_item.py @@ -22,11 +22,12 @@ from .create_azure_open_ai_credential_dto_region import CreateAzureOpenAiCredentialDtoRegion from .create_custom_credential_dto_authentication_plan import CreateCustomCredentialDtoAuthenticationPlan from .create_custom_credential_dto_encryption_plan import CreateCustomCredentialDtoEncryptionPlan +from .create_eleven_labs_credential_dto_api_url import CreateElevenLabsCredentialDtoApiUrl from .create_webhook_credential_dto_authentication_plan import CreateWebhookCredentialDtoAuthenticationPlan from .gcp_key import GcpKey from .o_auth_2_authentication_plan import OAuth2AuthenticationPlan from .oauth_2_authentication_session import Oauth2AuthenticationSession -from .sbc_configuration import SbcConfiguration +from .s_3_compatible_bucket_plan import S3CompatibleBucketPlan from .sip_trunk_gateway import SipTrunkGateway from .sip_trunk_outbound_authentication_plan import SipTrunkOutboundAuthenticationPlan from .supabase_bucket_plan import SupabaseBucketPlan @@ -35,6 +36,11 @@ class WorkflowUserEditableCredentialsItem_11Labs(UncheckedBaseModel): provider: typing.Literal["11labs"] = "11labs" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[CreateElevenLabsCredentialDtoApiUrl], + FieldMetadata(alias="apiUrl"), + pydantic.Field(alias="apiUrl"), + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -183,11 +189,6 @@ class WorkflowUserEditableCredentialsItem_ByoSipTrunk(UncheckedBaseModel): sip_diversion_header: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="sipDiversionHeader"), pydantic.Field(alias="sipDiversionHeader") ] = None - sbc_configuration: typing_extensions.Annotated[ - typing.Optional[SbcConfiguration], - FieldMetadata(alias="sbcConfiguration"), - pydantic.Field(alias="sbcConfiguration"), - ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -203,6 +204,9 @@ class Config: class WorkflowUserEditableCredentialsItem_Cartesia(UncheckedBaseModel): provider: typing.Literal["cartesia"] = "cartesia" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -594,6 +598,26 @@ class Config: extra = pydantic.Extra.allow +class WorkflowUserEditableCredentialsItem_S3Compatible(UncheckedBaseModel): + provider: typing.Literal["s3-compatible"] = "s3-compatible" + bucket_plan: typing_extensions.Annotated[ + S3CompatibleBucketPlan, FieldMetadata(alias="bucketPlan"), pydantic.Field(alias="bucketPlan") + ] + fallback_index: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="fallbackIndex"), pydantic.Field(alias="fallbackIndex") + ] = None + name: 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 WorkflowUserEditableCredentialsItem_Supabase(UncheckedBaseModel): provider: typing.Literal["supabase"] = "supabase" fallback_index: typing_extensions.Annotated[ @@ -757,9 +781,10 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Neuphonic(UncheckedBaseModel): - provider: typing.Literal["neuphonic"] = "neuphonic" +class WorkflowUserEditableCredentialsItem_Microsoft(UncheckedBaseModel): + provider: typing.Literal["microsoft"] = "microsoft" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + region: typing.Optional[str] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -772,8 +797,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Hume(UncheckedBaseModel): - provider: typing.Literal["hume"] = "hume" +class WorkflowUserEditableCredentialsItem_Neuphonic(UncheckedBaseModel): + provider: typing.Literal["neuphonic"] = "neuphonic" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -787,8 +812,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Mistral(UncheckedBaseModel): - provider: typing.Literal["mistral"] = "mistral" +class WorkflowUserEditableCredentialsItem_Hume(UncheckedBaseModel): + provider: typing.Literal["hume"] = "hume" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -802,8 +827,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Speechmatics(UncheckedBaseModel): - provider: typing.Literal["speechmatics"] = "speechmatics" +class WorkflowUserEditableCredentialsItem_Mistral(UncheckedBaseModel): + provider: typing.Literal["mistral"] = "mistral" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -817,8 +842,8 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Soniox(UncheckedBaseModel): - provider: typing.Literal["soniox"] = "soniox" +class WorkflowUserEditableCredentialsItem_Speechmatics(UncheckedBaseModel): + provider: typing.Literal["speechmatics"] = "speechmatics" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] name: typing.Optional[str] = None @@ -832,9 +857,12 @@ class Config: extra = pydantic.Extra.allow -class WorkflowUserEditableCredentialsItem_Trieve(UncheckedBaseModel): - provider: typing.Literal["trieve"] = "trieve" +class WorkflowUserEditableCredentialsItem_Soniox(UncheckedBaseModel): + provider: typing.Literal["soniox"] = "soniox" api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey"), pydantic.Field(alias="apiKey")] + api_url: typing_extensions.Annotated[ + typing.Optional[str], FieldMetadata(alias="apiUrl"), pydantic.Field(alias="apiUrl") + ] = None name: typing.Optional[str] = None if IS_PYDANTIC_V2: @@ -1040,6 +1068,7 @@ class Config: WorkflowUserEditableCredentialsItem_RimeAi, WorkflowUserEditableCredentialsItem_Runpod, WorkflowUserEditableCredentialsItem_S3, + WorkflowUserEditableCredentialsItem_S3Compatible, WorkflowUserEditableCredentialsItem_Supabase, WorkflowUserEditableCredentialsItem_SmallestAi, WorkflowUserEditableCredentialsItem_Tavus, @@ -1049,12 +1078,12 @@ class Config: WorkflowUserEditableCredentialsItem_Webhook, WorkflowUserEditableCredentialsItem_CustomCredential, WorkflowUserEditableCredentialsItem_Xai, + WorkflowUserEditableCredentialsItem_Microsoft, WorkflowUserEditableCredentialsItem_Neuphonic, WorkflowUserEditableCredentialsItem_Hume, WorkflowUserEditableCredentialsItem_Mistral, WorkflowUserEditableCredentialsItem_Speechmatics, WorkflowUserEditableCredentialsItem_Soniox, - WorkflowUserEditableCredentialsItem_Trieve, WorkflowUserEditableCredentialsItem_GoogleCalendarOauth2Client, WorkflowUserEditableCredentialsItem_GoogleCalendarOauth2Authorization, WorkflowUserEditableCredentialsItem_GoogleSheetsOauth2Authorization, diff --git a/src/vapi/types/workflow_user_editable_hooks_item.py b/src/vapi/types/workflow_user_editable_hooks_item.py index 51ed8cff..59aaceee 100644 --- a/src/vapi/types/workflow_user_editable_hooks_item.py +++ b/src/vapi/types/workflow_user_editable_hooks_item.py @@ -1,17 +1,19 @@ # This file was auto-generated by Fern from our API Definition. -import typing +from __future__ import annotations -from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted -from .call_hook_call_ending import CallHookCallEnding -from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted -from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout -from .call_hook_model_response_timeout import CallHookModelResponseTimeout +import typing +if typing.TYPE_CHECKING: + from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted + from .call_hook_call_ending import CallHookCallEnding + from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted + from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout + from .call_hook_model_response_timeout import CallHookModelResponseTimeout WorkflowUserEditableHooksItem = typing.Union[ - CallHookCallEnding, - CallHookAssistantSpeechInterrupted, - CallHookCustomerSpeechInterrupted, - CallHookCustomerSpeechTimeout, - CallHookModelResponseTimeout, + "CallHookCallEnding", + "CallHookAssistantSpeechInterrupted", + "CallHookCustomerSpeechInterrupted", + "CallHookCustomerSpeechTimeout", + "CallHookModelResponseTimeout", ] diff --git a/src/vapi/types/workflow_user_editable_model.py b/src/vapi/types/workflow_user_editable_model.py index 04795eed..7a727069 100644 --- a/src/vapi/types/workflow_user_editable_model.py +++ b/src/vapi/types/workflow_user_editable_model.py @@ -10,6 +10,7 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .anthropic_thinking_config import AnthropicThinkingConfig +from .open_ai_message import OpenAiMessage from .workflow_anthropic_bedrock_model_model import WorkflowAnthropicBedrockModelModel from .workflow_anthropic_model_model import WorkflowAnthropicModelModel from .workflow_custom_model_metadata_send_mode import WorkflowCustomModelMetadataSendMode @@ -25,6 +26,7 @@ class WorkflowUserEditableModel_Openai(UncheckedBaseModel): """ provider: typing.Literal["openai"] = "openai" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowOpenAiModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -49,6 +51,7 @@ class WorkflowUserEditableModel_Anthropic(UncheckedBaseModel): """ provider: typing.Literal["anthropic"] = "anthropic" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -74,6 +77,7 @@ class WorkflowUserEditableModel_AnthropicBedrock(UncheckedBaseModel): """ provider: typing.Literal["anthropic-bedrock"] = "anthropic-bedrock" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowAnthropicBedrockModelModel thinking: typing.Optional[AnthropicThinkingConfig] = None temperature: typing.Optional[float] = None @@ -99,6 +103,7 @@ class WorkflowUserEditableModel_Google(UncheckedBaseModel): """ provider: typing.Literal["google"] = "google" + messages: typing.Optional[typing.List[OpenAiMessage]] = None model: WorkflowGoogleModelModel temperature: typing.Optional[float] = None max_tokens: typing_extensions.Annotated[ @@ -123,6 +128,7 @@ class WorkflowUserEditableModel_CustomLlm(UncheckedBaseModel): """ provider: typing.Literal["custom-llm"] = "custom-llm" + messages: typing.Optional[typing.List[OpenAiMessage]] = None metadata_send_mode: typing_extensions.Annotated[ typing.Optional[WorkflowCustomModelMetadataSendMode], FieldMetadata(alias="metadataSendMode"), diff --git a/src/vapi/types/workflow_user_editable_nodes_item.py b/src/vapi/types/workflow_user_editable_nodes_item.py index 0e9b2ad5..ca6384c5 100644 --- a/src/vapi/types/workflow_user_editable_nodes_item.py +++ b/src/vapi/types/workflow_user_editable_nodes_item.py @@ -10,11 +10,9 @@ from ..core.serialization import FieldMetadata from ..core.unchecked_base_model import UncheckedBaseModel, UnionMetadata from .conversation_node_model import ConversationNodeModel -from .conversation_node_tools_item import ConversationNodeToolsItem from .conversation_node_transcriber import ConversationNodeTranscriber from .conversation_node_voice import ConversationNodeVoice from .global_node_plan import GlobalNodePlan -from .tool_node_tool import ToolNodeTool from .variable_extraction_plan import VariableExtractionPlan @@ -23,7 +21,7 @@ class WorkflowUserEditableNodesItem_Conversation(UncheckedBaseModel): model: typing.Optional[ConversationNodeModel] = None transcriber: typing.Optional[ConversationNodeTranscriber] = None voice: typing.Optional[ConversationNodeVoice] = None - tools: typing.Optional[typing.List[ConversationNodeToolsItem]] = None + tools: typing.Optional[typing.List["ConversationNodeToolsItem"]] = None tool_ids: typing_extensions.Annotated[ typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds"), pydantic.Field(alias="toolIds") ] = None @@ -54,7 +52,7 @@ class Config: class WorkflowUserEditableNodesItem_Tool(UncheckedBaseModel): type: typing.Literal["tool"] = "tool" - tool: typing.Optional[ToolNodeTool] = None + tool: typing.Optional["ToolNodeTool"] = None tool_id: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="toolId"), pydantic.Field(alias="toolId") ] = None @@ -78,5 +76,211 @@ class Config: typing.Union[WorkflowUserEditableNodesItem_Conversation, WorkflowUserEditableNodesItem_Tool], UnionMetadata(discriminant="type"), ] -update_forward_refs(WorkflowUserEditableNodesItem_Conversation) -update_forward_refs(WorkflowUserEditableNodesItem_Tool) +from .anthropic_bedrock_model import AnthropicBedrockModel # noqa: E402, I001 +from .anthropic_bedrock_model_tools_item import AnthropicBedrockModelToolsItem # noqa: E402, I001 +from .anthropic_model import AnthropicModel # noqa: E402, I001 +from .anthropic_model_tools_item import AnthropicModelToolsItem # noqa: E402, I001 +from .anyscale_model import AnyscaleModel # noqa: E402, I001 +from .anyscale_model_tools_item import AnyscaleModelToolsItem # noqa: E402, I001 +from .assistant_overrides import AssistantOverrides # noqa: E402, I001 +from .assistant_overrides_hooks_item import AssistantOverridesHooksItem # noqa: E402, I001 +from .assistant_overrides_model import AssistantOverridesModel # noqa: E402, I001 +from .assistant_overrides_tools_append_item import AssistantOverridesToolsAppendItem # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted import CallHookAssistantSpeechInterrupted # noqa: E402, I001 +from .call_hook_assistant_speech_interrupted_do_item import CallHookAssistantSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_call_ending import CallHookCallEnding # noqa: E402, I001 +from .call_hook_call_ending_do_item import CallHookCallEndingDoItem # noqa: E402, I001 +from .call_hook_customer_speech_interrupted import CallHookCustomerSpeechInterrupted # noqa: E402, I001 +from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 +from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 +from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 +from .cerebras_model import CerebrasModel # noqa: E402, I001 +from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 +from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 +from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 +from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 +from .create_handoff_tool_dto import CreateHandoffToolDto # noqa: E402, I001 +from .create_handoff_tool_dto_destinations_item import CreateHandoffToolDtoDestinationsItem # noqa: E402, I001 +from .create_squad_dto import CreateSquadDto # noqa: E402, I001 +from .custom_llm_model import CustomLlmModel # noqa: E402, I001 +from .custom_llm_model_tools_item import CustomLlmModelToolsItem # noqa: E402, I001 +from .deep_infra_model import DeepInfraModel # noqa: E402, I001 +from .deep_infra_model_tools_item import DeepInfraModelToolsItem # noqa: E402, I001 +from .deep_seek_model import DeepSeekModel # noqa: E402, I001 +from .deep_seek_model_tools_item import DeepSeekModelToolsItem # noqa: E402, I001 +from .google_model import GoogleModel # noqa: E402, I001 +from .google_model_tools_item import GoogleModelToolsItem # noqa: E402, I001 +from .groq_model import GroqModel # noqa: E402, I001 +from .groq_model_tools_item import GroqModelToolsItem # noqa: E402, I001 +from .handoff_destination_assistant import HandoffDestinationAssistant # noqa: E402, I001 +from .handoff_destination_squad import HandoffDestinationSquad # noqa: E402, I001 +from .inflection_ai_model import InflectionAiModel # noqa: E402, I001 +from .inflection_ai_model_tools_item import InflectionAiModelToolsItem # noqa: E402, I001 +from .minimax_llm_model import MinimaxLlmModel # noqa: E402, I001 +from .minimax_llm_model_tools_item import MinimaxLlmModelToolsItem # noqa: E402, I001 +from .open_ai_model import OpenAiModel # noqa: E402, I001 +from .open_ai_model_tools_item import OpenAiModelToolsItem # noqa: E402, I001 +from .open_router_model import OpenRouterModel # noqa: E402, I001 +from .open_router_model_tools_item import OpenRouterModelToolsItem # noqa: E402, I001 +from .perplexity_ai_model import PerplexityAiModel # noqa: E402, I001 +from .perplexity_ai_model_tools_item import PerplexityAiModelToolsItem # noqa: E402, I001 +from .session_created_hook import SessionCreatedHook # noqa: E402, I001 +from .squad_member_dto import SquadMemberDto # noqa: E402, I001 +from .squad_member_dto_assistant_destinations_item import SquadMemberDtoAssistantDestinationsItem # noqa: E402, I001 +from .together_ai_model import TogetherAiModel # noqa: E402, I001 +from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 +from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 +from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .xai_model import XaiModel # noqa: E402, I001 +from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 + +update_forward_refs( + WorkflowUserEditableNodesItem_Conversation, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) +update_forward_refs( + WorkflowUserEditableNodesItem_Tool, + AnthropicBedrockModel=AnthropicBedrockModel, + AnthropicBedrockModelToolsItem=AnthropicBedrockModelToolsItem, + AnthropicModel=AnthropicModel, + AnthropicModelToolsItem=AnthropicModelToolsItem, + AnyscaleModel=AnyscaleModel, + AnyscaleModelToolsItem=AnyscaleModelToolsItem, + AssistantOverrides=AssistantOverrides, + AssistantOverridesHooksItem=AssistantOverridesHooksItem, + AssistantOverridesModel=AssistantOverridesModel, + AssistantOverridesToolsAppendItem=AssistantOverridesToolsAppendItem, + CallHookAssistantSpeechInterrupted=CallHookAssistantSpeechInterrupted, + CallHookAssistantSpeechInterruptedDoItem=CallHookAssistantSpeechInterruptedDoItem, + CallHookCallEnding=CallHookCallEnding, + CallHookCallEndingDoItem=CallHookCallEndingDoItem, + CallHookCustomerSpeechInterrupted=CallHookCustomerSpeechInterrupted, + CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, + CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, + CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, + CerebrasModel=CerebrasModel, + CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, + CreateAssistantDto=CreateAssistantDto, + CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, + CreateAssistantDtoModel=CreateAssistantDtoModel, + CreateHandoffToolDto=CreateHandoffToolDto, + CreateHandoffToolDtoDestinationsItem=CreateHandoffToolDtoDestinationsItem, + CreateSquadDto=CreateSquadDto, + CustomLlmModel=CustomLlmModel, + CustomLlmModelToolsItem=CustomLlmModelToolsItem, + DeepInfraModel=DeepInfraModel, + DeepInfraModelToolsItem=DeepInfraModelToolsItem, + DeepSeekModel=DeepSeekModel, + DeepSeekModelToolsItem=DeepSeekModelToolsItem, + GoogleModel=GoogleModel, + GoogleModelToolsItem=GoogleModelToolsItem, + GroqModel=GroqModel, + GroqModelToolsItem=GroqModelToolsItem, + HandoffDestinationAssistant=HandoffDestinationAssistant, + HandoffDestinationSquad=HandoffDestinationSquad, + InflectionAiModel=InflectionAiModel, + InflectionAiModelToolsItem=InflectionAiModelToolsItem, + MinimaxLlmModel=MinimaxLlmModel, + MinimaxLlmModelToolsItem=MinimaxLlmModelToolsItem, + OpenAiModel=OpenAiModel, + OpenAiModelToolsItem=OpenAiModelToolsItem, + OpenRouterModel=OpenRouterModel, + OpenRouterModelToolsItem=OpenRouterModelToolsItem, + PerplexityAiModel=PerplexityAiModel, + PerplexityAiModelToolsItem=PerplexityAiModelToolsItem, + SessionCreatedHook=SessionCreatedHook, + SquadMemberDto=SquadMemberDto, + SquadMemberDtoAssistantDestinationsItem=SquadMemberDtoAssistantDestinationsItem, + TogetherAiModel=TogetherAiModel, + TogetherAiModelToolsItem=TogetherAiModelToolsItem, + ToolCallHookAction=ToolCallHookAction, + ToolCallHookActionTool=ToolCallHookActionTool, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, + XaiModel=XaiModel, + XaiModelToolsItem=XaiModelToolsItem, +) diff --git a/src/vapi/types/workflow_user_editable_transcriber.py b/src/vapi/types/workflow_user_editable_transcriber.py index 65c37840..d5c31228 100644 --- a/src/vapi/types/workflow_user_editable_transcriber.py +++ b/src/vapi/types/workflow_user_editable_transcriber.py @@ -17,13 +17,14 @@ from .cartesia_transcriber_model import CartesiaTranscriberModel from .deepgram_transcriber_language import DeepgramTranscriberLanguage from .deepgram_transcriber_model import DeepgramTranscriberModel +from .deepgram_transcriber_redaction_item import DeepgramTranscriberRedactionItem from .eleven_labs_transcriber_language import ElevenLabsTranscriberLanguage from .eleven_labs_transcriber_model import ElevenLabsTranscriberModel from .fallback_transcriber_plan import FallbackTranscriberPlan from .gladia_custom_vocabulary_config_dto import GladiaCustomVocabularyConfigDto from .gladia_transcriber_language import GladiaTranscriberLanguage from .gladia_transcriber_language_behaviour import GladiaTranscriberLanguageBehaviour -from .gladia_transcriber_languages import GladiaTranscriberLanguages +from .gladia_transcriber_languages_item import GladiaTranscriberLanguagesItem from .gladia_transcriber_model import GladiaTranscriberModel from .gladia_transcriber_region import GladiaTranscriberRegion from .google_transcriber_language import GoogleTranscriberLanguage @@ -31,7 +32,9 @@ from .open_ai_transcriber_language import OpenAiTranscriberLanguage from .open_ai_transcriber_model import OpenAiTranscriberModel from .server import Server +from .soniox_context_general_item import SonioxContextGeneralItem from .soniox_transcriber_language import SonioxTranscriberLanguage +from .soniox_transcriber_languages_item import SonioxTranscriberLanguagesItem from .soniox_transcriber_model import SonioxTranscriberModel from .speechmatics_custom_vocabulary_item import SpeechmaticsCustomVocabularyItem from .speechmatics_transcriber_language import SpeechmaticsTranscriberLanguage @@ -41,6 +44,12 @@ from .speechmatics_transcriber_region import SpeechmaticsTranscriberRegion from .talkscriber_transcriber_language import TalkscriberTranscriberLanguage from .talkscriber_transcriber_model import TalkscriberTranscriberModel +from .vapi_transcriber_language import VapiTranscriberLanguage +from .vapi_transcriber_languages_item import VapiTranscriberLanguagesItem +from .vapi_transcriber_turn_taking import VapiTranscriberTurnTaking +from .vapi_transcriber_version import VapiTranscriberVersion +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel class WorkflowUserEditableTranscriber_AssemblyAi(UncheckedBaseModel): @@ -206,18 +215,17 @@ class WorkflowUserEditableTranscriber_Deepgram(UncheckedBaseModel): profanity_filter: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="profanityFilter"), pydantic.Field(alias="profanityFilter") ] = None + redaction: typing.Optional[typing.List[DeepgramTranscriberRedactionItem]] = None confidence_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="confidenceThreshold"), pydantic.Field(alias="confidenceThreshold") ] = None - eager_eot_threshold: typing_extensions.Annotated[ - typing.Optional[float], FieldMetadata(alias="eagerEotThreshold"), pydantic.Field(alias="eagerEotThreshold") - ] = None eot_threshold: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotThreshold"), pydantic.Field(alias="eotThreshold") ] = None eot_timeout_ms: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="eotTimeoutMs"), pydantic.Field(alias="eotTimeoutMs") ] = None + languages: typing.Optional[typing.List[str]] = None keywords: typing.Optional[typing.List[str]] = None keyterm: typing.Optional[typing.List[str]] = None endpointing: typing.Optional[float] = None @@ -294,7 +302,7 @@ class WorkflowUserEditableTranscriber_Gladia(UncheckedBaseModel): pydantic.Field(alias="languageBehaviour"), ] = None language: typing.Optional[GladiaTranscriberLanguage] = None - languages: typing.Optional[GladiaTranscriberLanguages] = None + languages: typing.Optional[typing.List[GladiaTranscriberLanguagesItem]] = None transcription_hint: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="transcriptionHint"), pydantic.Field(alias="transcriptionHint") ] = None @@ -516,6 +524,7 @@ class WorkflowUserEditableTranscriber_Soniox(UncheckedBaseModel): provider: typing.Literal["soniox"] = "soniox" model: typing.Optional[SonioxTranscriberModel] = None language: typing.Optional[SonioxTranscriberLanguage] = None + languages: typing.Optional[typing.List[SonioxTranscriberLanguagesItem]] = None language_hints_strict: typing_extensions.Annotated[ typing.Optional[bool], FieldMetadata(alias="languageHintsStrict"), pydantic.Field(alias="languageHintsStrict") ] = None @@ -527,6 +536,11 @@ class WorkflowUserEditableTranscriber_Soniox(UncheckedBaseModel): FieldMetadata(alias="customVocabulary"), pydantic.Field(alias="customVocabulary"), ] = None + context_general: typing_extensions.Annotated[ + typing.Optional[typing.List[SonioxContextGeneralItem]], + FieldMetadata(alias="contextGeneral"), + pydantic.Field(alias="contextGeneral"), + ] = None fallback_plan: typing_extensions.Annotated[ typing.Optional[FallbackTranscriberPlan], FieldMetadata(alias="fallbackPlan"), @@ -543,6 +557,60 @@ class Config: extra = pydantic.Extra.allow +class WorkflowUserEditableTranscriber_Xai(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["xai"] = "xai" + model: typing.Optional[XaiTranscriberModel] = None + language: typing.Optional[XaiTranscriberLanguage] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field(alias="fallbackPlan"), + ] = 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 WorkflowUserEditableTranscriber_Vapi(UncheckedBaseModel): + """ + This is the transcriber for the workflow. + + This can be overridden at node level using `nodes[n].transcriber`. + """ + + provider: typing.Literal["vapi"] = "vapi" + version: typing.Optional[VapiTranscriberVersion] = None + language: typing.Optional[VapiTranscriberLanguage] = None + languages: typing.Optional[typing.List[VapiTranscriberLanguagesItem]] = None + keywords: typing.Optional[typing.List[str]] = None + turn_taking: typing_extensions.Annotated[ + typing.Optional[VapiTranscriberTurnTaking], + FieldMetadata(alias="turnTaking"), + pydantic.Field(alias="turnTaking"), + ] = 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 + + WorkflowUserEditableTranscriber = typing_extensions.Annotated[ typing.Union[ WorkflowUserEditableTranscriber_AssemblyAi, @@ -557,6 +625,8 @@ class Config: WorkflowUserEditableTranscriber_Openai, WorkflowUserEditableTranscriber_Cartesia, WorkflowUserEditableTranscriber_Soniox, + WorkflowUserEditableTranscriber_Xai, + WorkflowUserEditableTranscriber_Vapi, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/workflow_user_editable_voice.py b/src/vapi/types/workflow_user_editable_voice.py index 74ac552c..aab7df12 100644 --- a/src/vapi/types/workflow_user_editable_voice.py +++ b/src/vapi/types/workflow_user_editable_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class WorkflowUserEditableVoice_Azure(UncheckedBaseModel): @@ -607,7 +614,9 @@ class WorkflowUserEditableVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -616,9 +625,6 @@ class WorkflowUserEditableVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -751,6 +757,76 @@ class Config: extra = pydantic.Extra.allow +class WorkflowUserEditableVoice_Xai(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 WorkflowUserEditableVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + WorkflowUserEditableVoice = typing_extensions.Annotated[ typing.Union[ WorkflowUserEditableVoice_Azure, @@ -771,6 +847,8 @@ class Config: WorkflowUserEditableVoice_Sesame, WorkflowUserEditableVoice_Inworld, WorkflowUserEditableVoice_Minimax, + WorkflowUserEditableVoice_Xai, + WorkflowUserEditableVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/workflow_voice.py b/src/vapi/types/workflow_voice.py index 67144800..647cf9a2 100644 --- a/src/vapi/types/workflow_voice.py +++ b/src/vapi/types/workflow_voice.py @@ -27,6 +27,9 @@ from .inworld_voice_voice_id import InworldVoiceVoiceId from .lmnt_voice_id import LmntVoiceId from .lmnt_voice_language import LmntVoiceLanguage +from .microsoft_voice_role import MicrosoftVoiceRole +from .microsoft_voice_style import MicrosoftVoiceStyle +from .microsoft_voice_voice_id import MicrosoftVoiceVoiceId from .minimax_voice_language_boost import MinimaxVoiceLanguageBoost from .minimax_voice_model import MinimaxVoiceModel from .minimax_voice_region import MinimaxVoiceRegion @@ -48,8 +51,12 @@ from .tavus_conversation_properties import TavusConversationProperties from .tavus_voice_voice_id import TavusVoiceVoiceId from .vapi_pronunciation_dictionary_locator import VapiPronunciationDictionaryLocator +from .vapi_voice_language import VapiVoiceLanguage +from .vapi_voice_version import VapiVoiceVersion from .vapi_voice_voice_id import VapiVoiceVoiceId from .well_said_voice_model import WellSaidVoiceModel +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId class WorkflowVoice_Azure(UncheckedBaseModel): @@ -607,7 +614,9 @@ class WorkflowVoice_Vapi(UncheckedBaseModel): voice_id: typing_extensions.Annotated[ VapiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") ] + version: typing.Optional[VapiVoiceVersion] = None speed: typing.Optional[float] = None + language: typing.Optional[VapiVoiceLanguage] = None pronunciation_dictionary: typing_extensions.Annotated[ typing.Optional[typing.List[VapiPronunciationDictionaryLocator]], FieldMetadata(alias="pronunciationDictionary"), @@ -616,9 +625,6 @@ class WorkflowVoice_Vapi(UncheckedBaseModel): chunk_plan: typing_extensions.Annotated[ typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") ] = None - fallback_plan: typing_extensions.Annotated[ - typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") - ] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -751,6 +757,76 @@ class Config: extra = pydantic.Extra.allow +class WorkflowVoice_Xai(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["xai"] = "xai" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + language: typing.Optional[XaiVoiceLanguage] = None + speed: typing.Optional[float] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 WorkflowVoice_Microsoft(UncheckedBaseModel): + """ + This is the voice for the workflow. + + This can be overridden at node level using `nodes[n].voice`. + """ + + provider: typing.Literal["microsoft"] = "microsoft" + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], FieldMetadata(alias="cachingEnabled"), pydantic.Field(alias="cachingEnabled") + ] = None + voice_id: typing_extensions.Annotated[ + MicrosoftVoiceVoiceId, FieldMetadata(alias="voiceId"), pydantic.Field(alias="voiceId") + ] + style: typing.Optional[MicrosoftVoiceStyle] = None + style_degree: typing_extensions.Annotated[ + typing.Optional[float], FieldMetadata(alias="styleDegree"), pydantic.Field(alias="styleDegree") + ] = None + role: typing.Optional[MicrosoftVoiceRole] = None + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], FieldMetadata(alias="chunkPlan"), pydantic.Field(alias="chunkPlan") + ] = None + speed: typing.Optional[float] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], FieldMetadata(alias="fallbackPlan"), pydantic.Field(alias="fallbackPlan") + ] = 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 + + WorkflowVoice = typing_extensions.Annotated[ typing.Union[ WorkflowVoice_Azure, @@ -771,6 +847,8 @@ class Config: WorkflowVoice_Sesame, WorkflowVoice_Inworld, WorkflowVoice_Minimax, + WorkflowVoice_Xai, + WorkflowVoice_Microsoft, ], UnionMetadata(discriminant="provider"), ] diff --git a/src/vapi/types/xai_model.py b/src/vapi/types/xai_model.py index ce4cfeee..de3ce9e4 100644 --- a/src/vapi/types/xai_model.py +++ b/src/vapi/types/xai_model.py @@ -11,10 +11,15 @@ from ..core.unchecked_base_model import UncheckedBaseModel from .create_custom_knowledge_base_dto import CreateCustomKnowledgeBaseDto from .open_ai_message import OpenAiMessage +from .tool_ref import ToolRef from .xai_model_model import XaiModelModel class XaiModel(UncheckedBaseModel): + """ + Configuration for generating assistant responses with xAI, including model, prompts, tools, knowledge-base access, and generation settings. + """ + messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None) """ This is the starting state for the conversation. @@ -35,6 +40,14 @@ class XaiModel(UncheckedBaseModel): description="These are the tools that the assistant can use during the call. To use transient tools, use `tools`.\n\nBoth `tools` and `toolIds` can be used together.", ), ] = None + tool_refs: typing_extensions.Annotated[ + typing.Optional[typing.List[ToolRef]], + FieldMetadata(alias="toolRefs"), + pydantic.Field( + alias="toolRefs", + description="These are version-pinned references to tools. Each entry pins a specific\nversion of a tool by `(toolId, version)`. When the same `toolId` appears\nin both `toolIds` and `toolRefs[]`, the `toolRefs` pin wins (the\n`toolIds` entry is dropped at write time).", + ), + ] = None knowledge_base: typing_extensions.Annotated[ typing.Optional[CreateCustomKnowledgeBaseDto], FieldMetadata(alias="knowledgeBase"), @@ -47,7 +60,7 @@ class XaiModel(UncheckedBaseModel): temperature: typing.Optional[float] = pydantic.Field(default=None) """ - This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency. + This is the temperature that will be used for calls. Default is 0.5. """ max_tokens: typing_extensions.Annotated[ @@ -103,8 +116,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -140,6 +157,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model_tools_item import XaiModelToolsItem # noqa: E402, I001 update_forward_refs( @@ -162,8 +186,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -199,5 +227,12 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/xai_model_model.py b/src/vapi/types/xai_model_model.py index cfb78c6f..27d6b306 100644 --- a/src/vapi/types/xai_model_model.py +++ b/src/vapi/types/xai_model_model.py @@ -3,5 +3,15 @@ import typing XaiModelModel = typing.Union[ - typing.Literal["grok-beta", "grok-2", "grok-3", "grok-4-fast-reasoning", "grok-4-fast-non-reasoning"], typing.Any + typing.Literal[ + "grok-beta", + "grok-2", + "grok-3", + "grok-4-fast-reasoning", + "grok-4-fast-non-reasoning", + "grok-4.20-0309-reasoning", + "grok-4.20-0309-non-reasoning", + "grok-4.3", + ], + typing.Any, ] diff --git a/src/vapi/types/xai_model_tools_item.py b/src/vapi/types/xai_model_tools_item.py index 370fa5dc..7159c985 100644 --- a/src/vapi/types/xai_model_tools_item.py +++ b/src/vapi/types/xai_model_tools_item.py @@ -67,6 +67,7 @@ class XaiModelToolsItem_ApiRequest(UncheckedBaseModel): type: typing.Literal["apiRequest"] = "apiRequest" messages: typing.Optional[typing.List[CreateApiRequestToolDtoMessagesItem]] = None + name: typing.Optional[str] = None method: CreateApiRequestToolDtoMethod timeout_seconds: typing_extensions.Annotated[ typing.Optional[float], FieldMetadata(alias="timeoutSeconds"), pydantic.Field(alias="timeoutSeconds") @@ -78,7 +79,6 @@ class XaiModelToolsItem_ApiRequest(UncheckedBaseModel): typing.Optional[typing.List[str]], FieldMetadata(alias="encryptedPaths"), pydantic.Field(alias="encryptedPaths") ] = None parameters: typing.Optional[typing.List[ToolParameter]] = None - name: typing.Optional[str] = None description: typing.Optional[str] = None url: str body: typing.Optional["JsonSchema"] = None @@ -610,8 +610,12 @@ class Config: from .call_hook_customer_speech_interrupted_do_item import CallHookCustomerSpeechInterruptedDoItem # noqa: E402, I001 from .call_hook_customer_speech_timeout import CallHookCustomerSpeechTimeout # noqa: E402, I001 from .call_hook_customer_speech_timeout_do_item import CallHookCustomerSpeechTimeoutDoItem # noqa: E402, I001 +from .call_hook_model_response_timeout import CallHookModelResponseTimeout # noqa: E402, I001 +from .call_hook_model_response_timeout_do_item import CallHookModelResponseTimeoutDoItem # noqa: E402, I001 from .cerebras_model import CerebrasModel # noqa: E402, I001 from .cerebras_model_tools_item import CerebrasModelToolsItem # noqa: E402, I001 +from .conversation_node import ConversationNode # noqa: E402, I001 +from .conversation_node_tools_item import ConversationNodeToolsItem # noqa: E402, I001 from .create_assistant_dto import CreateAssistantDto # noqa: E402, I001 from .create_assistant_dto_hooks_item import CreateAssistantDtoHooksItem # noqa: E402, I001 from .create_assistant_dto_model import CreateAssistantDtoModel # noqa: E402, I001 @@ -646,6 +650,13 @@ class Config: from .together_ai_model_tools_item import TogetherAiModelToolsItem # noqa: E402, I001 from .tool_call_hook_action import ToolCallHookAction # noqa: E402, I001 from .tool_call_hook_action_tool import ToolCallHookActionTool # noqa: E402, I001 +from .tool_node import ToolNode # noqa: E402, I001 +from .tool_node_tool import ToolNodeTool # noqa: E402, I001 +from .vapi_model import VapiModel # noqa: E402, I001 +from .vapi_model_tools_item import VapiModelToolsItem # noqa: E402, I001 +from .workflow_user_editable import WorkflowUserEditable # noqa: E402, I001 +from .workflow_user_editable_hooks_item import WorkflowUserEditableHooksItem # noqa: E402, I001 +from .workflow_user_editable_nodes_item import WorkflowUserEditableNodesItem # noqa: E402, I001 from .xai_model import XaiModel # noqa: E402, I001 update_forward_refs(XaiModelToolsItem_ApiRequest, JsonSchema=JsonSchema) @@ -682,8 +693,12 @@ class Config: CallHookCustomerSpeechInterruptedDoItem=CallHookCustomerSpeechInterruptedDoItem, CallHookCustomerSpeechTimeout=CallHookCustomerSpeechTimeout, CallHookCustomerSpeechTimeoutDoItem=CallHookCustomerSpeechTimeoutDoItem, + CallHookModelResponseTimeout=CallHookModelResponseTimeout, + CallHookModelResponseTimeoutDoItem=CallHookModelResponseTimeoutDoItem, CerebrasModel=CerebrasModel, CerebrasModelToolsItem=CerebrasModelToolsItem, + ConversationNode=ConversationNode, + ConversationNodeToolsItem=ConversationNodeToolsItem, CreateAssistantDto=CreateAssistantDto, CreateAssistantDtoHooksItem=CreateAssistantDtoHooksItem, CreateAssistantDtoModel=CreateAssistantDtoModel, @@ -718,6 +733,13 @@ class Config: TogetherAiModelToolsItem=TogetherAiModelToolsItem, ToolCallHookAction=ToolCallHookAction, ToolCallHookActionTool=ToolCallHookActionTool, + ToolNode=ToolNode, + ToolNodeTool=ToolNodeTool, + VapiModel=VapiModel, + VapiModelToolsItem=VapiModelToolsItem, + WorkflowUserEditable=WorkflowUserEditable, + WorkflowUserEditableHooksItem=WorkflowUserEditableHooksItem, + WorkflowUserEditableNodesItem=WorkflowUserEditableNodesItem, XaiModel=XaiModel, XaiModelToolsItem=XaiModelToolsItem, ) diff --git a/src/vapi/types/xai_transcriber.py b/src/vapi/types/xai_transcriber.py new file mode 100644 index 00000000..1bdd6f43 --- /dev/null +++ b/src/vapi/types/xai_transcriber.py @@ -0,0 +1,42 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .fallback_transcriber_plan import FallbackTranscriberPlan +from .xai_transcriber_language import XaiTranscriberLanguage +from .xai_transcriber_model import XaiTranscriberModel + + +class XaiTranscriber(UncheckedBaseModel): + model: typing.Optional[XaiTranscriberModel] = pydantic.Field(default=None) + """ + The xAI speech-to-text model to use. xAI currently exposes a single STT model — placeholder for future model selection. + """ + + language: typing.Optional[XaiTranscriberLanguage] = pydantic.Field(default=None) + """ + Single language for transcription as an ISO 639-1 code (e.g., `en`, `es`). Defaults to `en` if not set. xAI auto-detects when omitted via the API but Vapi defaults to English for deterministic behavior. + """ + + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackTranscriberPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field( + alias="fallbackPlan", + description="This is the plan for transcriber provider fallbacks in the event that the primary transcriber provider fails.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/xai_transcriber_language.py b/src/vapi/types/xai_transcriber_language.py new file mode 100644 index 00000000..36497187 --- /dev/null +++ b/src/vapi/types/xai_transcriber_language.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +XaiTranscriberLanguage = typing.Union[ + typing.Literal[ + "ar", + "cs", + "da", + "nl", + "en", + "fil", + "fr", + "de", + "hi", + "id", + "it", + "ja", + "ko", + "mk", + "ms", + "fa", + "pl", + "pt", + "ro", + "ru", + "es", + "sv", + "th", + "tr", + "vi", + ], + typing.Any, +] diff --git a/src/vapi/types/xai_transcriber_model.py b/src/vapi/types/xai_transcriber_model.py new file mode 100644 index 00000000..94a82aa0 --- /dev/null +++ b/src/vapi/types/xai_transcriber_model.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +XaiTranscriberModel = typing.Union[typing.Literal["default"], typing.Any] diff --git a/src/vapi/types/xai_voice.py b/src/vapi/types/xai_voice.py new file mode 100644 index 00000000..99e39d40 --- /dev/null +++ b/src/vapi/types/xai_voice.py @@ -0,0 +1,65 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2 +from ..core.serialization import FieldMetadata +from ..core.unchecked_base_model import UncheckedBaseModel +from .chunk_plan import ChunkPlan +from .fallback_plan import FallbackPlan +from .xai_voice_language import XaiVoiceLanguage +from .xai_voice_voice_id import XaiVoiceVoiceId + + +class XaiVoice(UncheckedBaseModel): + caching_enabled: typing_extensions.Annotated[ + typing.Optional[bool], + FieldMetadata(alias="cachingEnabled"), + pydantic.Field( + alias="cachingEnabled", description="This is the flag to toggle voice caching for the assistant." + ), + ] = None + voice_id: typing_extensions.Annotated[ + XaiVoiceVoiceId, + FieldMetadata(alias="voiceId"), + pydantic.Field( + alias="voiceId", description="Built-in voices: eve, ara, rex, sal, leo. Cloned voice IDs are also accepted." + ), + ] + language: typing.Optional[XaiVoiceLanguage] = pydantic.Field(default=None) + """ + BCP-47 language code for xAI TTS synthesis. + """ + + speed: typing.Optional[float] = pydantic.Field(default=None) + """ + Speed multiplier for xAI TTS synthesis. + """ + + chunk_plan: typing_extensions.Annotated[ + typing.Optional[ChunkPlan], + FieldMetadata(alias="chunkPlan"), + pydantic.Field( + alias="chunkPlan", + description="This is the plan for chunking the model output before it is sent to the voice provider.", + ), + ] = None + fallback_plan: typing_extensions.Annotated[ + typing.Optional[FallbackPlan], + FieldMetadata(alias="fallbackPlan"), + pydantic.Field( + alias="fallbackPlan", + description="This is the plan for voice provider fallbacks in the event that the primary voice provider fails.", + ), + ] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/vapi/types/xai_voice_language.py b/src/vapi/types/xai_voice_language.py new file mode 100644 index 00000000..c76c9f71 --- /dev/null +++ b/src/vapi/types/xai_voice_language.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +XaiVoiceLanguage = typing.Union[ + typing.Literal[ + "auto", + "en", + "ar-EG", + "ar-SA", + "ar-AE", + "bn", + "zh", + "fr", + "de", + "hi", + "id", + "it", + "ja", + "ko", + "pt-BR", + "pt-PT", + "ru", + "es-MX", + "es-ES", + "tr", + "vi", + ], + typing.Any, +] diff --git a/src/vapi/types/xai_voice_voice_id.py b/src/vapi/types/xai_voice_voice_id.py new file mode 100644 index 00000000..69f847ce --- /dev/null +++ b/src/vapi/types/xai_voice_voice_id.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +XaiVoiceVoiceId = typing.Union[typing.Literal["eve", "ara", "rex", "sal", "leo"], typing.Any] diff --git a/src/vapi/types/xss_security_filter.py b/src/vapi/types/xss_security_filter.py index 82644a94..b19766a1 100644 --- a/src/vapi/types/xss_security_filter.py +++ b/src/vapi/types/xss_security_filter.py @@ -9,6 +9,10 @@ class XssSecurityFilter(UncheckedBaseModel): + """ + Filters potential cross-site scripting (XSS) patterns from transcripts. + """ + type: XssSecurityFilterType = pydantic.Field() """ The type of security threat to filter. From 3f1d52be7d0aba1b8fc4252b7ad868c1f769b9b7 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:17:13 +0000 Subject: [PATCH 2/4] [fern-autoversion] SDK regeneration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- .fern/metadata.json | 2 +- pyproject.toml | 2 +- src/vapi/core/client_wrapper.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index f0f4904e..e0399f0c 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -9,5 +9,5 @@ "client_class_name": "Vapi" }, "originGitCommit": "6814779f49cf598b695b50b865d00e771aa38afb", - "sdkVersion": "0.0.0.dev0" + "sdkVersion": "2.0.1" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 65676af2..fccdb60c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "vapi_server_sdk" -version = "0.0.0.dev0" +version = "2.0.1" description = "" readme = "README.md" authors = [] diff --git a/src/vapi/core/client_wrapper.py b/src/vapi/core/client_wrapper.py index 192024f2..a2abed4c 100644 --- a/src/vapi/core/client_wrapper.py +++ b/src/vapi/core/client_wrapper.py @@ -32,7 +32,7 @@ def get_headers(self) -> typing.Dict[str, str]: "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "vapi_server_sdk", - "X-Fern-SDK-Version": "0.0.0.dev0", + "X-Fern-SDK-Version": "2.0.1", **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Bearer {self._get_token()}" From a79a8fb450e44619380fdba34598885ad107d831 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:17:14 +0000 Subject: [PATCH 3/4] [fern-replay] advance lockfile --- .fern/replay.lock | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index d137dfe2..19778741 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -6,5 +6,11 @@ generations: timestamp: 2026-07-31T03:16:01.564Z cli_version: unknown generator_versions: {} -current_generation: 310b866cfaea845c2d9d5181f974b95c8bb1c743 + - commit_sha: 82693c152c0673840c6d399c4c9723a03a6ff87d + tree_hash: ce4dd953e1d58cfce3752c1f2dbe51d0caaf1f75 + timestamp: 2026-07-31T03:16:03.433Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.3.3 +current_generation: 82693c152c0673840c6d399c4c9723a03a6ff87d patches: [] From 4cecef7fa43ed53a932fe6854e8f19dd349ee995 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 03:17:14 +0000 Subject: [PATCH 4/4] SDK regeneration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🌿 Generated with Fern --- changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelog.md b/changelog.md index cd672f3b..4ecd22e2 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,5 @@ +## [2.0.1] - 2026-07-31 + ## 2.0.0 - 2026-06-24 ### Breaking Changes * **`CartesiaExperimentalControlsSpeedZero`** has been removed and replaced by **`CartesiaSpeedControlZero`**. Update any imports or type annotations referencing `CartesiaExperimentalControlsSpeedZero` to use `CartesiaSpeedControlZero` instead.