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,120 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "tool_message_start"
|
5
|
+
require_relative "tool_message_complete"
|
6
|
+
require_relative "tool_message_failed"
|
7
|
+
require_relative "tool_message_delayed"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class TransferCallToolMessagesItem
|
11
|
+
# @return [Object]
|
12
|
+
attr_reader :member
|
13
|
+
# @return [String]
|
14
|
+
attr_reader :discriminant
|
15
|
+
|
16
|
+
private_class_method :new
|
17
|
+
alias kind_of? is_a?
|
18
|
+
|
19
|
+
# @param member [Object]
|
20
|
+
# @param discriminant [String]
|
21
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
22
|
+
def initialize(member:, discriminant:)
|
23
|
+
@member = member
|
24
|
+
@discriminant = discriminant
|
25
|
+
end
|
26
|
+
|
27
|
+
# Deserialize a JSON object to an instance of TransferCallToolMessagesItem
|
28
|
+
#
|
29
|
+
# @param json_object [String]
|
30
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
31
|
+
def self.from_json(json_object:)
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
33
|
+
member = case struct.type
|
34
|
+
when "request-start"
|
35
|
+
Vapi::ToolMessageStart.from_json(json_object: json_object)
|
36
|
+
when "request-complete"
|
37
|
+
Vapi::ToolMessageComplete.from_json(json_object: json_object)
|
38
|
+
when "request-failed"
|
39
|
+
Vapi::ToolMessageFailed.from_json(json_object: json_object)
|
40
|
+
when "request-response-delayed"
|
41
|
+
Vapi::ToolMessageDelayed.from_json(json_object: json_object)
|
42
|
+
else
|
43
|
+
Vapi::ToolMessageStart.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 "request-start"
|
54
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
55
|
+
when "request-complete"
|
56
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
57
|
+
when "request-failed"
|
58
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
59
|
+
when "request-response-delayed"
|
60
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
61
|
+
else
|
62
|
+
{ "type": @discriminant, value: @member }.to_json
|
63
|
+
end
|
64
|
+
@member.to_json
|
65
|
+
end
|
66
|
+
|
67
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
68
|
+
# hash and check each fields type against the current object's property
|
69
|
+
# definitions.
|
70
|
+
#
|
71
|
+
# @param obj [Object]
|
72
|
+
# @return [Void]
|
73
|
+
def self.validate_raw(obj:)
|
74
|
+
case obj.type
|
75
|
+
when "request-start"
|
76
|
+
Vapi::ToolMessageStart.validate_raw(obj: obj)
|
77
|
+
when "request-complete"
|
78
|
+
Vapi::ToolMessageComplete.validate_raw(obj: obj)
|
79
|
+
when "request-failed"
|
80
|
+
Vapi::ToolMessageFailed.validate_raw(obj: obj)
|
81
|
+
when "request-response-delayed"
|
82
|
+
Vapi::ToolMessageDelayed.validate_raw(obj: obj)
|
83
|
+
else
|
84
|
+
raise("Passed value matched no type within the union, validation failed.")
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
89
|
+
#
|
90
|
+
# @param obj [Object]
|
91
|
+
# @return [Boolean]
|
92
|
+
def is_a?(obj)
|
93
|
+
@member.is_a?(obj)
|
94
|
+
end
|
95
|
+
|
96
|
+
# @param member [Vapi::ToolMessageStart]
|
97
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
98
|
+
def self.request_start(member:)
|
99
|
+
new(member: member, discriminant: "request-start")
|
100
|
+
end
|
101
|
+
|
102
|
+
# @param member [Vapi::ToolMessageComplete]
|
103
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
104
|
+
def self.request_complete(member:)
|
105
|
+
new(member: member, discriminant: "request-complete")
|
106
|
+
end
|
107
|
+
|
108
|
+
# @param member [Vapi::ToolMessageFailed]
|
109
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
110
|
+
def self.request_failed(member:)
|
111
|
+
new(member: member, discriminant: "request-failed")
|
112
|
+
end
|
113
|
+
|
114
|
+
# @param member [Vapi::ToolMessageDelayed]
|
115
|
+
# @return [Vapi::TransferCallToolMessagesItem]
|
116
|
+
def self.request_response_delayed(member:)
|
117
|
+
new(member: member, discriminant: "request-response-delayed")
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
@@ -0,0 +1,181 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "transfer_mode"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class TransferDestinationAssistant
|
9
|
+
# @return [Vapi::TransferMode] This is the mode to use for the transfer. Default is `rolling-history`.
|
10
|
+
# - `rolling-history`: This is the default mode. It keeps the entire conversation
|
11
|
+
# history and appends the new assistant's system message on transfer.
|
12
|
+
# Example:
|
13
|
+
# Pre-transfer:
|
14
|
+
# system: assistant1 system message
|
15
|
+
# assistant: assistant1 first message
|
16
|
+
# user: hey, good morning
|
17
|
+
# assistant: how can i help?
|
18
|
+
# user: i need help with my account
|
19
|
+
# assistant: (destination.message)
|
20
|
+
# Post-transfer:
|
21
|
+
# system: assistant1 system message
|
22
|
+
# assistant: assistant1 first message
|
23
|
+
# user: hey, good morning
|
24
|
+
# assistant: how can i help?
|
25
|
+
# user: i need help with my account
|
26
|
+
# assistant: (destination.message)
|
27
|
+
# system: assistant2 system message
|
28
|
+
# assistant: assistant2 first message (or model generated if firstMessageMode is
|
29
|
+
# set to `assistant-speaks-first-with-model-generated-message`)
|
30
|
+
# - `swap-system-message-in-history`: This replaces the original system message
|
31
|
+
# with the new assistant's system message on transfer.
|
32
|
+
# Example:
|
33
|
+
# Pre-transfer:
|
34
|
+
# system: assistant1 system message
|
35
|
+
# assistant: assistant1 first message
|
36
|
+
# user: hey, good morning
|
37
|
+
# assistant: how can i help?
|
38
|
+
# user: i need help with my account
|
39
|
+
# assistant: (destination.message)
|
40
|
+
# Post-transfer:
|
41
|
+
# system: assistant2 system message
|
42
|
+
# assistant: assistant1 first message
|
43
|
+
# user: hey, good morning
|
44
|
+
# assistant: how can i help?
|
45
|
+
# user: i need help with my account
|
46
|
+
# assistant: (destination.message)
|
47
|
+
# assistant: assistant2 first message (or model generated if firstMessageMode is
|
48
|
+
# set to `assistant-speaks-first-with-model-generated-message`)
|
49
|
+
attr_reader :transfer_mode
|
50
|
+
# @return [String] This is the assistant to transfer the call to.
|
51
|
+
attr_reader :assistant_name
|
52
|
+
# @return [String] This is the message to say before transferring the call to the destination.
|
53
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
54
|
+
# "Transferring the call now".
|
55
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
56
|
+
# transfer. This is especially useful when transferring between assistants in a
|
57
|
+
# squad. In this scenario, you likely also want to set
|
58
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
59
|
+
# for the destination assistant.
|
60
|
+
attr_reader :message
|
61
|
+
# @return [String] This is the description of the destination, used by the AI to choose when and
|
62
|
+
# how to transfer the call.
|
63
|
+
attr_reader :description
|
64
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
65
|
+
attr_reader :additional_properties
|
66
|
+
# @return [Object]
|
67
|
+
attr_reader :_field_set
|
68
|
+
protected :_field_set
|
69
|
+
|
70
|
+
OMIT = Object.new
|
71
|
+
|
72
|
+
# @param transfer_mode [Vapi::TransferMode] This is the mode to use for the transfer. Default is `rolling-history`.
|
73
|
+
# - `rolling-history`: This is the default mode. It keeps the entire conversation
|
74
|
+
# history and appends the new assistant's system message on transfer.
|
75
|
+
# Example:
|
76
|
+
# Pre-transfer:
|
77
|
+
# system: assistant1 system message
|
78
|
+
# assistant: assistant1 first message
|
79
|
+
# user: hey, good morning
|
80
|
+
# assistant: how can i help?
|
81
|
+
# user: i need help with my account
|
82
|
+
# assistant: (destination.message)
|
83
|
+
# Post-transfer:
|
84
|
+
# system: assistant1 system message
|
85
|
+
# assistant: assistant1 first message
|
86
|
+
# user: hey, good morning
|
87
|
+
# assistant: how can i help?
|
88
|
+
# user: i need help with my account
|
89
|
+
# assistant: (destination.message)
|
90
|
+
# system: assistant2 system message
|
91
|
+
# assistant: assistant2 first message (or model generated if firstMessageMode is
|
92
|
+
# set to `assistant-speaks-first-with-model-generated-message`)
|
93
|
+
# - `swap-system-message-in-history`: This replaces the original system message
|
94
|
+
# with the new assistant's system message on transfer.
|
95
|
+
# Example:
|
96
|
+
# Pre-transfer:
|
97
|
+
# system: assistant1 system message
|
98
|
+
# assistant: assistant1 first message
|
99
|
+
# user: hey, good morning
|
100
|
+
# assistant: how can i help?
|
101
|
+
# user: i need help with my account
|
102
|
+
# assistant: (destination.message)
|
103
|
+
# Post-transfer:
|
104
|
+
# system: assistant2 system message
|
105
|
+
# assistant: assistant1 first message
|
106
|
+
# user: hey, good morning
|
107
|
+
# assistant: how can i help?
|
108
|
+
# user: i need help with my account
|
109
|
+
# assistant: (destination.message)
|
110
|
+
# assistant: assistant2 first message (or model generated if firstMessageMode is
|
111
|
+
# set to `assistant-speaks-first-with-model-generated-message`)
|
112
|
+
# @param assistant_name [String] This is the assistant to transfer the call to.
|
113
|
+
# @param message [String] This is the message to say before transferring the call to the destination.
|
114
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
115
|
+
# "Transferring the call now".
|
116
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
117
|
+
# transfer. This is especially useful when transferring between assistants in a
|
118
|
+
# squad. In this scenario, you likely also want to set
|
119
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
120
|
+
# for the destination assistant.
|
121
|
+
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
122
|
+
# how to transfer the call.
|
123
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
124
|
+
# @return [Vapi::TransferDestinationAssistant]
|
125
|
+
def initialize(assistant_name:, transfer_mode: OMIT, message: OMIT, description: OMIT, additional_properties: nil)
|
126
|
+
@transfer_mode = transfer_mode if transfer_mode != OMIT
|
127
|
+
@assistant_name = assistant_name
|
128
|
+
@message = message if message != OMIT
|
129
|
+
@description = description if description != OMIT
|
130
|
+
@additional_properties = additional_properties
|
131
|
+
@_field_set = {
|
132
|
+
"transferMode": transfer_mode,
|
133
|
+
"assistantName": assistant_name,
|
134
|
+
"message": message,
|
135
|
+
"description": description
|
136
|
+
}.reject do |_k, v|
|
137
|
+
v == OMIT
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# Deserialize a JSON object to an instance of TransferDestinationAssistant
|
142
|
+
#
|
143
|
+
# @param json_object [String]
|
144
|
+
# @return [Vapi::TransferDestinationAssistant]
|
145
|
+
def self.from_json(json_object:)
|
146
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
147
|
+
parsed_json = JSON.parse(json_object)
|
148
|
+
transfer_mode = parsed_json["transferMode"]
|
149
|
+
assistant_name = parsed_json["assistantName"]
|
150
|
+
message = parsed_json["message"]
|
151
|
+
description = parsed_json["description"]
|
152
|
+
new(
|
153
|
+
transfer_mode: transfer_mode,
|
154
|
+
assistant_name: assistant_name,
|
155
|
+
message: message,
|
156
|
+
description: description,
|
157
|
+
additional_properties: struct
|
158
|
+
)
|
159
|
+
end
|
160
|
+
|
161
|
+
# Serialize an instance of TransferDestinationAssistant to a JSON object
|
162
|
+
#
|
163
|
+
# @return [String]
|
164
|
+
def to_json(*_args)
|
165
|
+
@_field_set&.to_json
|
166
|
+
end
|
167
|
+
|
168
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
169
|
+
# hash and check each fields type against the current object's property
|
170
|
+
# definitions.
|
171
|
+
#
|
172
|
+
# @param obj [Object]
|
173
|
+
# @return [Void]
|
174
|
+
def self.validate_raw(obj:)
|
175
|
+
obj.transfer_mode&.is_a?(Vapi::TransferMode) != false || raise("Passed value for field obj.transfer_mode is not the expected type, validation failed.")
|
176
|
+
obj.assistant_name.is_a?(String) != false || raise("Passed value for field obj.assistant_name is not the expected type, validation failed.")
|
177
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
178
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class TransferDestinationNumber
|
8
|
+
# @return [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
|
9
|
+
# advanced property which should be used if you know your use case requires it.
|
10
|
+
# Use cases:
|
11
|
+
# - `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`.
|
12
|
+
# This is useful for dialing out to non-E164 numbers on your SIP trunks.
|
13
|
+
# - `true` (default): To allow only E164 numbers like `+14155551234`. This is
|
14
|
+
# standard for PSTN calls.
|
15
|
+
# If `false`, the `number` is still required to only contain alphanumeric
|
16
|
+
# characters (regex: `/^\+?[a-zA-Z0-9]+$/`).
|
17
|
+
# @default true (E164 check is enabled)
|
18
|
+
attr_reader :number_e_164_check_enabled
|
19
|
+
# @return [String] This is the phone number to transfer the call to.
|
20
|
+
attr_reader :number
|
21
|
+
# @return [String] This is the extension to dial after transferring the call to the `number`.
|
22
|
+
attr_reader :extension
|
23
|
+
# @return [String] This is the caller ID to use when transferring the call to the `number`.
|
24
|
+
# Usage:
|
25
|
+
# - If not provided, the caller ID will be the number the call is coming from.
|
26
|
+
# Example, +14151111111 calls in to and the assistant transfers out to
|
27
|
+
# +16470000000. +16470000000 will see +14151111111 as the caller.
|
28
|
+
# - To change this behavior, provide a `callerId`.
|
29
|
+
# - Set to '{{customer.number}}' to always use the customer's number as the caller
|
30
|
+
# ID.
|
31
|
+
# - Set to '{{phoneNumber.number}}' to always use the phone number of the
|
32
|
+
# assistant as the caller ID.
|
33
|
+
# - Set to any E164 number to always use that number as the caller ID. This needs
|
34
|
+
# to be a number that is owned or verified by your Transport provider like Twilio.
|
35
|
+
# For Twilio, you can read up more here:
|
36
|
+
# https://www.twilio.com/docs/voice/twiml/dial#callerid
|
37
|
+
attr_reader :caller_id
|
38
|
+
# @return [String] This is the message to say before transferring the call to the destination.
|
39
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
40
|
+
# "Transferring the call now".
|
41
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
42
|
+
# transfer. This is especially useful when transferring between assistants in a
|
43
|
+
# squad. In this scenario, you likely also want to set
|
44
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
45
|
+
# for the destination assistant.
|
46
|
+
attr_reader :message
|
47
|
+
# @return [String] This is the description of the destination, used by the AI to choose when and
|
48
|
+
# how to transfer the call.
|
49
|
+
attr_reader :description
|
50
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
51
|
+
attr_reader :additional_properties
|
52
|
+
# @return [Object]
|
53
|
+
attr_reader :_field_set
|
54
|
+
protected :_field_set
|
55
|
+
|
56
|
+
OMIT = Object.new
|
57
|
+
|
58
|
+
# @param number_e_164_check_enabled [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
|
59
|
+
# advanced property which should be used if you know your use case requires it.
|
60
|
+
# Use cases:
|
61
|
+
# - `false`: To allow non-E164 numbers like `+001234567890`, `1234`, or `abc`.
|
62
|
+
# This is useful for dialing out to non-E164 numbers on your SIP trunks.
|
63
|
+
# - `true` (default): To allow only E164 numbers like `+14155551234`. This is
|
64
|
+
# standard for PSTN calls.
|
65
|
+
# If `false`, the `number` is still required to only contain alphanumeric
|
66
|
+
# characters (regex: `/^\+?[a-zA-Z0-9]+$/`).
|
67
|
+
# @default true (E164 check is enabled)
|
68
|
+
# @param number [String] This is the phone number to transfer the call to.
|
69
|
+
# @param extension [String] This is the extension to dial after transferring the call to the `number`.
|
70
|
+
# @param caller_id [String] This is the caller ID to use when transferring the call to the `number`.
|
71
|
+
# Usage:
|
72
|
+
# - If not provided, the caller ID will be the number the call is coming from.
|
73
|
+
# Example, +14151111111 calls in to and the assistant transfers out to
|
74
|
+
# +16470000000. +16470000000 will see +14151111111 as the caller.
|
75
|
+
# - To change this behavior, provide a `callerId`.
|
76
|
+
# - Set to '{{customer.number}}' to always use the customer's number as the caller
|
77
|
+
# ID.
|
78
|
+
# - Set to '{{phoneNumber.number}}' to always use the phone number of the
|
79
|
+
# assistant as the caller ID.
|
80
|
+
# - Set to any E164 number to always use that number as the caller ID. This needs
|
81
|
+
# to be a number that is owned or verified by your Transport provider like Twilio.
|
82
|
+
# For Twilio, you can read up more here:
|
83
|
+
# https://www.twilio.com/docs/voice/twiml/dial#callerid
|
84
|
+
# @param message [String] This is the message to say before transferring the call to the destination.
|
85
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
86
|
+
# "Transferring the call now".
|
87
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
88
|
+
# transfer. This is especially useful when transferring between assistants in a
|
89
|
+
# squad. In this scenario, you likely also want to set
|
90
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
91
|
+
# for the destination assistant.
|
92
|
+
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
93
|
+
# how to transfer the call.
|
94
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
95
|
+
# @return [Vapi::TransferDestinationNumber]
|
96
|
+
def initialize(number:, number_e_164_check_enabled: OMIT, extension: OMIT, caller_id: OMIT, message: OMIT,
|
97
|
+
description: OMIT, additional_properties: nil)
|
98
|
+
@number_e_164_check_enabled = number_e_164_check_enabled if number_e_164_check_enabled != OMIT
|
99
|
+
@number = number
|
100
|
+
@extension = extension if extension != OMIT
|
101
|
+
@caller_id = caller_id if caller_id != OMIT
|
102
|
+
@message = message if message != OMIT
|
103
|
+
@description = description if description != OMIT
|
104
|
+
@additional_properties = additional_properties
|
105
|
+
@_field_set = {
|
106
|
+
"numberE164CheckEnabled": number_e_164_check_enabled,
|
107
|
+
"number": number,
|
108
|
+
"extension": extension,
|
109
|
+
"callerId": caller_id,
|
110
|
+
"message": message,
|
111
|
+
"description": description
|
112
|
+
}.reject do |_k, v|
|
113
|
+
v == OMIT
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
# Deserialize a JSON object to an instance of TransferDestinationNumber
|
118
|
+
#
|
119
|
+
# @param json_object [String]
|
120
|
+
# @return [Vapi::TransferDestinationNumber]
|
121
|
+
def self.from_json(json_object:)
|
122
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
123
|
+
parsed_json = JSON.parse(json_object)
|
124
|
+
number_e_164_check_enabled = parsed_json["numberE164CheckEnabled"]
|
125
|
+
number = parsed_json["number"]
|
126
|
+
extension = parsed_json["extension"]
|
127
|
+
caller_id = parsed_json["callerId"]
|
128
|
+
message = parsed_json["message"]
|
129
|
+
description = parsed_json["description"]
|
130
|
+
new(
|
131
|
+
number_e_164_check_enabled: number_e_164_check_enabled,
|
132
|
+
number: number,
|
133
|
+
extension: extension,
|
134
|
+
caller_id: caller_id,
|
135
|
+
message: message,
|
136
|
+
description: description,
|
137
|
+
additional_properties: struct
|
138
|
+
)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Serialize an instance of TransferDestinationNumber to a JSON object
|
142
|
+
#
|
143
|
+
# @return [String]
|
144
|
+
def to_json(*_args)
|
145
|
+
@_field_set&.to_json
|
146
|
+
end
|
147
|
+
|
148
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
149
|
+
# hash and check each fields type against the current object's property
|
150
|
+
# definitions.
|
151
|
+
#
|
152
|
+
# @param obj [Object]
|
153
|
+
# @return [Void]
|
154
|
+
def self.validate_raw(obj:)
|
155
|
+
obj.number_e_164_check_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.number_e_164_check_enabled is not the expected type, validation failed.")
|
156
|
+
obj.number.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
|
157
|
+
obj.extension&.is_a?(String) != false || raise("Passed value for field obj.extension is not the expected type, validation failed.")
|
158
|
+
obj.caller_id&.is_a?(String) != false || raise("Passed value for field obj.caller_id is not the expected type, validation failed.")
|
159
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
160
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class TransferDestinationSip
|
8
|
+
# @return [String] This is the SIP URI to transfer the call to.
|
9
|
+
attr_reader :sip_uri
|
10
|
+
# @return [String] This is the message to say before transferring the call to the destination.
|
11
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
12
|
+
# "Transferring the call now".
|
13
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
14
|
+
# transfer. This is especially useful when transferring between assistants in a
|
15
|
+
# squad. In this scenario, you likely also want to set
|
16
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
17
|
+
# for the destination assistant.
|
18
|
+
attr_reader :message
|
19
|
+
# @return [String] This is the description of the destination, used by the AI to choose when and
|
20
|
+
# how to transfer the call.
|
21
|
+
attr_reader :description
|
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 sip_uri [String] This is the SIP URI to transfer the call to.
|
31
|
+
# @param message [String] This is the message to say before transferring the call to the destination.
|
32
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
33
|
+
# "Transferring the call now".
|
34
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
35
|
+
# transfer. This is especially useful when transferring between assistants in a
|
36
|
+
# squad. In this scenario, you likely also want to set
|
37
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
38
|
+
# for the destination assistant.
|
39
|
+
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
40
|
+
# how to transfer the call.
|
41
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
|
+
# @return [Vapi::TransferDestinationSip]
|
43
|
+
def initialize(sip_uri:, message: OMIT, description: OMIT, additional_properties: nil)
|
44
|
+
@sip_uri = sip_uri
|
45
|
+
@message = message if message != OMIT
|
46
|
+
@description = description if description != OMIT
|
47
|
+
@additional_properties = additional_properties
|
48
|
+
@_field_set = { "sipUri": sip_uri, "message": message, "description": description }.reject do |_k, v|
|
49
|
+
v == OMIT
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# Deserialize a JSON object to an instance of TransferDestinationSip
|
54
|
+
#
|
55
|
+
# @param json_object [String]
|
56
|
+
# @return [Vapi::TransferDestinationSip]
|
57
|
+
def self.from_json(json_object:)
|
58
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
59
|
+
parsed_json = JSON.parse(json_object)
|
60
|
+
sip_uri = parsed_json["sipUri"]
|
61
|
+
message = parsed_json["message"]
|
62
|
+
description = parsed_json["description"]
|
63
|
+
new(
|
64
|
+
sip_uri: sip_uri,
|
65
|
+
message: message,
|
66
|
+
description: description,
|
67
|
+
additional_properties: struct
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Serialize an instance of TransferDestinationSip to a JSON object
|
72
|
+
#
|
73
|
+
# @return [String]
|
74
|
+
def to_json(*_args)
|
75
|
+
@_field_set&.to_json
|
76
|
+
end
|
77
|
+
|
78
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
79
|
+
# hash and check each fields type against the current object's property
|
80
|
+
# definitions.
|
81
|
+
#
|
82
|
+
# @param obj [Object]
|
83
|
+
# @return [Void]
|
84
|
+
def self.validate_raw(obj:)
|
85
|
+
obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
|
86
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
87
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class TransferDestinationStep
|
8
|
+
# @return [String] This is the step to transfer to.
|
9
|
+
attr_reader :step_name
|
10
|
+
# @return [String] This is the message to say before transferring the call to the destination.
|
11
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
12
|
+
# "Transferring the call now".
|
13
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
14
|
+
# transfer. This is especially useful when transferring between assistants in a
|
15
|
+
# squad. In this scenario, you likely also want to set
|
16
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
17
|
+
# for the destination assistant.
|
18
|
+
attr_reader :message
|
19
|
+
# @return [String] This is the description of the destination, used by the AI to choose when and
|
20
|
+
# how to transfer the call.
|
21
|
+
attr_reader :description
|
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 step_name [String] This is the step to transfer to.
|
31
|
+
# @param message [String] This is the message to say before transferring the call to the destination.
|
32
|
+
# If this is not provided and transfer tool messages is not provided, default is
|
33
|
+
# "Transferring the call now".
|
34
|
+
# If set to "", nothing is spoken. This is useful when you want to silently
|
35
|
+
# transfer. This is especially useful when transferring between assistants in a
|
36
|
+
# squad. In this scenario, you likely also want to set
|
37
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
38
|
+
# for the destination assistant.
|
39
|
+
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
40
|
+
# how to transfer the call.
|
41
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
|
+
# @return [Vapi::TransferDestinationStep]
|
43
|
+
def initialize(step_name:, message: OMIT, description: OMIT, additional_properties: nil)
|
44
|
+
@step_name = step_name
|
45
|
+
@message = message if message != OMIT
|
46
|
+
@description = description if description != OMIT
|
47
|
+
@additional_properties = additional_properties
|
48
|
+
@_field_set = { "stepName": step_name, "message": message, "description": description }.reject do |_k, v|
|
49
|
+
v == OMIT
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# Deserialize a JSON object to an instance of TransferDestinationStep
|
54
|
+
#
|
55
|
+
# @param json_object [String]
|
56
|
+
# @return [Vapi::TransferDestinationStep]
|
57
|
+
def self.from_json(json_object:)
|
58
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
59
|
+
parsed_json = JSON.parse(json_object)
|
60
|
+
step_name = parsed_json["stepName"]
|
61
|
+
message = parsed_json["message"]
|
62
|
+
description = parsed_json["description"]
|
63
|
+
new(
|
64
|
+
step_name: step_name,
|
65
|
+
message: message,
|
66
|
+
description: description,
|
67
|
+
additional_properties: struct
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Serialize an instance of TransferDestinationStep to a JSON object
|
72
|
+
#
|
73
|
+
# @return [String]
|
74
|
+
def to_json(*_args)
|
75
|
+
@_field_set&.to_json
|
76
|
+
end
|
77
|
+
|
78
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
79
|
+
# hash and check each fields type against the current object's property
|
80
|
+
# definitions.
|
81
|
+
#
|
82
|
+
# @param obj [Object]
|
83
|
+
# @return [Void]
|
84
|
+
def self.validate_raw(obj:)
|
85
|
+
obj.step_name.is_a?(String) != false || raise("Passed value for field obj.step_name is not the expected type, validation failed.")
|
86
|
+
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
87
|
+
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|