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,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "block_start_message_conditions_item"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class BlockStartMessage
|
9
|
+
# @return [Array<Vapi::BlockStartMessageConditionsItem>] This is an optional array of conditions that must be met for this message to be
|
10
|
+
# triggered.
|
11
|
+
attr_reader :conditions
|
12
|
+
# @return [String] This is the content that the assistant will say when this message is triggered.
|
13
|
+
attr_reader :content
|
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 conditions [Array<Vapi::BlockStartMessageConditionsItem>] This is an optional array of conditions that must be met for this message to be
|
23
|
+
# triggered.
|
24
|
+
# @param content [String] This is the content that the assistant will say when this message is triggered.
|
25
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
# @return [Vapi::BlockStartMessage]
|
27
|
+
def initialize(content:, conditions: OMIT, additional_properties: nil)
|
28
|
+
@conditions = conditions if conditions != OMIT
|
29
|
+
@content = content
|
30
|
+
@additional_properties = additional_properties
|
31
|
+
@_field_set = { "conditions": conditions, "content": content }.reject do |_k, v|
|
32
|
+
v == OMIT
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# Deserialize a JSON object to an instance of BlockStartMessage
|
37
|
+
#
|
38
|
+
# @param json_object [String]
|
39
|
+
# @return [Vapi::BlockStartMessage]
|
40
|
+
def self.from_json(json_object:)
|
41
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
42
|
+
parsed_json = JSON.parse(json_object)
|
43
|
+
conditions = parsed_json["conditions"]&.map do |item|
|
44
|
+
item = item.to_json
|
45
|
+
Vapi::BlockStartMessageConditionsItem.from_json(json_object: item)
|
46
|
+
end
|
47
|
+
content = parsed_json["content"]
|
48
|
+
new(
|
49
|
+
conditions: conditions,
|
50
|
+
content: content,
|
51
|
+
additional_properties: struct
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Serialize an instance of BlockStartMessage 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.conditions&.is_a?(Array) != false || raise("Passed value for field obj.conditions is not the expected type, validation failed.")
|
70
|
+
obj.content.is_a?(String) != false || raise("Passed value for field obj.content is not the expected type, validation failed.")
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "model_based_condition"
|
5
|
+
require_relative "rule_based_condition"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class BlockStartMessageConditionsItem
|
9
|
+
# @return [Object]
|
10
|
+
attr_reader :member
|
11
|
+
# @return [String]
|
12
|
+
attr_reader :discriminant
|
13
|
+
|
14
|
+
private_class_method :new
|
15
|
+
alias kind_of? is_a?
|
16
|
+
|
17
|
+
# @param member [Object]
|
18
|
+
# @param discriminant [String]
|
19
|
+
# @return [Vapi::BlockStartMessageConditionsItem]
|
20
|
+
def initialize(member:, discriminant:)
|
21
|
+
@member = member
|
22
|
+
@discriminant = discriminant
|
23
|
+
end
|
24
|
+
|
25
|
+
# Deserialize a JSON object to an instance of BlockStartMessageConditionsItem
|
26
|
+
#
|
27
|
+
# @param json_object [String]
|
28
|
+
# @return [Vapi::BlockStartMessageConditionsItem]
|
29
|
+
def self.from_json(json_object:)
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
31
|
+
member = case struct.type
|
32
|
+
when "model-based"
|
33
|
+
Vapi::ModelBasedCondition.from_json(json_object: json_object)
|
34
|
+
when "rule-based"
|
35
|
+
Vapi::RuleBasedCondition.from_json(json_object: json_object)
|
36
|
+
else
|
37
|
+
Vapi::ModelBasedCondition.from_json(json_object: json_object)
|
38
|
+
end
|
39
|
+
new(member: member, discriminant: struct.type)
|
40
|
+
end
|
41
|
+
|
42
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
43
|
+
#
|
44
|
+
# @return [String]
|
45
|
+
def to_json(*_args)
|
46
|
+
case @discriminant
|
47
|
+
when "model-based"
|
48
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
49
|
+
when "rule-based"
|
50
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
51
|
+
else
|
52
|
+
{ "type": @discriminant, value: @member }.to_json
|
53
|
+
end
|
54
|
+
@member.to_json
|
55
|
+
end
|
56
|
+
|
57
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
58
|
+
# hash and check each fields type against the current object's property
|
59
|
+
# definitions.
|
60
|
+
#
|
61
|
+
# @param obj [Object]
|
62
|
+
# @return [Void]
|
63
|
+
def self.validate_raw(obj:)
|
64
|
+
case obj.type
|
65
|
+
when "model-based"
|
66
|
+
Vapi::ModelBasedCondition.validate_raw(obj: obj)
|
67
|
+
when "rule-based"
|
68
|
+
Vapi::RuleBasedCondition.validate_raw(obj: obj)
|
69
|
+
else
|
70
|
+
raise("Passed value matched no type within the union, validation failed.")
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
75
|
+
#
|
76
|
+
# @param obj [Object]
|
77
|
+
# @return [Boolean]
|
78
|
+
def is_a?(obj)
|
79
|
+
@member.is_a?(obj)
|
80
|
+
end
|
81
|
+
|
82
|
+
# @param member [Vapi::ModelBasedCondition]
|
83
|
+
# @return [Vapi::BlockStartMessageConditionsItem]
|
84
|
+
def self.model_based(member:)
|
85
|
+
new(member: member, discriminant: "model-based")
|
86
|
+
end
|
87
|
+
|
88
|
+
# @param member [Vapi::RuleBasedCondition]
|
89
|
+
# @return [Vapi::BlockStartMessageConditionsItem]
|
90
|
+
def self.rule_based(member:)
|
91
|
+
new(member: member, discriminant: "rule-based")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class BotMessage
|
8
|
+
# @return [String] The role of the bot in the conversation.
|
9
|
+
attr_reader :role
|
10
|
+
# @return [String] The message content from the bot.
|
11
|
+
attr_reader :message
|
12
|
+
# @return [Float] The timestamp when the message was sent.
|
13
|
+
attr_reader :time
|
14
|
+
# @return [Float] The timestamp when the message ended.
|
15
|
+
attr_reader :end_time
|
16
|
+
# @return [Float] The number of seconds from the start of the conversation.
|
17
|
+
attr_reader :seconds_from_start
|
18
|
+
# @return [String] The source of the message.
|
19
|
+
attr_reader :source
|
20
|
+
# @return [Float] The duration of the message in seconds.
|
21
|
+
attr_reader :duration
|
22
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
attr_reader :additional_properties
|
24
|
+
# @return [Object]
|
25
|
+
attr_reader :_field_set
|
26
|
+
protected :_field_set
|
27
|
+
|
28
|
+
OMIT = Object.new
|
29
|
+
|
30
|
+
# @param role [String] The role of the bot in the conversation.
|
31
|
+
# @param message [String] The message content from the bot.
|
32
|
+
# @param time [Float] The timestamp when the message was sent.
|
33
|
+
# @param end_time [Float] The timestamp when the message ended.
|
34
|
+
# @param seconds_from_start [Float] The number of seconds from the start of the conversation.
|
35
|
+
# @param source [String] The source of the message.
|
36
|
+
# @param duration [Float] The duration of the message in seconds.
|
37
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
38
|
+
# @return [Vapi::BotMessage]
|
39
|
+
def initialize(role:, message:, time:, end_time:, seconds_from_start:, source: OMIT, duration: OMIT,
|
40
|
+
additional_properties: nil)
|
41
|
+
@role = role
|
42
|
+
@message = message
|
43
|
+
@time = time
|
44
|
+
@end_time = end_time
|
45
|
+
@seconds_from_start = seconds_from_start
|
46
|
+
@source = source if source != OMIT
|
47
|
+
@duration = duration if duration != OMIT
|
48
|
+
@additional_properties = additional_properties
|
49
|
+
@_field_set = {
|
50
|
+
"role": role,
|
51
|
+
"message": message,
|
52
|
+
"time": time,
|
53
|
+
"endTime": end_time,
|
54
|
+
"secondsFromStart": seconds_from_start,
|
55
|
+
"source": source,
|
56
|
+
"duration": duration
|
57
|
+
}.reject do |_k, v|
|
58
|
+
v == OMIT
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Deserialize a JSON object to an instance of BotMessage
|
63
|
+
#
|
64
|
+
# @param json_object [String]
|
65
|
+
# @return [Vapi::BotMessage]
|
66
|
+
def self.from_json(json_object:)
|
67
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
68
|
+
parsed_json = JSON.parse(json_object)
|
69
|
+
role = parsed_json["role"]
|
70
|
+
message = parsed_json["message"]
|
71
|
+
time = parsed_json["time"]
|
72
|
+
end_time = parsed_json["endTime"]
|
73
|
+
seconds_from_start = parsed_json["secondsFromStart"]
|
74
|
+
source = parsed_json["source"]
|
75
|
+
duration = parsed_json["duration"]
|
76
|
+
new(
|
77
|
+
role: role,
|
78
|
+
message: message,
|
79
|
+
time: time,
|
80
|
+
end_time: end_time,
|
81
|
+
seconds_from_start: seconds_from_start,
|
82
|
+
source: source,
|
83
|
+
duration: duration,
|
84
|
+
additional_properties: struct
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Serialize an instance of BotMessage to a JSON object
|
89
|
+
#
|
90
|
+
# @return [String]
|
91
|
+
def to_json(*_args)
|
92
|
+
@_field_set&.to_json
|
93
|
+
end
|
94
|
+
|
95
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
96
|
+
# hash and check each fields type against the current object's property
|
97
|
+
# definitions.
|
98
|
+
#
|
99
|
+
# @param obj [Object]
|
100
|
+
# @return [Void]
|
101
|
+
def self.validate_raw(obj:)
|
102
|
+
obj.role.is_a?(String) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
|
103
|
+
obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
104
|
+
obj.time.is_a?(Float) != false || raise("Passed value for field obj.time is not the expected type, validation failed.")
|
105
|
+
obj.end_time.is_a?(Float) != false || raise("Passed value for field obj.end_time is not the expected type, validation failed.")
|
106
|
+
obj.seconds_from_start.is_a?(Float) != false || raise("Passed value for field obj.seconds_from_start is not the expected type, validation failed.")
|
107
|
+
obj.source&.is_a?(String) != false || raise("Passed value for field obj.source is not the expected type, validation failed.")
|
108
|
+
obj.duration&.is_a?(Float) != false || raise("Passed value for field obj.duration is not the expected type, validation failed.")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,139 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class BucketPlan
|
8
|
+
# @return [String] This is the name of the bucket.
|
9
|
+
attr_reader :name
|
10
|
+
# @return [String] This is the region of the bucket.
|
11
|
+
# Usage:
|
12
|
+
# - If `credential.type` is `aws`, then this is required.
|
13
|
+
# - If `credential.type` is `gcp`, then this is optional since GCP allows buckets
|
14
|
+
# to be accessed without a region but region is required for data residency
|
15
|
+
# requirements. Read here: https://cloud.google.com/storage/docs/request-endpoints
|
16
|
+
attr_reader :region
|
17
|
+
# @return [String] This is the path where call artifacts will be stored.
|
18
|
+
# Usage:
|
19
|
+
# - To store call artifacts in a specific folder, set this to the full path. Eg.
|
20
|
+
# "/folder-name1/folder-name2".
|
21
|
+
# - To store call artifacts in the root of the bucket, leave this blank.
|
22
|
+
# @default "/"
|
23
|
+
attr_reader :path
|
24
|
+
# @return [String] This is the HMAC access key offered by GCP for interoperability with S3 clients.
|
25
|
+
# Here is the guide on how to create:
|
26
|
+
# https://cloud.google.com/storage/docs/authentication/managing-hmackeys#console
|
27
|
+
# Usage:
|
28
|
+
# - If `credential.type` is `gcp`, then this is required.
|
29
|
+
# - If `credential.type` is `aws`, then this is not required since
|
30
|
+
# credential.awsAccessKeyId is used instead.
|
31
|
+
attr_reader :hmac_access_key
|
32
|
+
# @return [String] This is the secret for the HMAC access key. Here is the guide on how to create:
|
33
|
+
# https://cloud.google.com/storage/docs/authentication/managing-hmackeys#console
|
34
|
+
# Usage:
|
35
|
+
# - If `credential.type` is `gcp`, then this is required.
|
36
|
+
# - If `credential.type` is `aws`, then this is not required since
|
37
|
+
# credential.awsSecretAccessKey is used instead.
|
38
|
+
# Note: This is not returned in the API.
|
39
|
+
attr_reader :hmac_secret
|
40
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
+
attr_reader :additional_properties
|
42
|
+
# @return [Object]
|
43
|
+
attr_reader :_field_set
|
44
|
+
protected :_field_set
|
45
|
+
|
46
|
+
OMIT = Object.new
|
47
|
+
|
48
|
+
# @param name [String] This is the name of the bucket.
|
49
|
+
# @param region [String] This is the region of the bucket.
|
50
|
+
# Usage:
|
51
|
+
# - If `credential.type` is `aws`, then this is required.
|
52
|
+
# - If `credential.type` is `gcp`, then this is optional since GCP allows buckets
|
53
|
+
# to be accessed without a region but region is required for data residency
|
54
|
+
# requirements. Read here: https://cloud.google.com/storage/docs/request-endpoints
|
55
|
+
# @param path [String] This is the path where call artifacts will be stored.
|
56
|
+
# Usage:
|
57
|
+
# - To store call artifacts in a specific folder, set this to the full path. Eg.
|
58
|
+
# "/folder-name1/folder-name2".
|
59
|
+
# - To store call artifacts in the root of the bucket, leave this blank.
|
60
|
+
# @default "/"
|
61
|
+
# @param hmac_access_key [String] This is the HMAC access key offered by GCP for interoperability with S3 clients.
|
62
|
+
# Here is the guide on how to create:
|
63
|
+
# https://cloud.google.com/storage/docs/authentication/managing-hmackeys#console
|
64
|
+
# Usage:
|
65
|
+
# - If `credential.type` is `gcp`, then this is required.
|
66
|
+
# - If `credential.type` is `aws`, then this is not required since
|
67
|
+
# credential.awsAccessKeyId is used instead.
|
68
|
+
# @param hmac_secret [String] This is the secret for the HMAC access key. Here is the guide on how to create:
|
69
|
+
# https://cloud.google.com/storage/docs/authentication/managing-hmackeys#console
|
70
|
+
# Usage:
|
71
|
+
# - If `credential.type` is `gcp`, then this is required.
|
72
|
+
# - If `credential.type` is `aws`, then this is not required since
|
73
|
+
# credential.awsSecretAccessKey is used instead.
|
74
|
+
# Note: This is not returned in the API.
|
75
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
76
|
+
# @return [Vapi::BucketPlan]
|
77
|
+
def initialize(name:, region: OMIT, path: OMIT, hmac_access_key: OMIT, hmac_secret: OMIT,
|
78
|
+
additional_properties: nil)
|
79
|
+
@name = name
|
80
|
+
@region = region if region != OMIT
|
81
|
+
@path = path if path != OMIT
|
82
|
+
@hmac_access_key = hmac_access_key if hmac_access_key != OMIT
|
83
|
+
@hmac_secret = hmac_secret if hmac_secret != OMIT
|
84
|
+
@additional_properties = additional_properties
|
85
|
+
@_field_set = {
|
86
|
+
"name": name,
|
87
|
+
"region": region,
|
88
|
+
"path": path,
|
89
|
+
"hmacAccessKey": hmac_access_key,
|
90
|
+
"hmacSecret": hmac_secret
|
91
|
+
}.reject do |_k, v|
|
92
|
+
v == OMIT
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
# Deserialize a JSON object to an instance of BucketPlan
|
97
|
+
#
|
98
|
+
# @param json_object [String]
|
99
|
+
# @return [Vapi::BucketPlan]
|
100
|
+
def self.from_json(json_object:)
|
101
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
102
|
+
parsed_json = JSON.parse(json_object)
|
103
|
+
name = parsed_json["name"]
|
104
|
+
region = parsed_json["region"]
|
105
|
+
path = parsed_json["path"]
|
106
|
+
hmac_access_key = parsed_json["hmacAccessKey"]
|
107
|
+
hmac_secret = parsed_json["hmacSecret"]
|
108
|
+
new(
|
109
|
+
name: name,
|
110
|
+
region: region,
|
111
|
+
path: path,
|
112
|
+
hmac_access_key: hmac_access_key,
|
113
|
+
hmac_secret: hmac_secret,
|
114
|
+
additional_properties: struct
|
115
|
+
)
|
116
|
+
end
|
117
|
+
|
118
|
+
# Serialize an instance of BucketPlan to a JSON object
|
119
|
+
#
|
120
|
+
# @return [String]
|
121
|
+
def to_json(*_args)
|
122
|
+
@_field_set&.to_json
|
123
|
+
end
|
124
|
+
|
125
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
126
|
+
# hash and check each fields type against the current object's property
|
127
|
+
# definitions.
|
128
|
+
#
|
129
|
+
# @param obj [Object]
|
130
|
+
# @return [Void]
|
131
|
+
def self.validate_raw(obj:)
|
132
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
133
|
+
obj.region&.is_a?(String) != false || raise("Passed value for field obj.region is not the expected type, validation failed.")
|
134
|
+
obj.path&.is_a?(String) != false || raise("Passed value for field obj.path is not the expected type, validation failed.")
|
135
|
+
obj.hmac_access_key&.is_a?(String) != false || raise("Passed value for field obj.hmac_access_key is not the expected type, validation failed.")
|
136
|
+
obj.hmac_secret&.is_a?(String) != false || raise("Passed value for field obj.hmac_secret is not the expected type, validation failed.")
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,151 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "buy_phone_number_dto_fallback_destination"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class BuyPhoneNumberDto
|
9
|
+
# @return [Vapi::BuyPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
|
10
|
+
# 1. `assistantId` is not set
|
11
|
+
# 2. `squadId` is not set
|
12
|
+
# 3. and, `assistant-request` message to the `serverUrl` fails
|
13
|
+
# If this is not set and above conditions are met, the inbound call is hung up
|
14
|
+
# with an error message.
|
15
|
+
attr_reader :fallback_destination
|
16
|
+
# @return [String] This is the area code of the phone number to purchase.
|
17
|
+
attr_reader :area_code
|
18
|
+
# @return [String] This is the name of the phone number. This is just for your own reference.
|
19
|
+
attr_reader :name
|
20
|
+
# @return [String] This is the assistant that will be used for incoming calls to this phone number.
|
21
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
22
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
23
|
+
# shape of the message and response that is expected.
|
24
|
+
attr_reader :assistant_id
|
25
|
+
# @return [String] This is the squad that will be used for incoming calls to this phone number.
|
26
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
27
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
28
|
+
# shape of the message and response that is expected.
|
29
|
+
attr_reader :squad_id
|
30
|
+
# @return [String] This is the server URL where messages will be sent for calls on this number.
|
31
|
+
# This includes the `assistant-request` message.
|
32
|
+
# You can see the shape of the messages sent in `ServerMessage`.
|
33
|
+
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
34
|
+
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
35
|
+
attr_reader :server_url
|
36
|
+
# @return [String] This is the secret Vapi will send with every message to your server. It's sent
|
37
|
+
# as a header called x-vapi-secret.
|
38
|
+
# Same precedence logic as serverUrl.
|
39
|
+
attr_reader :server_url_secret
|
40
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
+
attr_reader :additional_properties
|
42
|
+
# @return [Object]
|
43
|
+
attr_reader :_field_set
|
44
|
+
protected :_field_set
|
45
|
+
|
46
|
+
OMIT = Object.new
|
47
|
+
|
48
|
+
# @param fallback_destination [Vapi::BuyPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
|
49
|
+
# 1. `assistantId` is not set
|
50
|
+
# 2. `squadId` is not set
|
51
|
+
# 3. and, `assistant-request` message to the `serverUrl` fails
|
52
|
+
# If this is not set and above conditions are met, the inbound call is hung up
|
53
|
+
# with an error message.
|
54
|
+
# @param area_code [String] This is the area code of the phone number to purchase.
|
55
|
+
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
56
|
+
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
57
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
58
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
59
|
+
# shape of the message and response that is expected.
|
60
|
+
# @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
|
61
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
62
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
63
|
+
# shape of the message and response that is expected.
|
64
|
+
# @param server_url [String] This is the server URL where messages will be sent for calls on this number.
|
65
|
+
# This includes the `assistant-request` message.
|
66
|
+
# You can see the shape of the messages sent in `ServerMessage`.
|
67
|
+
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
68
|
+
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
69
|
+
# @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
|
70
|
+
# as a header called x-vapi-secret.
|
71
|
+
# Same precedence logic as serverUrl.
|
72
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
73
|
+
# @return [Vapi::BuyPhoneNumberDto]
|
74
|
+
def initialize(area_code:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT,
|
75
|
+
server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
|
76
|
+
@fallback_destination = fallback_destination if fallback_destination != OMIT
|
77
|
+
@area_code = area_code
|
78
|
+
@name = name if name != OMIT
|
79
|
+
@assistant_id = assistant_id if assistant_id != OMIT
|
80
|
+
@squad_id = squad_id if squad_id != OMIT
|
81
|
+
@server_url = server_url if server_url != OMIT
|
82
|
+
@server_url_secret = server_url_secret if server_url_secret != OMIT
|
83
|
+
@additional_properties = additional_properties
|
84
|
+
@_field_set = {
|
85
|
+
"fallbackDestination": fallback_destination,
|
86
|
+
"areaCode": area_code,
|
87
|
+
"name": name,
|
88
|
+
"assistantId": assistant_id,
|
89
|
+
"squadId": squad_id,
|
90
|
+
"serverUrl": server_url,
|
91
|
+
"serverUrlSecret": server_url_secret
|
92
|
+
}.reject do |_k, v|
|
93
|
+
v == OMIT
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# Deserialize a JSON object to an instance of BuyPhoneNumberDto
|
98
|
+
#
|
99
|
+
# @param json_object [String]
|
100
|
+
# @return [Vapi::BuyPhoneNumberDto]
|
101
|
+
def self.from_json(json_object:)
|
102
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
103
|
+
parsed_json = JSON.parse(json_object)
|
104
|
+
if parsed_json["fallbackDestination"].nil?
|
105
|
+
fallback_destination = nil
|
106
|
+
else
|
107
|
+
fallback_destination = parsed_json["fallbackDestination"].to_json
|
108
|
+
fallback_destination = Vapi::BuyPhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
|
109
|
+
end
|
110
|
+
area_code = parsed_json["areaCode"]
|
111
|
+
name = parsed_json["name"]
|
112
|
+
assistant_id = parsed_json["assistantId"]
|
113
|
+
squad_id = parsed_json["squadId"]
|
114
|
+
server_url = parsed_json["serverUrl"]
|
115
|
+
server_url_secret = parsed_json["serverUrlSecret"]
|
116
|
+
new(
|
117
|
+
fallback_destination: fallback_destination,
|
118
|
+
area_code: area_code,
|
119
|
+
name: name,
|
120
|
+
assistant_id: assistant_id,
|
121
|
+
squad_id: squad_id,
|
122
|
+
server_url: server_url,
|
123
|
+
server_url_secret: server_url_secret,
|
124
|
+
additional_properties: struct
|
125
|
+
)
|
126
|
+
end
|
127
|
+
|
128
|
+
# Serialize an instance of BuyPhoneNumberDto to a JSON object
|
129
|
+
#
|
130
|
+
# @return [String]
|
131
|
+
def to_json(*_args)
|
132
|
+
@_field_set&.to_json
|
133
|
+
end
|
134
|
+
|
135
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
136
|
+
# hash and check each fields type against the current object's property
|
137
|
+
# definitions.
|
138
|
+
#
|
139
|
+
# @param obj [Object]
|
140
|
+
# @return [Void]
|
141
|
+
def self.validate_raw(obj:)
|
142
|
+
obj.fallback_destination.nil? || Vapi::BuyPhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
|
143
|
+
obj.area_code.is_a?(String) != false || raise("Passed value for field obj.area_code is not the expected type, validation failed.")
|
144
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
145
|
+
obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
|
146
|
+
obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
|
147
|
+
obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
|
148
|
+
obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "transfer_destination_number"
|
5
|
+
require_relative "transfer_destination_sip"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
# This is the fallback destination an inbound call will be transferred to if:
|
9
|
+
# 1. `assistantId` is not set
|
10
|
+
# 2. `squadId` is not set
|
11
|
+
# 3. and, `assistant-request` message to the `serverUrl` fails
|
12
|
+
# If this is not set and above conditions are met, the inbound call is hung up
|
13
|
+
# with an error message.
|
14
|
+
class BuyPhoneNumberDtoFallbackDestination
|
15
|
+
# @return [Object]
|
16
|
+
attr_reader :member
|
17
|
+
# @return [String]
|
18
|
+
attr_reader :discriminant
|
19
|
+
|
20
|
+
private_class_method :new
|
21
|
+
alias kind_of? is_a?
|
22
|
+
|
23
|
+
# @param member [Object]
|
24
|
+
# @param discriminant [String]
|
25
|
+
# @return [Vapi::BuyPhoneNumberDtoFallbackDestination]
|
26
|
+
def initialize(member:, discriminant:)
|
27
|
+
@member = member
|
28
|
+
@discriminant = discriminant
|
29
|
+
end
|
30
|
+
|
31
|
+
# Deserialize a JSON object to an instance of BuyPhoneNumberDtoFallbackDestination
|
32
|
+
#
|
33
|
+
# @param json_object [String]
|
34
|
+
# @return [Vapi::BuyPhoneNumberDtoFallbackDestination]
|
35
|
+
def self.from_json(json_object:)
|
36
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
37
|
+
member = case struct.type
|
38
|
+
when "number"
|
39
|
+
Vapi::TransferDestinationNumber.from_json(json_object: json_object)
|
40
|
+
when "sip"
|
41
|
+
Vapi::TransferDestinationSip.from_json(json_object: json_object)
|
42
|
+
else
|
43
|
+
Vapi::TransferDestinationNumber.from_json(json_object: json_object)
|
44
|
+
end
|
45
|
+
new(member: member, discriminant: struct.type)
|
46
|
+
end
|
47
|
+
|
48
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
def to_json(*_args)
|
52
|
+
case @discriminant
|
53
|
+
when "number"
|
54
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
55
|
+
when "sip"
|
56
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
57
|
+
else
|
58
|
+
{ "type": @discriminant, value: @member }.to_json
|
59
|
+
end
|
60
|
+
@member.to_json
|
61
|
+
end
|
62
|
+
|
63
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
64
|
+
# hash and check each fields type against the current object's property
|
65
|
+
# definitions.
|
66
|
+
#
|
67
|
+
# @param obj [Object]
|
68
|
+
# @return [Void]
|
69
|
+
def self.validate_raw(obj:)
|
70
|
+
case obj.type
|
71
|
+
when "number"
|
72
|
+
Vapi::TransferDestinationNumber.validate_raw(obj: obj)
|
73
|
+
when "sip"
|
74
|
+
Vapi::TransferDestinationSip.validate_raw(obj: obj)
|
75
|
+
else
|
76
|
+
raise("Passed value matched no type within the union, validation failed.")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
81
|
+
#
|
82
|
+
# @param obj [Object]
|
83
|
+
# @return [Boolean]
|
84
|
+
def is_a?(obj)
|
85
|
+
@member.is_a?(obj)
|
86
|
+
end
|
87
|
+
|
88
|
+
# @param member [Vapi::TransferDestinationNumber]
|
89
|
+
# @return [Vapi::BuyPhoneNumberDtoFallbackDestination]
|
90
|
+
def self.number(member:)
|
91
|
+
new(member: member, discriminant: "number")
|
92
|
+
end
|
93
|
+
|
94
|
+
# @param member [Vapi::TransferDestinationSip]
|
95
|
+
# @return [Vapi::BuyPhoneNumberDtoFallbackDestination]
|
96
|
+
def self.sip(member:)
|
97
|
+
new(member: member, discriminant: "sip")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|