vapi_server_sdk 0.0.0.pre.alpha7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/core/file_utilities.rb +26 -0
- data/lib/environment.rb +7 -0
- data/lib/gemconfig.rb +14 -0
- data/lib/requests.rb +174 -0
- data/lib/types_export.rb +526 -0
- data/lib/vapi_server_sdk/analytics/client.rb +115 -0
- data/lib/vapi_server_sdk/assistants/client.rb +949 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +12 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +22 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_first_message_mode.rb +21 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +201 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +23 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +110 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +188 -0
- data/lib/vapi_server_sdk/blocks/client.rb +552 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_create_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_delete_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_get_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_update_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +96 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +163 -0
- data/lib/vapi_server_sdk/calls/client.rb +966 -0
- data/lib/vapi_server_sdk/files/client.rb +347 -0
- data/lib/vapi_server_sdk/logs/client.rb +174 -0
- data/lib/vapi_server_sdk/logs/types/logs_get_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/logs/types/logs_get_request_type.rb +12 -0
- data/lib/vapi_server_sdk/phone_numbers/client.rb +455 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +103 -0
- data/lib/vapi_server_sdk/squads/client.rb +1050 -0
- data/lib/vapi_server_sdk/tools/client.rb +473 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +122 -0
- data/lib/vapi_server_sdk/types/add_voice_to_provider_dto.rb +78 -0
- data/lib/vapi_server_sdk/types/analysis.rb +88 -0
- data/lib/vapi_server_sdk/types/analysis_cost.rb +93 -0
- data/lib/vapi_server_sdk/types/analysis_cost_analysis_type.rb +10 -0
- data/lib/vapi_server_sdk/types/analysis_cost_breakdown.rb +137 -0
- data/lib/vapi_server_sdk/types/analysis_plan.rb +103 -0
- data/lib/vapi_server_sdk/types/analytics_operation.rb +76 -0
- data/lib/vapi_server_sdk/types/analytics_operation_column.rb +17 -0
- data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +12 -0
- data/lib/vapi_server_sdk/types/analytics_query.rb +107 -0
- data/lib/vapi_server_sdk/types/analytics_query_group_by_item.rb +11 -0
- data/lib/vapi_server_sdk/types/analytics_query_result.rb +96 -0
- data/lib/vapi_server_sdk/types/anthropic_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/anthropic_model.rb +170 -0
- data/lib/vapi_server_sdk/types/anthropic_model_model.rb +11 -0
- data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/anyscale_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/anyscale_model.rb +169 -0
- data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/artifact.rb +133 -0
- data/lib/vapi_server_sdk/types/artifact_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/types/artifact_plan.rb +139 -0
- data/lib/vapi_server_sdk/types/assignment_mutation.rb +189 -0
- data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/assistant.rb +562 -0
- data/lib/vapi_server_sdk/types/assistant_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/assistant_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +199 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +539 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +199 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/assistant_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +128 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +21 -0
- data/lib/vapi_server_sdk/types/azure_voice.rb +104 -0
- data/lib/vapi_server_sdk/types/azure_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/azure_voice_id_enum.rb +9 -0
- data/lib/vapi_server_sdk/types/block_complete_message.rb +73 -0
- data/lib/vapi_server_sdk/types/block_complete_message_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/block_start_message.rb +73 -0
- data/lib/vapi_server_sdk/types/block_start_message_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/bot_message.rb +111 -0
- data/lib/vapi_server_sdk/types/bucket_plan.rb +139 -0
- data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +151 -0
- data/lib/vapi_server_sdk/types/buy_phone_number_dto_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +224 -0
- data/lib/vapi_server_sdk/types/byo_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +166 -0
- data/lib/vapi_server_sdk/types/call.rb +425 -0
- data/lib/vapi_server_sdk/types/call_costs_item.rb +146 -0
- data/lib/vapi_server_sdk/types/call_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +175 -0
- data/lib/vapi_server_sdk/types/call_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/types/call_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +11 -0
- data/lib/vapi_server_sdk/types/call_phone_call_transport.rb +10 -0
- data/lib/vapi_server_sdk/types/call_status.rb +12 -0
- data/lib/vapi_server_sdk/types/call_type.rb +10 -0
- data/lib/vapi_server_sdk/types/callback_step.rb +204 -0
- data/lib/vapi_server_sdk/types/callback_step_block.rb +108 -0
- data/lib/vapi_server_sdk/types/cartesia_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +113 -0
- data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +15 -0
- data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/chunk_plan.rb +128 -0
- data/lib/vapi_server_sdk/types/client_inbound_message.rb +63 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +61 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_control.rb +56 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_control_control.rb +10 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +109 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +67 -0
- data/lib/vapi_server_sdk/types/client_message.rb +65 -0
- data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +79 -0
- data/lib/vapi_server_sdk/types/client_message_conversation_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/client_message_hang.rb +47 -0
- data/lib/vapi_server_sdk/types/client_message_language_changed.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_message.rb +214 -0
- data/lib/vapi_server_sdk/types/client_message_metadata.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_model_output.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update.rb +67 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update_role.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update_status.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +75 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
- data/lib/vapi_server_sdk/types/client_message_transcript.rb +74 -0
- data/lib/vapi_server_sdk/types/client_message_transcript_role.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_transcript_transcript_type.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +47 -0
- data/lib/vapi_server_sdk/types/client_message_voice_input.rb +55 -0
- data/lib/vapi_server_sdk/types/clone_voice_dto.rb +83 -0
- data/lib/vapi_server_sdk/types/condition.rb +73 -0
- data/lib/vapi_server_sdk/types/condition_operator.rb +13 -0
- data/lib/vapi_server_sdk/types/conversation_block.rb +239 -0
- data/lib/vapi_server_sdk/types/conversation_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/cost_breakdown.rb +141 -0
- data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +529 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +199 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +21 -0
- data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +191 -0
- data/lib/vapi_server_sdk/types/create_byo_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +133 -0
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +206 -0
- data/lib/vapi_server_sdk/types/create_conversation_block_dto_messages_item.rb +95 -0
- data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_customer_dto.rb +117 -0
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_dtmf_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_end_call_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_function_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +158 -0
- data/lib/vapi_server_sdk/types/create_ghl_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +79 -0
- data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +158 -0
- data/lib/vapi_server_sdk/types/create_make_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_org_dto.rb +129 -0
- data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +191 -0
- data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_output_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/create_squad_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_token_dto.rb +81 -0
- data/lib/vapi_server_sdk/types/create_token_dto_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +168 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto.rb +131 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +159 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +121 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_messages_item.rb +121 -0
- data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +167 -0
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +155 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_voicemail_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_web_call_dto.rb +123 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +154 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/custom_llm_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/custom_llm_model.rb +204 -0
- data/lib/vapi_server_sdk/types/custom_llm_model_metadata_send_mode.rb +18 -0
- data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/deep_infra_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/deep_infra_model.rb +169 -0
- data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/deepgram_credential.rb +114 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +143 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber_language.rb +62 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +34 -0
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +18 -0
- data/lib/vapi_server_sdk/types/dtmf_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/dtmf_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +176 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_id.rb +54 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_id_enum.rb +21 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +12 -0
- data/lib/vapi_server_sdk/types/end_call_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/end_call_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/error.rb +55 -0
- data/lib/vapi_server_sdk/types/exact_replacement.rb +65 -0
- data/lib/vapi_server_sdk/types/file.rb +185 -0
- data/lib/vapi_server_sdk/types/file_status.rb +8 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +130 -0
- data/lib/vapi_server_sdk/types/format_plan_replacements_item.rb +94 -0
- data/lib/vapi_server_sdk/types/function_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/function_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/function_tool_provider_details.rb +71 -0
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +158 -0
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/gcp_credential.rb +138 -0
- data/lib/vapi_server_sdk/types/gcp_key.rb +143 -0
- data/lib/vapi_server_sdk/types/ghl_tool.rb +192 -0
- data/lib/vapi_server_sdk/types/ghl_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/ghl_tool_metadata.rb +67 -0
- data/lib/vapi_server_sdk/types/ghl_tool_provider_details.rb +115 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +173 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/gladia_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber.rb +122 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +108 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_language_behaviour.rb +9 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +8 -0
- data/lib/vapi_server_sdk/types/go_high_level_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/groq_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/groq_model.rb +170 -0
- data/lib/vapi_server_sdk/types/groq_model_model.rb +17 -0
- data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/handoff_step.rb +204 -0
- data/lib/vapi_server_sdk/types/handoff_step_block.rb +108 -0
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +167 -0
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +165 -0
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +66 -0
- data/lib/vapi_server_sdk/types/invite_user_dto_role.rb +9 -0
- data/lib/vapi_server_sdk/types/json_schema.rb +125 -0
- data/lib/vapi_server_sdk/types/json_schema_type.rb +21 -0
- data/lib/vapi_server_sdk/types/knowledge_base.rb +74 -0
- data/lib/vapi_server_sdk/types/lmnt_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/lmnt_voice.rb +104 -0
- data/lib/vapi_server_sdk/types/lmnt_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +8 -0
- data/lib/vapi_server_sdk/types/log.rb +248 -0
- data/lib/vapi_server_sdk/types/log_request_http_method.rb +12 -0
- data/lib/vapi_server_sdk/types/log_resource.rb +15 -0
- data/lib/vapi_server_sdk/types/log_type.rb +11 -0
- data/lib/vapi_server_sdk/types/logs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/make_credential.rb +118 -0
- data/lib/vapi_server_sdk/types/make_tool.rb +192 -0
- data/lib/vapi_server_sdk/types/make_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/make_tool_metadata.rb +67 -0
- data/lib/vapi_server_sdk/types/make_tool_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +173 -0
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/message_plan.rb +107 -0
- data/lib/vapi_server_sdk/types/metrics.rb +165 -0
- data/lib/vapi_server_sdk/types/model_based_condition.rb +117 -0
- data/lib/vapi_server_sdk/types/model_cost.rb +106 -0
- data/lib/vapi_server_sdk/types/monitor.rb +71 -0
- data/lib/vapi_server_sdk/types/monitor_plan.rb +85 -0
- data/lib/vapi_server_sdk/types/neets_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/neets_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +7 -0
- data/lib/vapi_server_sdk/types/open_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/open_ai_function.rb +96 -0
- data/lib/vapi_server_sdk/types/open_ai_function_parameters.rb +85 -0
- data/lib/vapi_server_sdk/types/open_ai_message.rb +68 -0
- data/lib/vapi_server_sdk/types/open_ai_message_role.rb +11 -0
- data/lib/vapi_server_sdk/types/open_ai_model.rb +191 -0
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +23 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +24 -0
- data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/open_ai_voice.rb +99 -0
- data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +13 -0
- data/lib/vapi_server_sdk/types/open_router_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/open_router_model.rb +169 -0
- data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/org.rb +212 -0
- data/lib/vapi_server_sdk/types/org_plan.rb +79 -0
- data/lib/vapi_server_sdk/types/output_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/output_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/pagination_meta.rb +72 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +169 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/play_ht_credential.rb +109 -0
- data/lib/vapi_server_sdk/types/play_ht_voice.rb +166 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_emotion.rb +19 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_id_enum.rb +16 -0
- data/lib/vapi_server_sdk/types/punctuation_boundary.rb +21 -0
- data/lib/vapi_server_sdk/types/regex_option.rb +74 -0
- data/lib/vapi_server_sdk/types/regex_option_type.rb +13 -0
- data/lib/vapi_server_sdk/types/regex_replacement.rb +82 -0
- data/lib/vapi_server_sdk/types/rime_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice.rb +114 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +87 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +9 -0
- data/lib/vapi_server_sdk/types/rule_based_condition.rb +195 -0
- data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +14 -0
- data/lib/vapi_server_sdk/types/runpod_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/s_3_credential.rb +134 -0
- data/lib/vapi_server_sdk/types/sbc_configuration.rb +47 -0
- data/lib/vapi_server_sdk/types/server.rb +82 -0
- data/lib/vapi_server_sdk/types/server_message.rb +77 -0
- data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +197 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +241 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +147 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +176 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_hang.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_language_changed.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_language_changed_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_message.rb +285 -0
- data/lib/vapi_server_sdk/types/server_message_model_output.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +192 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_request.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_response.rb +65 -0
- data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +162 -0
- data/lib/vapi_server_sdk/types/server_message_response_assistant_request_destination.rb +98 -0
- data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +85 -0
- data/lib/vapi_server_sdk/types/server_message_response_tool_calls.rb +71 -0
- data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +75 -0
- data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/server_message_response_voice_request.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update.rb +187 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_role.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_status.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_status_update.rb +255 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +175 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +12 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
- data/lib/vapi_server_sdk/types/server_message_transcript.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_role.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_transcript_type.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +171 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +213 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_voice_input.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_voice_request.rb +185 -0
- data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/sip_trunk_gateway.rb +138 -0
- data/lib/vapi_server_sdk/types/sip_trunk_gateway_outbound_protocol.rb +12 -0
- data/lib/vapi_server_sdk/types/sip_trunk_outbound_authentication_plan.rb +86 -0
- data/lib/vapi_server_sdk/types/sip_trunk_outbound_sip_register_plan.rb +74 -0
- data/lib/vapi_server_sdk/types/squad.rb +132 -0
- data/lib/vapi_server_sdk/types/squad_member_dto.rb +113 -0
- data/lib/vapi_server_sdk/types/start_speaking_plan.rb +119 -0
- data/lib/vapi_server_sdk/types/step_destination.rb +82 -0
- data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +120 -0
- data/lib/vapi_server_sdk/types/structured_data_plan.rb +140 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +161 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan_rubric.rb +29 -0
- data/lib/vapi_server_sdk/types/summary_plan.rb +110 -0
- data/lib/vapi_server_sdk/types/sync_voice_library_dto.rb +58 -0
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +16 -0
- data/lib/vapi_server_sdk/types/system_message.rb +79 -0
- data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +72 -0
- data/lib/vapi_server_sdk/types/talkscriber_transcriber_language.rb +109 -0
- data/lib/vapi_server_sdk/types/template.rb +164 -0
- data/lib/vapi_server_sdk/types/template_details.rb +159 -0
- data/lib/vapi_server_sdk/types/template_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/template_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/template_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/time_range.rb +91 -0
- data/lib/vapi_server_sdk/types/time_range_step.rb +18 -0
- data/lib/vapi_server_sdk/types/together_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/together_ai_model.rb +169 -0
- data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/token.rb +127 -0
- data/lib/vapi_server_sdk/types/token_restrictions.rb +103 -0
- data/lib/vapi_server_sdk/types/token_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/tool_call.rb +78 -0
- data/lib/vapi_server_sdk/types/tool_call_block.rb +201 -0
- data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/tool_call_function.rb +65 -0
- data/lib/vapi_server_sdk/types/tool_call_message.rb +92 -0
- data/lib/vapi_server_sdk/types/tool_call_result.rb +126 -0
- data/lib/vapi_server_sdk/types/tool_call_result_message.rb +100 -0
- data/lib/vapi_server_sdk/types/tool_call_result_message_item.rb +94 -0
- data/lib/vapi_server_sdk/types/tool_message_complete.rb +130 -0
- data/lib/vapi_server_sdk/types/tool_message_complete_role.rb +24 -0
- data/lib/vapi_server_sdk/types/tool_message_delayed.rb +86 -0
- data/lib/vapi_server_sdk/types/tool_message_failed.rb +88 -0
- data/lib/vapi_server_sdk/types/tool_message_start.rb +73 -0
- data/lib/vapi_server_sdk/types/tool_template_metadata.rb +78 -0
- data/lib/vapi_server_sdk/types/tool_template_setup.rb +86 -0
- data/lib/vapi_server_sdk/types/transcriber_cost.rb +90 -0
- data/lib/vapi_server_sdk/types/transcript_plan.rb +122 -0
- data/lib/vapi_server_sdk/types/transcription_endpointing_plan.rb +109 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +120 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +181 -0
- data/lib/vapi_server_sdk/types/transfer_destination_number.rb +163 -0
- data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +90 -0
- data/lib/vapi_server_sdk/types/transfer_destination_step.rb +90 -0
- data/lib/vapi_server_sdk/types/transfer_mode.rb +8 -0
- data/lib/vapi_server_sdk/types/transport_configuration_twilio.rb +125 -0
- data/lib/vapi_server_sdk/types/transport_configuration_twilio_recording_channels.rb +16 -0
- data/lib/vapi_server_sdk/types/transport_cost.rb +67 -0
- data/lib/vapi_server_sdk/types/twilio_credential.rb +110 -0
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +200 -0
- data/lib/vapi_server_sdk/types/twilio_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/twilio_voicemail_detection.rb +248 -0
- data/lib/vapi_server_sdk/types/twilio_voicemail_detection_voicemail_detection_types_item.rb +13 -0
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +21 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +133 -0
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +79 -0
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_org_dto.rb +129 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto.rb +131 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +159 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/update_user_role_dto.rb +66 -0
- data/lib/vapi_server_sdk/types/update_user_role_dto_role.rb +9 -0
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/user.rb +95 -0
- data/lib/vapi_server_sdk/types/user_message.rb +102 -0
- data/lib/vapi_server_sdk/types/vapi_cost.rb +67 -0
- data/lib/vapi_server_sdk/types/vapi_model.rb +181 -0
- data/lib/vapi_server_sdk/types/vapi_model_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +188 -0
- data/lib/vapi_server_sdk/types/vapi_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/voice_cost.rb +90 -0
- data/lib/vapi_server_sdk/types/voice_library.rb +209 -0
- data/lib/vapi_server_sdk/types/voice_library_gender.rb +9 -0
- data/lib/vapi_server_sdk/types/voice_library_voice_response.rb +111 -0
- data/lib/vapi_server_sdk/types/vonage_credential.rb +128 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +194 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/workflow_block.rb +187 -0
- data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +94 -0
- data/lib/vapi_server_sdk.rb +110 -0
- metadata +697 -0
@@ -0,0 +1,138 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "sip_trunk_gateway_outbound_protocol"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class SipTrunkGateway
|
9
|
+
# @return [String] This is the address of the gateway. It can be an IPv4 address like 1.1.1.1 or a
|
10
|
+
# fully qualified domain name like my-sip-trunk.pstn.twilio.com.
|
11
|
+
attr_reader :ip
|
12
|
+
# @return [Float] This is the port number of the gateway. Default is 5060.
|
13
|
+
# @default 5060
|
14
|
+
attr_reader :port
|
15
|
+
# @return [Float] This is the netmask of the gateway. Defaults to 32.
|
16
|
+
# @default 32
|
17
|
+
attr_reader :netmask
|
18
|
+
# @return [Boolean] This is whether inbound calls are allowed from this gateway. Default is true.
|
19
|
+
# @default true
|
20
|
+
attr_reader :inbound_enabled
|
21
|
+
# @return [Boolean] This is whether outbound calls should be sent to this gateway. Default is true.
|
22
|
+
# Note, if netmask is less than 32, it doesn't affect the outbound IPs that are
|
23
|
+
# tried. 1 attempt is made to `ip:port`.
|
24
|
+
# @default true
|
25
|
+
attr_reader :outbound_enabled
|
26
|
+
# @return [Vapi::SipTrunkGatewayOutboundProtocol] This is the protocol to use for SIP signaling outbound calls. Default is udp.
|
27
|
+
# @default udp
|
28
|
+
attr_reader :outbound_protocol
|
29
|
+
# @return [Boolean] This is whether to send options ping to the gateway. This can be used to check
|
30
|
+
# if the gateway is reachable. Default is false.
|
31
|
+
# This is useful for high availability setups where you want to check if the
|
32
|
+
# gateway is reachable before routing calls to it. Note, if no gateway for a trunk
|
33
|
+
# is reachable, outbound calls will be rejected.
|
34
|
+
# @default false
|
35
|
+
attr_reader :options_ping_enabled
|
36
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
37
|
+
attr_reader :additional_properties
|
38
|
+
# @return [Object]
|
39
|
+
attr_reader :_field_set
|
40
|
+
protected :_field_set
|
41
|
+
|
42
|
+
OMIT = Object.new
|
43
|
+
|
44
|
+
# @param ip [String] This is the address of the gateway. It can be an IPv4 address like 1.1.1.1 or a
|
45
|
+
# fully qualified domain name like my-sip-trunk.pstn.twilio.com.
|
46
|
+
# @param port [Float] This is the port number of the gateway. Default is 5060.
|
47
|
+
# @default 5060
|
48
|
+
# @param netmask [Float] This is the netmask of the gateway. Defaults to 32.
|
49
|
+
# @default 32
|
50
|
+
# @param inbound_enabled [Boolean] This is whether inbound calls are allowed from this gateway. Default is true.
|
51
|
+
# @default true
|
52
|
+
# @param outbound_enabled [Boolean] This is whether outbound calls should be sent to this gateway. Default is true.
|
53
|
+
# Note, if netmask is less than 32, it doesn't affect the outbound IPs that are
|
54
|
+
# tried. 1 attempt is made to `ip:port`.
|
55
|
+
# @default true
|
56
|
+
# @param outbound_protocol [Vapi::SipTrunkGatewayOutboundProtocol] This is the protocol to use for SIP signaling outbound calls. Default is udp.
|
57
|
+
# @default udp
|
58
|
+
# @param options_ping_enabled [Boolean] This is whether to send options ping to the gateway. This can be used to check
|
59
|
+
# if the gateway is reachable. Default is false.
|
60
|
+
# This is useful for high availability setups where you want to check if the
|
61
|
+
# gateway is reachable before routing calls to it. Note, if no gateway for a trunk
|
62
|
+
# is reachable, outbound calls will be rejected.
|
63
|
+
# @default false
|
64
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
65
|
+
# @return [Vapi::SipTrunkGateway]
|
66
|
+
def initialize(ip:, port: OMIT, netmask: OMIT, inbound_enabled: OMIT, outbound_enabled: OMIT,
|
67
|
+
outbound_protocol: OMIT, options_ping_enabled: OMIT, additional_properties: nil)
|
68
|
+
@ip = ip
|
69
|
+
@port = port if port != OMIT
|
70
|
+
@netmask = netmask if netmask != OMIT
|
71
|
+
@inbound_enabled = inbound_enabled if inbound_enabled != OMIT
|
72
|
+
@outbound_enabled = outbound_enabled if outbound_enabled != OMIT
|
73
|
+
@outbound_protocol = outbound_protocol if outbound_protocol != OMIT
|
74
|
+
@options_ping_enabled = options_ping_enabled if options_ping_enabled != OMIT
|
75
|
+
@additional_properties = additional_properties
|
76
|
+
@_field_set = {
|
77
|
+
"ip": ip,
|
78
|
+
"port": port,
|
79
|
+
"netmask": netmask,
|
80
|
+
"inboundEnabled": inbound_enabled,
|
81
|
+
"outboundEnabled": outbound_enabled,
|
82
|
+
"outboundProtocol": outbound_protocol,
|
83
|
+
"optionsPingEnabled": options_ping_enabled
|
84
|
+
}.reject do |_k, v|
|
85
|
+
v == OMIT
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# Deserialize a JSON object to an instance of SipTrunkGateway
|
90
|
+
#
|
91
|
+
# @param json_object [String]
|
92
|
+
# @return [Vapi::SipTrunkGateway]
|
93
|
+
def self.from_json(json_object:)
|
94
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
95
|
+
parsed_json = JSON.parse(json_object)
|
96
|
+
ip = parsed_json["ip"]
|
97
|
+
port = parsed_json["port"]
|
98
|
+
netmask = parsed_json["netmask"]
|
99
|
+
inbound_enabled = parsed_json["inboundEnabled"]
|
100
|
+
outbound_enabled = parsed_json["outboundEnabled"]
|
101
|
+
outbound_protocol = parsed_json["outboundProtocol"]
|
102
|
+
options_ping_enabled = parsed_json["optionsPingEnabled"]
|
103
|
+
new(
|
104
|
+
ip: ip,
|
105
|
+
port: port,
|
106
|
+
netmask: netmask,
|
107
|
+
inbound_enabled: inbound_enabled,
|
108
|
+
outbound_enabled: outbound_enabled,
|
109
|
+
outbound_protocol: outbound_protocol,
|
110
|
+
options_ping_enabled: options_ping_enabled,
|
111
|
+
additional_properties: struct
|
112
|
+
)
|
113
|
+
end
|
114
|
+
|
115
|
+
# Serialize an instance of SipTrunkGateway to a JSON object
|
116
|
+
#
|
117
|
+
# @return [String]
|
118
|
+
def to_json(*_args)
|
119
|
+
@_field_set&.to_json
|
120
|
+
end
|
121
|
+
|
122
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
123
|
+
# hash and check each fields type against the current object's property
|
124
|
+
# definitions.
|
125
|
+
#
|
126
|
+
# @param obj [Object]
|
127
|
+
# @return [Void]
|
128
|
+
def self.validate_raw(obj:)
|
129
|
+
obj.ip.is_a?(String) != false || raise("Passed value for field obj.ip is not the expected type, validation failed.")
|
130
|
+
obj.port&.is_a?(Float) != false || raise("Passed value for field obj.port is not the expected type, validation failed.")
|
131
|
+
obj.netmask&.is_a?(Float) != false || raise("Passed value for field obj.netmask is not the expected type, validation failed.")
|
132
|
+
obj.inbound_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.inbound_enabled is not the expected type, validation failed.")
|
133
|
+
obj.outbound_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.outbound_enabled is not the expected type, validation failed.")
|
134
|
+
obj.outbound_protocol&.is_a?(Vapi::SipTrunkGatewayOutboundProtocol) != false || raise("Passed value for field obj.outbound_protocol is not the expected type, validation failed.")
|
135
|
+
obj.options_ping_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.options_ping_enabled is not the expected type, validation failed.")
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Vapi
|
4
|
+
# This is the protocol to use for SIP signaling outbound calls. Default is udp.
|
5
|
+
# @default udp
|
6
|
+
class SipTrunkGatewayOutboundProtocol
|
7
|
+
TLS_SRTP = "tls/srtp"
|
8
|
+
TCP = "tcp"
|
9
|
+
TLS = "tls"
|
10
|
+
UDP = "udp"
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "sip_trunk_outbound_sip_register_plan"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class SipTrunkOutboundAuthenticationPlan
|
9
|
+
# @return [String] This is not returned in the API.
|
10
|
+
attr_reader :auth_password
|
11
|
+
# @return [String]
|
12
|
+
attr_reader :auth_username
|
13
|
+
# @return [Vapi::SipTrunkOutboundSipRegisterPlan] This can be used to configure if SIP register is required by the SIP trunk. If
|
14
|
+
# not provided, no SIP registration will be attempted.
|
15
|
+
attr_reader :sip_register_plan
|
16
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
17
|
+
attr_reader :additional_properties
|
18
|
+
# @return [Object]
|
19
|
+
attr_reader :_field_set
|
20
|
+
protected :_field_set
|
21
|
+
|
22
|
+
OMIT = Object.new
|
23
|
+
|
24
|
+
# @param auth_password [String] This is not returned in the API.
|
25
|
+
# @param auth_username [String]
|
26
|
+
# @param sip_register_plan [Vapi::SipTrunkOutboundSipRegisterPlan] This can be used to configure if SIP register is required by the SIP trunk. If
|
27
|
+
# not provided, no SIP registration will be attempted.
|
28
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
29
|
+
# @return [Vapi::SipTrunkOutboundAuthenticationPlan]
|
30
|
+
def initialize(auth_password: OMIT, auth_username: OMIT, sip_register_plan: OMIT, additional_properties: nil)
|
31
|
+
@auth_password = auth_password if auth_password != OMIT
|
32
|
+
@auth_username = auth_username if auth_username != OMIT
|
33
|
+
@sip_register_plan = sip_register_plan if sip_register_plan != OMIT
|
34
|
+
@additional_properties = additional_properties
|
35
|
+
@_field_set = {
|
36
|
+
"authPassword": auth_password,
|
37
|
+
"authUsername": auth_username,
|
38
|
+
"sipRegisterPlan": sip_register_plan
|
39
|
+
}.reject do |_k, v|
|
40
|
+
v == OMIT
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Deserialize a JSON object to an instance of SipTrunkOutboundAuthenticationPlan
|
45
|
+
#
|
46
|
+
# @param json_object [String]
|
47
|
+
# @return [Vapi::SipTrunkOutboundAuthenticationPlan]
|
48
|
+
def self.from_json(json_object:)
|
49
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
50
|
+
parsed_json = JSON.parse(json_object)
|
51
|
+
auth_password = parsed_json["authPassword"]
|
52
|
+
auth_username = parsed_json["authUsername"]
|
53
|
+
if parsed_json["sipRegisterPlan"].nil?
|
54
|
+
sip_register_plan = nil
|
55
|
+
else
|
56
|
+
sip_register_plan = parsed_json["sipRegisterPlan"].to_json
|
57
|
+
sip_register_plan = Vapi::SipTrunkOutboundSipRegisterPlan.from_json(json_object: sip_register_plan)
|
58
|
+
end
|
59
|
+
new(
|
60
|
+
auth_password: auth_password,
|
61
|
+
auth_username: auth_username,
|
62
|
+
sip_register_plan: sip_register_plan,
|
63
|
+
additional_properties: struct
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Serialize an instance of SipTrunkOutboundAuthenticationPlan to a JSON object
|
68
|
+
#
|
69
|
+
# @return [String]
|
70
|
+
def to_json(*_args)
|
71
|
+
@_field_set&.to_json
|
72
|
+
end
|
73
|
+
|
74
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
75
|
+
# hash and check each fields type against the current object's property
|
76
|
+
# definitions.
|
77
|
+
#
|
78
|
+
# @param obj [Object]
|
79
|
+
# @return [Void]
|
80
|
+
def self.validate_raw(obj:)
|
81
|
+
obj.auth_password&.is_a?(String) != false || raise("Passed value for field obj.auth_password is not the expected type, validation failed.")
|
82
|
+
obj.auth_username&.is_a?(String) != false || raise("Passed value for field obj.auth_username is not the expected type, validation failed.")
|
83
|
+
obj.sip_register_plan.nil? || Vapi::SipTrunkOutboundSipRegisterPlan.validate_raw(obj: obj.sip_register_plan)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class SipTrunkOutboundSipRegisterPlan
|
8
|
+
# @return [String]
|
9
|
+
attr_reader :domain
|
10
|
+
# @return [String]
|
11
|
+
attr_reader :username
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :realm
|
14
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
15
|
+
attr_reader :additional_properties
|
16
|
+
# @return [Object]
|
17
|
+
attr_reader :_field_set
|
18
|
+
protected :_field_set
|
19
|
+
|
20
|
+
OMIT = Object.new
|
21
|
+
|
22
|
+
# @param domain [String]
|
23
|
+
# @param username [String]
|
24
|
+
# @param realm [String]
|
25
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
# @return [Vapi::SipTrunkOutboundSipRegisterPlan]
|
27
|
+
def initialize(domain: OMIT, username: OMIT, realm: OMIT, additional_properties: nil)
|
28
|
+
@domain = domain if domain != OMIT
|
29
|
+
@username = username if username != OMIT
|
30
|
+
@realm = realm if realm != OMIT
|
31
|
+
@additional_properties = additional_properties
|
32
|
+
@_field_set = { "domain": domain, "username": username, "realm": realm }.reject do |_k, v|
|
33
|
+
v == OMIT
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Deserialize a JSON object to an instance of SipTrunkOutboundSipRegisterPlan
|
38
|
+
#
|
39
|
+
# @param json_object [String]
|
40
|
+
# @return [Vapi::SipTrunkOutboundSipRegisterPlan]
|
41
|
+
def self.from_json(json_object:)
|
42
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
43
|
+
parsed_json = JSON.parse(json_object)
|
44
|
+
domain = parsed_json["domain"]
|
45
|
+
username = parsed_json["username"]
|
46
|
+
realm = parsed_json["realm"]
|
47
|
+
new(
|
48
|
+
domain: domain,
|
49
|
+
username: username,
|
50
|
+
realm: realm,
|
51
|
+
additional_properties: struct
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Serialize an instance of SipTrunkOutboundSipRegisterPlan to a JSON object
|
56
|
+
#
|
57
|
+
# @return [String]
|
58
|
+
def to_json(*_args)
|
59
|
+
@_field_set&.to_json
|
60
|
+
end
|
61
|
+
|
62
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
63
|
+
# hash and check each fields type against the current object's property
|
64
|
+
# definitions.
|
65
|
+
#
|
66
|
+
# @param obj [Object]
|
67
|
+
# @return [Void]
|
68
|
+
def self.validate_raw(obj:)
|
69
|
+
obj.domain&.is_a?(String) != false || raise("Passed value for field obj.domain is not the expected type, validation failed.")
|
70
|
+
obj.username&.is_a?(String) != false || raise("Passed value for field obj.username is not the expected type, validation failed.")
|
71
|
+
obj.realm&.is_a?(String) != false || raise("Passed value for field obj.realm is not the expected type, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,132 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "squad_member_dto"
|
4
|
+
require_relative "assistant_overrides"
|
5
|
+
require "date"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class Squad
|
11
|
+
# @return [String] This is the name of the squad.
|
12
|
+
attr_reader :name
|
13
|
+
# @return [Array<Vapi::SquadMemberDto>] This is the list of assistants that make up the squad.
|
14
|
+
# The call will start with the first assistant in the list.
|
15
|
+
attr_reader :members
|
16
|
+
# @return [Vapi::AssistantOverrides] This can be used to override all the assistants' settings and provide values for
|
17
|
+
# their template variables.
|
18
|
+
# Both `membersOverrides` and `members[n].assistantOverrides` can be used
|
19
|
+
# together. First, `members[n].assistantOverrides` is applied. Then,
|
20
|
+
# `membersOverrides` is applied as a global override.
|
21
|
+
attr_reader :members_overrides
|
22
|
+
# @return [String] This is the unique identifier for the squad.
|
23
|
+
attr_reader :id
|
24
|
+
# @return [String] This is the unique identifier for the org that this squad belongs to.
|
25
|
+
attr_reader :org_id
|
26
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the squad was created.
|
27
|
+
attr_reader :created_at
|
28
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the squad was last updated.
|
29
|
+
attr_reader :updated_at
|
30
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
31
|
+
attr_reader :additional_properties
|
32
|
+
# @return [Object]
|
33
|
+
attr_reader :_field_set
|
34
|
+
protected :_field_set
|
35
|
+
|
36
|
+
OMIT = Object.new
|
37
|
+
|
38
|
+
# @param name [String] This is the name of the squad.
|
39
|
+
# @param members [Array<Vapi::SquadMemberDto>] This is the list of assistants that make up the squad.
|
40
|
+
# The call will start with the first assistant in the list.
|
41
|
+
# @param members_overrides [Vapi::AssistantOverrides] This can be used to override all the assistants' settings and provide values for
|
42
|
+
# their template variables.
|
43
|
+
# Both `membersOverrides` and `members[n].assistantOverrides` can be used
|
44
|
+
# together. First, `members[n].assistantOverrides` is applied. Then,
|
45
|
+
# `membersOverrides` is applied as a global override.
|
46
|
+
# @param id [String] This is the unique identifier for the squad.
|
47
|
+
# @param org_id [String] This is the unique identifier for the org that this squad belongs to.
|
48
|
+
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the squad was created.
|
49
|
+
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the squad was last updated.
|
50
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
51
|
+
# @return [Vapi::Squad]
|
52
|
+
def initialize(members:, id:, org_id:, created_at:, updated_at:, name: OMIT, members_overrides: OMIT,
|
53
|
+
additional_properties: nil)
|
54
|
+
@name = name if name != OMIT
|
55
|
+
@members = members
|
56
|
+
@members_overrides = members_overrides if members_overrides != OMIT
|
57
|
+
@id = id
|
58
|
+
@org_id = org_id
|
59
|
+
@created_at = created_at
|
60
|
+
@updated_at = updated_at
|
61
|
+
@additional_properties = additional_properties
|
62
|
+
@_field_set = {
|
63
|
+
"name": name,
|
64
|
+
"members": members,
|
65
|
+
"membersOverrides": members_overrides,
|
66
|
+
"id": id,
|
67
|
+
"orgId": org_id,
|
68
|
+
"createdAt": created_at,
|
69
|
+
"updatedAt": updated_at
|
70
|
+
}.reject do |_k, v|
|
71
|
+
v == OMIT
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# Deserialize a JSON object to an instance of Squad
|
76
|
+
#
|
77
|
+
# @param json_object [String]
|
78
|
+
# @return [Vapi::Squad]
|
79
|
+
def self.from_json(json_object:)
|
80
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
81
|
+
parsed_json = JSON.parse(json_object)
|
82
|
+
name = parsed_json["name"]
|
83
|
+
members = parsed_json["members"]&.map do |item|
|
84
|
+
item = item.to_json
|
85
|
+
Vapi::SquadMemberDto.from_json(json_object: item)
|
86
|
+
end
|
87
|
+
if parsed_json["membersOverrides"].nil?
|
88
|
+
members_overrides = nil
|
89
|
+
else
|
90
|
+
members_overrides = parsed_json["membersOverrides"].to_json
|
91
|
+
members_overrides = Vapi::AssistantOverrides.from_json(json_object: members_overrides)
|
92
|
+
end
|
93
|
+
id = parsed_json["id"]
|
94
|
+
org_id = parsed_json["orgId"]
|
95
|
+
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
96
|
+
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
97
|
+
new(
|
98
|
+
name: name,
|
99
|
+
members: members,
|
100
|
+
members_overrides: members_overrides,
|
101
|
+
id: id,
|
102
|
+
org_id: org_id,
|
103
|
+
created_at: created_at,
|
104
|
+
updated_at: updated_at,
|
105
|
+
additional_properties: struct
|
106
|
+
)
|
107
|
+
end
|
108
|
+
|
109
|
+
# Serialize an instance of Squad to a JSON object
|
110
|
+
#
|
111
|
+
# @return [String]
|
112
|
+
def to_json(*_args)
|
113
|
+
@_field_set&.to_json
|
114
|
+
end
|
115
|
+
|
116
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
117
|
+
# hash and check each fields type against the current object's property
|
118
|
+
# definitions.
|
119
|
+
#
|
120
|
+
# @param obj [Object]
|
121
|
+
# @return [Void]
|
122
|
+
def self.validate_raw(obj:)
|
123
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
124
|
+
obj.members.is_a?(Array) != false || raise("Passed value for field obj.members is not the expected type, validation failed.")
|
125
|
+
obj.members_overrides.nil? || Vapi::AssistantOverrides.validate_raw(obj: obj.members_overrides)
|
126
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
127
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
128
|
+
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
129
|
+
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "create_assistant_dto"
|
4
|
+
require_relative "assistant_overrides"
|
5
|
+
require_relative "transfer_destination_assistant"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class SquadMemberDto
|
11
|
+
# @return [String] This is the assistant that will be used for the call. To use a transient
|
12
|
+
# assistant, use `assistant` instead.
|
13
|
+
attr_reader :assistant_id
|
14
|
+
# @return [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
|
15
|
+
# assistant, use `assistantId` instead.
|
16
|
+
attr_reader :assistant
|
17
|
+
# @return [Vapi::AssistantOverrides] This can be used to override the assistant's settings and provide values for
|
18
|
+
# it's template variables.
|
19
|
+
attr_reader :assistant_overrides
|
20
|
+
# @return [Array<Vapi::TransferDestinationAssistant>] These are the others assistants that this assistant can transfer to.
|
21
|
+
# If the assistant already has transfer call tool, these destinations are just
|
22
|
+
# appended to existing ones.
|
23
|
+
attr_reader :assistant_destinations
|
24
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
25
|
+
attr_reader :additional_properties
|
26
|
+
# @return [Object]
|
27
|
+
attr_reader :_field_set
|
28
|
+
protected :_field_set
|
29
|
+
|
30
|
+
OMIT = Object.new
|
31
|
+
|
32
|
+
# @param assistant_id [String] This is the assistant that will be used for the call. To use a transient
|
33
|
+
# assistant, use `assistant` instead.
|
34
|
+
# @param assistant [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
|
35
|
+
# assistant, use `assistantId` instead.
|
36
|
+
# @param assistant_overrides [Vapi::AssistantOverrides] This can be used to override the assistant's settings and provide values for
|
37
|
+
# it's template variables.
|
38
|
+
# @param assistant_destinations [Array<Vapi::TransferDestinationAssistant>] These are the others assistants that this assistant can transfer to.
|
39
|
+
# If the assistant already has transfer call tool, these destinations are just
|
40
|
+
# appended to existing ones.
|
41
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
|
+
# @return [Vapi::SquadMemberDto]
|
43
|
+
def initialize(assistant_id: OMIT, assistant: OMIT, assistant_overrides: OMIT, assistant_destinations: OMIT,
|
44
|
+
additional_properties: nil)
|
45
|
+
@assistant_id = assistant_id if assistant_id != OMIT
|
46
|
+
@assistant = assistant if assistant != OMIT
|
47
|
+
@assistant_overrides = assistant_overrides if assistant_overrides != OMIT
|
48
|
+
@assistant_destinations = assistant_destinations if assistant_destinations != OMIT
|
49
|
+
@additional_properties = additional_properties
|
50
|
+
@_field_set = {
|
51
|
+
"assistantId": assistant_id,
|
52
|
+
"assistant": assistant,
|
53
|
+
"assistantOverrides": assistant_overrides,
|
54
|
+
"assistantDestinations": assistant_destinations
|
55
|
+
}.reject do |_k, v|
|
56
|
+
v == OMIT
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# Deserialize a JSON object to an instance of SquadMemberDto
|
61
|
+
#
|
62
|
+
# @param json_object [String]
|
63
|
+
# @return [Vapi::SquadMemberDto]
|
64
|
+
def self.from_json(json_object:)
|
65
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
66
|
+
parsed_json = JSON.parse(json_object)
|
67
|
+
assistant_id = parsed_json["assistantId"]
|
68
|
+
if parsed_json["assistant"].nil?
|
69
|
+
assistant = nil
|
70
|
+
else
|
71
|
+
assistant = parsed_json["assistant"].to_json
|
72
|
+
assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
|
73
|
+
end
|
74
|
+
if parsed_json["assistantOverrides"].nil?
|
75
|
+
assistant_overrides = nil
|
76
|
+
else
|
77
|
+
assistant_overrides = parsed_json["assistantOverrides"].to_json
|
78
|
+
assistant_overrides = Vapi::AssistantOverrides.from_json(json_object: assistant_overrides)
|
79
|
+
end
|
80
|
+
assistant_destinations = parsed_json["assistantDestinations"]&.map do |item|
|
81
|
+
item = item.to_json
|
82
|
+
Vapi::TransferDestinationAssistant.from_json(json_object: item)
|
83
|
+
end
|
84
|
+
new(
|
85
|
+
assistant_id: assistant_id,
|
86
|
+
assistant: assistant,
|
87
|
+
assistant_overrides: assistant_overrides,
|
88
|
+
assistant_destinations: assistant_destinations,
|
89
|
+
additional_properties: struct
|
90
|
+
)
|
91
|
+
end
|
92
|
+
|
93
|
+
# Serialize an instance of SquadMemberDto to a JSON object
|
94
|
+
#
|
95
|
+
# @return [String]
|
96
|
+
def to_json(*_args)
|
97
|
+
@_field_set&.to_json
|
98
|
+
end
|
99
|
+
|
100
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
101
|
+
# hash and check each fields type against the current object's property
|
102
|
+
# definitions.
|
103
|
+
#
|
104
|
+
# @param obj [Object]
|
105
|
+
# @return [Void]
|
106
|
+
def self.validate_raw(obj:)
|
107
|
+
obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
|
108
|
+
obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
|
109
|
+
obj.assistant_overrides.nil? || Vapi::AssistantOverrides.validate_raw(obj: obj.assistant_overrides)
|
110
|
+
obj.assistant_destinations&.is_a?(Array) != false || raise("Passed value for field obj.assistant_destinations is not the expected type, validation failed.")
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "transcription_endpointing_plan"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class StartSpeakingPlan
|
9
|
+
# @return [Float] This is how long assistant waits before speaking. Defaults to 0.4.
|
10
|
+
# This is the minimum it will wait but if there is latency is the pipeline, this
|
11
|
+
# minimum will be exceeded. This is really a stopgap in case the pipeline is
|
12
|
+
# moving too fast.
|
13
|
+
# Example:
|
14
|
+
# - If model generates tokens and voice generates bytes within 100ms, the pipeline
|
15
|
+
# still waits 300ms before outputting speech.
|
16
|
+
# Usage:
|
17
|
+
# - If the customer is taking long pauses, set this to a higher value.
|
18
|
+
# - If the assistant is accidentally jumping in too much, set this to a higher
|
19
|
+
# value.
|
20
|
+
# @default 0.4
|
21
|
+
attr_reader :wait_seconds
|
22
|
+
# @return [Boolean] This determines if a customer speech is considered done (endpointing) using the
|
23
|
+
# VAP model on customer's speech. This is good for middle-of-thought detection.
|
24
|
+
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
25
|
+
# Default `false` since experimental.
|
26
|
+
# @default false
|
27
|
+
attr_reader :smart_endpointing_enabled
|
28
|
+
# @return [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
|
29
|
+
# transcription of customer's speech.
|
30
|
+
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
31
|
+
attr_reader :transcription_endpointing_plan
|
32
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
33
|
+
attr_reader :additional_properties
|
34
|
+
# @return [Object]
|
35
|
+
attr_reader :_field_set
|
36
|
+
protected :_field_set
|
37
|
+
|
38
|
+
OMIT = Object.new
|
39
|
+
|
40
|
+
# @param wait_seconds [Float] This is how long assistant waits before speaking. Defaults to 0.4.
|
41
|
+
# This is the minimum it will wait but if there is latency is the pipeline, this
|
42
|
+
# minimum will be exceeded. This is really a stopgap in case the pipeline is
|
43
|
+
# moving too fast.
|
44
|
+
# Example:
|
45
|
+
# - If model generates tokens and voice generates bytes within 100ms, the pipeline
|
46
|
+
# still waits 300ms before outputting speech.
|
47
|
+
# Usage:
|
48
|
+
# - If the customer is taking long pauses, set this to a higher value.
|
49
|
+
# - If the assistant is accidentally jumping in too much, set this to a higher
|
50
|
+
# value.
|
51
|
+
# @default 0.4
|
52
|
+
# @param smart_endpointing_enabled [Boolean] This determines if a customer speech is considered done (endpointing) using the
|
53
|
+
# VAP model on customer's speech. This is good for middle-of-thought detection.
|
54
|
+
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
55
|
+
# Default `false` since experimental.
|
56
|
+
# @default false
|
57
|
+
# @param transcription_endpointing_plan [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
|
58
|
+
# transcription of customer's speech.
|
59
|
+
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
60
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
61
|
+
# @return [Vapi::StartSpeakingPlan]
|
62
|
+
def initialize(wait_seconds: OMIT, smart_endpointing_enabled: OMIT, transcription_endpointing_plan: OMIT,
|
63
|
+
additional_properties: nil)
|
64
|
+
@wait_seconds = wait_seconds if wait_seconds != OMIT
|
65
|
+
@smart_endpointing_enabled = smart_endpointing_enabled if smart_endpointing_enabled != OMIT
|
66
|
+
@transcription_endpointing_plan = transcription_endpointing_plan if transcription_endpointing_plan != OMIT
|
67
|
+
@additional_properties = additional_properties
|
68
|
+
@_field_set = {
|
69
|
+
"waitSeconds": wait_seconds,
|
70
|
+
"smartEndpointingEnabled": smart_endpointing_enabled,
|
71
|
+
"transcriptionEndpointingPlan": transcription_endpointing_plan
|
72
|
+
}.reject do |_k, v|
|
73
|
+
v == OMIT
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Deserialize a JSON object to an instance of StartSpeakingPlan
|
78
|
+
#
|
79
|
+
# @param json_object [String]
|
80
|
+
# @return [Vapi::StartSpeakingPlan]
|
81
|
+
def self.from_json(json_object:)
|
82
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
83
|
+
parsed_json = JSON.parse(json_object)
|
84
|
+
wait_seconds = parsed_json["waitSeconds"]
|
85
|
+
smart_endpointing_enabled = parsed_json["smartEndpointingEnabled"]
|
86
|
+
if parsed_json["transcriptionEndpointingPlan"].nil?
|
87
|
+
transcription_endpointing_plan = nil
|
88
|
+
else
|
89
|
+
transcription_endpointing_plan = parsed_json["transcriptionEndpointingPlan"].to_json
|
90
|
+
transcription_endpointing_plan = Vapi::TranscriptionEndpointingPlan.from_json(json_object: transcription_endpointing_plan)
|
91
|
+
end
|
92
|
+
new(
|
93
|
+
wait_seconds: wait_seconds,
|
94
|
+
smart_endpointing_enabled: smart_endpointing_enabled,
|
95
|
+
transcription_endpointing_plan: transcription_endpointing_plan,
|
96
|
+
additional_properties: struct
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Serialize an instance of StartSpeakingPlan to a JSON object
|
101
|
+
#
|
102
|
+
# @return [String]
|
103
|
+
def to_json(*_args)
|
104
|
+
@_field_set&.to_json
|
105
|
+
end
|
106
|
+
|
107
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
108
|
+
# hash and check each fields type against the current object's property
|
109
|
+
# definitions.
|
110
|
+
#
|
111
|
+
# @param obj [Object]
|
112
|
+
# @return [Void]
|
113
|
+
def self.validate_raw(obj:)
|
114
|
+
obj.wait_seconds&.is_a?(Float) != false || raise("Passed value for field obj.wait_seconds is not the expected type, validation failed.")
|
115
|
+
obj.smart_endpointing_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.smart_endpointing_enabled is not the expected type, validation failed.")
|
116
|
+
obj.transcription_endpointing_plan.nil? || Vapi::TranscriptionEndpointingPlan.validate_raw(obj: obj.transcription_endpointing_plan)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|