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,159 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "create_dtmf_tool_dto"
|
5
|
+
require_relative "create_end_call_tool_dto"
|
6
|
+
require_relative "create_voicemail_tool_dto"
|
7
|
+
require_relative "create_function_tool_dto"
|
8
|
+
require_relative "create_ghl_tool_dto"
|
9
|
+
require_relative "create_make_tool_dto"
|
10
|
+
require_relative "create_transfer_call_tool_dto"
|
11
|
+
|
12
|
+
module Vapi
|
13
|
+
class VapiModelToolsItem
|
14
|
+
# @return [Object]
|
15
|
+
attr_reader :member
|
16
|
+
# @return [String]
|
17
|
+
attr_reader :discriminant
|
18
|
+
|
19
|
+
private_class_method :new
|
20
|
+
alias kind_of? is_a?
|
21
|
+
|
22
|
+
# @param member [Object]
|
23
|
+
# @param discriminant [String]
|
24
|
+
# @return [Vapi::VapiModelToolsItem]
|
25
|
+
def initialize(member:, discriminant:)
|
26
|
+
@member = member
|
27
|
+
@discriminant = discriminant
|
28
|
+
end
|
29
|
+
|
30
|
+
# Deserialize a JSON object to an instance of VapiModelToolsItem
|
31
|
+
#
|
32
|
+
# @param json_object [String]
|
33
|
+
# @return [Vapi::VapiModelToolsItem]
|
34
|
+
def self.from_json(json_object:)
|
35
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
36
|
+
member = case struct.type
|
37
|
+
when "dtmf"
|
38
|
+
Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
|
39
|
+
when "endCall"
|
40
|
+
Vapi::CreateEndCallToolDto.from_json(json_object: json_object)
|
41
|
+
when "voicemail"
|
42
|
+
Vapi::CreateVoicemailToolDto.from_json(json_object: json_object)
|
43
|
+
when "function"
|
44
|
+
Vapi::CreateFunctionToolDto.from_json(json_object: json_object)
|
45
|
+
when "ghl"
|
46
|
+
Vapi::CreateGhlToolDto.from_json(json_object: json_object)
|
47
|
+
when "make"
|
48
|
+
Vapi::CreateMakeToolDto.from_json(json_object: json_object)
|
49
|
+
when "transferCall"
|
50
|
+
Vapi::CreateTransferCallToolDto.from_json(json_object: json_object)
|
51
|
+
else
|
52
|
+
Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
|
53
|
+
end
|
54
|
+
new(member: member, discriminant: struct.type)
|
55
|
+
end
|
56
|
+
|
57
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
58
|
+
#
|
59
|
+
# @return [String]
|
60
|
+
def to_json(*_args)
|
61
|
+
case @discriminant
|
62
|
+
when "dtmf"
|
63
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
64
|
+
when "endCall"
|
65
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
66
|
+
when "voicemail"
|
67
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
68
|
+
when "function"
|
69
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
70
|
+
when "ghl"
|
71
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
72
|
+
when "make"
|
73
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
74
|
+
when "transferCall"
|
75
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
76
|
+
else
|
77
|
+
{ "type": @discriminant, value: @member }.to_json
|
78
|
+
end
|
79
|
+
@member.to_json
|
80
|
+
end
|
81
|
+
|
82
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
83
|
+
# hash and check each fields type against the current object's property
|
84
|
+
# definitions.
|
85
|
+
#
|
86
|
+
# @param obj [Object]
|
87
|
+
# @return [Void]
|
88
|
+
def self.validate_raw(obj:)
|
89
|
+
case obj.type
|
90
|
+
when "dtmf"
|
91
|
+
Vapi::CreateDtmfToolDto.validate_raw(obj: obj)
|
92
|
+
when "endCall"
|
93
|
+
Vapi::CreateEndCallToolDto.validate_raw(obj: obj)
|
94
|
+
when "voicemail"
|
95
|
+
Vapi::CreateVoicemailToolDto.validate_raw(obj: obj)
|
96
|
+
when "function"
|
97
|
+
Vapi::CreateFunctionToolDto.validate_raw(obj: obj)
|
98
|
+
when "ghl"
|
99
|
+
Vapi::CreateGhlToolDto.validate_raw(obj: obj)
|
100
|
+
when "make"
|
101
|
+
Vapi::CreateMakeToolDto.validate_raw(obj: obj)
|
102
|
+
when "transferCall"
|
103
|
+
Vapi::CreateTransferCallToolDto.validate_raw(obj: obj)
|
104
|
+
else
|
105
|
+
raise("Passed value matched no type within the union, validation failed.")
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
110
|
+
#
|
111
|
+
# @param obj [Object]
|
112
|
+
# @return [Boolean]
|
113
|
+
def is_a?(obj)
|
114
|
+
@member.is_a?(obj)
|
115
|
+
end
|
116
|
+
|
117
|
+
# @param member [Vapi::CreateDtmfToolDto]
|
118
|
+
# @return [Vapi::VapiModelToolsItem]
|
119
|
+
def self.dtmf(member:)
|
120
|
+
new(member: member, discriminant: "dtmf")
|
121
|
+
end
|
122
|
+
|
123
|
+
# @param member [Vapi::CreateEndCallToolDto]
|
124
|
+
# @return [Vapi::VapiModelToolsItem]
|
125
|
+
def self.end_call(member:)
|
126
|
+
new(member: member, discriminant: "endCall")
|
127
|
+
end
|
128
|
+
|
129
|
+
# @param member [Vapi::CreateVoicemailToolDto]
|
130
|
+
# @return [Vapi::VapiModelToolsItem]
|
131
|
+
def self.voicemail(member:)
|
132
|
+
new(member: member, discriminant: "voicemail")
|
133
|
+
end
|
134
|
+
|
135
|
+
# @param member [Vapi::CreateFunctionToolDto]
|
136
|
+
# @return [Vapi::VapiModelToolsItem]
|
137
|
+
def self.function(member:)
|
138
|
+
new(member: member, discriminant: "function")
|
139
|
+
end
|
140
|
+
|
141
|
+
# @param member [Vapi::CreateGhlToolDto]
|
142
|
+
# @return [Vapi::VapiModelToolsItem]
|
143
|
+
def self.ghl(member:)
|
144
|
+
new(member: member, discriminant: "ghl")
|
145
|
+
end
|
146
|
+
|
147
|
+
# @param member [Vapi::CreateMakeToolDto]
|
148
|
+
# @return [Vapi::VapiModelToolsItem]
|
149
|
+
def self.make(member:)
|
150
|
+
new(member: member, discriminant: "make")
|
151
|
+
end
|
152
|
+
|
153
|
+
# @param member [Vapi::CreateTransferCallToolDto]
|
154
|
+
# @return [Vapi::VapiModelToolsItem]
|
155
|
+
def self.transfer_call(member:)
|
156
|
+
new(member: member, discriminant: "transferCall")
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
@@ -0,0 +1,188 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "vapi_phone_number_fallback_destination"
|
4
|
+
require "date"
|
5
|
+
require "ostruct"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module Vapi
|
9
|
+
class VapiPhoneNumber
|
10
|
+
# @return [Vapi::VapiPhoneNumberFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
|
11
|
+
# 1. `assistantId` is not set
|
12
|
+
# 2. `squadId` is not set
|
13
|
+
# 3. and, `assistant-request` message to the `serverUrl` fails
|
14
|
+
# If this is not set and above conditions are met, the inbound call is hung up
|
15
|
+
# with an error message.
|
16
|
+
attr_reader :fallback_destination
|
17
|
+
# @return [String] This is the unique identifier for the phone number.
|
18
|
+
attr_reader :id
|
19
|
+
# @return [String] This is the unique identifier for the org that this phone number belongs to.
|
20
|
+
attr_reader :org_id
|
21
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
|
22
|
+
attr_reader :created_at
|
23
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
24
|
+
attr_reader :updated_at
|
25
|
+
# @return [String] This is the name of the phone number. This is just for your own reference.
|
26
|
+
attr_reader :name
|
27
|
+
# @return [String] This is the assistant that will be used for incoming calls to this phone number.
|
28
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
29
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
30
|
+
# shape of the message and response that is expected.
|
31
|
+
attr_reader :assistant_id
|
32
|
+
# @return [String] This is the squad that will be used for incoming calls to this phone number.
|
33
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
34
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
35
|
+
# shape of the message and response that is expected.
|
36
|
+
attr_reader :squad_id
|
37
|
+
# @return [String] This is the server URL where messages will be sent for calls on this number.
|
38
|
+
# This includes the `assistant-request` message.
|
39
|
+
# You can see the shape of the messages sent in `ServerMessage`.
|
40
|
+
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
41
|
+
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
42
|
+
attr_reader :server_url
|
43
|
+
# @return [String] This is the secret Vapi will send with every message to your server. It's sent
|
44
|
+
# as a header called x-vapi-secret.
|
45
|
+
# Same precedence logic as serverUrl.
|
46
|
+
attr_reader :server_url_secret
|
47
|
+
# @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
|
48
|
+
# attached to this number will answer.
|
49
|
+
# This is case-insensitive.
|
50
|
+
attr_reader :sip_uri
|
51
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
52
|
+
attr_reader :additional_properties
|
53
|
+
# @return [Object]
|
54
|
+
attr_reader :_field_set
|
55
|
+
protected :_field_set
|
56
|
+
|
57
|
+
OMIT = Object.new
|
58
|
+
|
59
|
+
# @param fallback_destination [Vapi::VapiPhoneNumberFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
|
60
|
+
# 1. `assistantId` is not set
|
61
|
+
# 2. `squadId` is not set
|
62
|
+
# 3. and, `assistant-request` message to the `serverUrl` fails
|
63
|
+
# If this is not set and above conditions are met, the inbound call is hung up
|
64
|
+
# with an error message.
|
65
|
+
# @param id [String] This is the unique identifier for the phone number.
|
66
|
+
# @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
|
67
|
+
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
|
68
|
+
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
|
69
|
+
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
70
|
+
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
71
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
72
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
73
|
+
# shape of the message and response that is expected.
|
74
|
+
# @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
|
75
|
+
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
76
|
+
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
77
|
+
# shape of the message and response that is expected.
|
78
|
+
# @param server_url [String] This is the server URL where messages will be sent for calls on this number.
|
79
|
+
# This includes the `assistant-request` message.
|
80
|
+
# You can see the shape of the messages sent in `ServerMessage`.
|
81
|
+
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
82
|
+
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
83
|
+
# @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
|
84
|
+
# as a header called x-vapi-secret.
|
85
|
+
# Same precedence logic as serverUrl.
|
86
|
+
# @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
|
87
|
+
# attached to this number will answer.
|
88
|
+
# This is case-insensitive.
|
89
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
90
|
+
# @return [Vapi::VapiPhoneNumber]
|
91
|
+
def initialize(id:, org_id:, created_at:, updated_at:, sip_uri:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
|
92
|
+
squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
|
93
|
+
@fallback_destination = fallback_destination if fallback_destination != OMIT
|
94
|
+
@id = id
|
95
|
+
@org_id = org_id
|
96
|
+
@created_at = created_at
|
97
|
+
@updated_at = updated_at
|
98
|
+
@name = name if name != OMIT
|
99
|
+
@assistant_id = assistant_id if assistant_id != OMIT
|
100
|
+
@squad_id = squad_id if squad_id != OMIT
|
101
|
+
@server_url = server_url if server_url != OMIT
|
102
|
+
@server_url_secret = server_url_secret if server_url_secret != OMIT
|
103
|
+
@sip_uri = sip_uri
|
104
|
+
@additional_properties = additional_properties
|
105
|
+
@_field_set = {
|
106
|
+
"fallbackDestination": fallback_destination,
|
107
|
+
"id": id,
|
108
|
+
"orgId": org_id,
|
109
|
+
"createdAt": created_at,
|
110
|
+
"updatedAt": updated_at,
|
111
|
+
"name": name,
|
112
|
+
"assistantId": assistant_id,
|
113
|
+
"squadId": squad_id,
|
114
|
+
"serverUrl": server_url,
|
115
|
+
"serverUrlSecret": server_url_secret,
|
116
|
+
"sipUri": sip_uri
|
117
|
+
}.reject do |_k, v|
|
118
|
+
v == OMIT
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
# Deserialize a JSON object to an instance of VapiPhoneNumber
|
123
|
+
#
|
124
|
+
# @param json_object [String]
|
125
|
+
# @return [Vapi::VapiPhoneNumber]
|
126
|
+
def self.from_json(json_object:)
|
127
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
128
|
+
parsed_json = JSON.parse(json_object)
|
129
|
+
if parsed_json["fallbackDestination"].nil?
|
130
|
+
fallback_destination = nil
|
131
|
+
else
|
132
|
+
fallback_destination = parsed_json["fallbackDestination"].to_json
|
133
|
+
fallback_destination = Vapi::VapiPhoneNumberFallbackDestination.from_json(json_object: fallback_destination)
|
134
|
+
end
|
135
|
+
id = parsed_json["id"]
|
136
|
+
org_id = parsed_json["orgId"]
|
137
|
+
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
138
|
+
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
139
|
+
name = parsed_json["name"]
|
140
|
+
assistant_id = parsed_json["assistantId"]
|
141
|
+
squad_id = parsed_json["squadId"]
|
142
|
+
server_url = parsed_json["serverUrl"]
|
143
|
+
server_url_secret = parsed_json["serverUrlSecret"]
|
144
|
+
sip_uri = parsed_json["sipUri"]
|
145
|
+
new(
|
146
|
+
fallback_destination: fallback_destination,
|
147
|
+
id: id,
|
148
|
+
org_id: org_id,
|
149
|
+
created_at: created_at,
|
150
|
+
updated_at: updated_at,
|
151
|
+
name: name,
|
152
|
+
assistant_id: assistant_id,
|
153
|
+
squad_id: squad_id,
|
154
|
+
server_url: server_url,
|
155
|
+
server_url_secret: server_url_secret,
|
156
|
+
sip_uri: sip_uri,
|
157
|
+
additional_properties: struct
|
158
|
+
)
|
159
|
+
end
|
160
|
+
|
161
|
+
# Serialize an instance of VapiPhoneNumber 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.fallback_destination.nil? || Vapi::VapiPhoneNumberFallbackDestination.validate_raw(obj: obj.fallback_destination)
|
176
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
177
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
178
|
+
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
179
|
+
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
180
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
181
|
+
obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
|
182
|
+
obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
|
183
|
+
obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
|
184
|
+
obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
|
185
|
+
obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
|
186
|
+
end
|
187
|
+
end
|
188
|
+
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 VapiPhoneNumberFallbackDestination
|
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::VapiPhoneNumberFallbackDestination]
|
26
|
+
def initialize(member:, discriminant:)
|
27
|
+
@member = member
|
28
|
+
@discriminant = discriminant
|
29
|
+
end
|
30
|
+
|
31
|
+
# Deserialize a JSON object to an instance of VapiPhoneNumberFallbackDestination
|
32
|
+
#
|
33
|
+
# @param json_object [String]
|
34
|
+
# @return [Vapi::VapiPhoneNumberFallbackDestination]
|
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::VapiPhoneNumberFallbackDestination]
|
90
|
+
def self.number(member:)
|
91
|
+
new(member: member, discriminant: "number")
|
92
|
+
end
|
93
|
+
|
94
|
+
# @param member [Vapi::TransferDestinationSip]
|
95
|
+
# @return [Vapi::VapiPhoneNumberFallbackDestination]
|
96
|
+
def self.sip(member:)
|
97
|
+
new(member: member, discriminant: "sip")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class VoiceCost
|
8
|
+
# @return [Hash{String => Object}] This is the voice that was used during the call.
|
9
|
+
# This matches one of the following:
|
10
|
+
# - `call.assistant.voice`,
|
11
|
+
# - `call.assistantId->voice`,
|
12
|
+
# - `call.squad[n].assistant.voice`,
|
13
|
+
# - `call.squad[n].assistantId->voice`,
|
14
|
+
# - `call.squadId->[n].assistant.voice`,
|
15
|
+
# - `call.squadId->[n].assistantId->voice`.
|
16
|
+
attr_reader :voice
|
17
|
+
# @return [Float] This is the number of characters that were generated during the call. These
|
18
|
+
# should be total characters used in the call for single assistant calls, while
|
19
|
+
# squad calls will have multiple voice costs one for each assistant that was used.
|
20
|
+
attr_reader :characters
|
21
|
+
# @return [Float] This is the cost of the component in USD.
|
22
|
+
attr_reader :cost
|
23
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
24
|
+
attr_reader :additional_properties
|
25
|
+
# @return [Object]
|
26
|
+
attr_reader :_field_set
|
27
|
+
protected :_field_set
|
28
|
+
|
29
|
+
OMIT = Object.new
|
30
|
+
|
31
|
+
# @param voice [Hash{String => Object}] This is the voice that was used during the call.
|
32
|
+
# This matches one of the following:
|
33
|
+
# - `call.assistant.voice`,
|
34
|
+
# - `call.assistantId->voice`,
|
35
|
+
# - `call.squad[n].assistant.voice`,
|
36
|
+
# - `call.squad[n].assistantId->voice`,
|
37
|
+
# - `call.squadId->[n].assistant.voice`,
|
38
|
+
# - `call.squadId->[n].assistantId->voice`.
|
39
|
+
# @param characters [Float] This is the number of characters that were generated during the call. These
|
40
|
+
# should be total characters used in the call for single assistant calls, while
|
41
|
+
# squad calls will have multiple voice costs one for each assistant that was used.
|
42
|
+
# @param cost [Float] This is the cost of the component in USD.
|
43
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
44
|
+
# @return [Vapi::VoiceCost]
|
45
|
+
def initialize(voice:, characters:, cost:, additional_properties: nil)
|
46
|
+
@voice = voice
|
47
|
+
@characters = characters
|
48
|
+
@cost = cost
|
49
|
+
@additional_properties = additional_properties
|
50
|
+
@_field_set = { "voice": voice, "characters": characters, "cost": cost }
|
51
|
+
end
|
52
|
+
|
53
|
+
# Deserialize a JSON object to an instance of VoiceCost
|
54
|
+
#
|
55
|
+
# @param json_object [String]
|
56
|
+
# @return [Vapi::VoiceCost]
|
57
|
+
def self.from_json(json_object:)
|
58
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
59
|
+
parsed_json = JSON.parse(json_object)
|
60
|
+
voice = parsed_json["voice"]
|
61
|
+
characters = parsed_json["characters"]
|
62
|
+
cost = parsed_json["cost"]
|
63
|
+
new(
|
64
|
+
voice: voice,
|
65
|
+
characters: characters,
|
66
|
+
cost: cost,
|
67
|
+
additional_properties: struct
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Serialize an instance of VoiceCost 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.voice.is_a?(Hash) != false || raise("Passed value for field obj.voice is not the expected type, validation failed.")
|
86
|
+
obj.characters.is_a?(Float) != false || raise("Passed value for field obj.characters is not the expected type, validation failed.")
|
87
|
+
obj.cost.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|