vapi_server_sdk 0.1.0 → 0.3.0
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 +4 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +287 -62
- data/lib/vapi_server_sdk/analytics/client.rb +14 -43
- data/lib/vapi_server_sdk/assistants/client.rb +70 -60
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +52 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +40 -1
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +39 -0
- data/lib/vapi_server_sdk/blocks/client.rb +7 -166
- data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
- data/lib/vapi_server_sdk/calls/client.rb +74 -32
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +393 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
- data/lib/vapi_server_sdk/logs/client.rb +94 -6
- data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
- data/lib/vapi_server_sdk/squads/client.rb +64 -32
- data/lib/vapi_server_sdk/tools/client.rb +7 -87
- data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
- data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
- data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
- data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
- data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
- data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
- data/lib/vapi_server_sdk/types/assistant.rb +60 -64
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +52 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +75 -65
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +52 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +40 -1
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +40 -1
- data/lib/vapi_server_sdk/types/assistant_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
- data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
- data/lib/vapi_server_sdk/types/azure_credential.rb +146 -0
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
- data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +20 -2
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +2 -1
- data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
- data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
- data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
- data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
- data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
- data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
- data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
- data/lib/vapi_server_sdk/types/call.rb +15 -1
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +83 -43
- data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
- data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
- data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
- data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
- data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
- data/lib/vapi_server_sdk/types/chat_service_response.rb +47 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
- data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
- data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
- data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
- data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
- data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
- data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
- data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
- data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/condition.rb +9 -9
- data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +61 -65
- data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +52 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +40 -1
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +22 -11
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +2 -1
- data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -19
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_cerebras_credential_dto.rb} +21 -21
- data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
- data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
- data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +26 -9
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -9
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +9 -21
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +83 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_org_dto.rb +45 -26
- data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
- data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +44 -30
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +73 -0
- data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
- data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
- data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
- data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
- data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
- data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
- data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
- data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
- data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
- data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
- data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
- data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +12 -0
- data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +14 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
- data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
- data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +224 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
- data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
- data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
- data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
- data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
- data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
- data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/google_model.rb +194 -0
- data/lib/vapi_server_sdk/types/google_model_model.rb +14 -0
- data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
- data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
- data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
- data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
- data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
- data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
- data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
- data/lib/vapi_server_sdk/types/log.rb +12 -4
- data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
- data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
- data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
- data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
- data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
- data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
- data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +8 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +8 -0
- data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
- data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
- data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
- data/lib/vapi_server_sdk/types/org.rb +59 -26
- data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
- data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
- data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
- data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
- data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
- data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
- data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
- data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
- data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
- data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/server.rb +16 -2
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +83 -43
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
- data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
- data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
- data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
- data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
- data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +83 -43
- data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
- data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
- data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
- data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
- data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
- data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
- data/lib/vapi_server_sdk/types/subscription.rb +336 -0
- data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
- data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
- data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +2 -0
- data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
- data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
- data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/text_content.rb +73 -0
- data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
- data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
- data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
- data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
- data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
- data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
- data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
- data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
- data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
- data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_plan.rb +161 -0
- data/lib/vapi_server_sdk/types/transfer_plan_message.rb +59 -0
- data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
- data/lib/vapi_server_sdk/types/transport.rb +70 -0
- data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
- data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
- data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +105 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +29 -18
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +2 -1
- data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
- data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +30 -18
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
- data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
- data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
- data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +28 -11
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -11
- data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +20 -11
- data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +6 -18
- data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
- data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +83 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -15
- data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
- data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_org_dto.rb +45 -26
- data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +24 -22
- data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
- data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
- data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
- data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
- data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
- data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
- data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
- data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +44 -30
- data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
- data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
- data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk.rb +7 -0
- metadata +240 -14
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
- data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
- data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class SipAuthentication
|
8
|
+
# @return [String] This will be expected in the `realm` field of the `authorization` header of the
|
9
|
+
# SIP INVITE. Defaults to sip.vapi.ai.
|
10
|
+
attr_reader :realm
|
11
|
+
# @return [String] This will be expected in the `username` field of the `authorization` header of
|
12
|
+
# the SIP INVITE.
|
13
|
+
attr_reader :username
|
14
|
+
# @return [String] This will be expected to generate the `response` field of the `authorization`
|
15
|
+
# header of the SIP INVITE, through digest authentication.
|
16
|
+
attr_reader :password
|
17
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
18
|
+
attr_reader :additional_properties
|
19
|
+
# @return [Object]
|
20
|
+
attr_reader :_field_set
|
21
|
+
protected :_field_set
|
22
|
+
|
23
|
+
OMIT = Object.new
|
24
|
+
|
25
|
+
# @param realm [String] This will be expected in the `realm` field of the `authorization` header of the
|
26
|
+
# SIP INVITE. Defaults to sip.vapi.ai.
|
27
|
+
# @param username [String] This will be expected in the `username` field of the `authorization` header of
|
28
|
+
# the SIP INVITE.
|
29
|
+
# @param password [String] This will be expected to generate the `response` field of the `authorization`
|
30
|
+
# header of the SIP INVITE, through digest authentication.
|
31
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
32
|
+
# @return [Vapi::SipAuthentication]
|
33
|
+
def initialize(username:, password:, realm: OMIT, additional_properties: nil)
|
34
|
+
@realm = realm if realm != OMIT
|
35
|
+
@username = username
|
36
|
+
@password = password
|
37
|
+
@additional_properties = additional_properties
|
38
|
+
@_field_set = { "realm": realm, "username": username, "password": password }.reject do |_k, v|
|
39
|
+
v == OMIT
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Deserialize a JSON object to an instance of SipAuthentication
|
44
|
+
#
|
45
|
+
# @param json_object [String]
|
46
|
+
# @return [Vapi::SipAuthentication]
|
47
|
+
def self.from_json(json_object:)
|
48
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
49
|
+
parsed_json = JSON.parse(json_object)
|
50
|
+
realm = parsed_json["realm"]
|
51
|
+
username = parsed_json["username"]
|
52
|
+
password = parsed_json["password"]
|
53
|
+
new(
|
54
|
+
realm: realm,
|
55
|
+
username: username,
|
56
|
+
password: password,
|
57
|
+
additional_properties: struct
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Serialize an instance of SipAuthentication to a JSON object
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
def to_json(*_args)
|
65
|
+
@_field_set&.to_json
|
66
|
+
end
|
67
|
+
|
68
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
69
|
+
# hash and check each fields type against the current object's property
|
70
|
+
# definitions.
|
71
|
+
#
|
72
|
+
# @param obj [Object]
|
73
|
+
# @return [Void]
|
74
|
+
def self.validate_raw(obj:)
|
75
|
+
obj.realm&.is_a?(String) != false || raise("Passed value for field obj.realm is not the expected type, validation failed.")
|
76
|
+
obj.username.is_a?(String) != false || raise("Passed value for field obj.username is not the expected type, validation failed.")
|
77
|
+
obj.password.is_a?(String) != false || raise("Passed value for field obj.password is not the expected type, validation failed.")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "date"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class SmallestAiCredential
|
9
|
+
# @return [String]
|
10
|
+
attr_reader :provider
|
11
|
+
# @return [String] This is not returned in the API.
|
12
|
+
attr_reader :api_key
|
13
|
+
# @return [String] This is the unique identifier for the credential.
|
14
|
+
attr_reader :id
|
15
|
+
# @return [String] This is the unique identifier for the org that this credential belongs to.
|
16
|
+
attr_reader :org_id
|
17
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the credential was created.
|
18
|
+
attr_reader :created_at
|
19
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
20
|
+
attr_reader :updated_at
|
21
|
+
# @return [String] This is the name of credential. This is just for your reference.
|
22
|
+
attr_reader :name
|
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 provider [String]
|
32
|
+
# @param api_key [String] This is not returned in the API.
|
33
|
+
# @param id [String] This is the unique identifier for the credential.
|
34
|
+
# @param org_id [String] This is the unique identifier for the org that this credential belongs to.
|
35
|
+
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
|
36
|
+
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
37
|
+
# @param name [String] This is the name of credential. This is just for your reference.
|
38
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
39
|
+
# @return [Vapi::SmallestAiCredential]
|
40
|
+
def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, name: OMIT, additional_properties: nil)
|
41
|
+
@provider = provider
|
42
|
+
@api_key = api_key
|
43
|
+
@id = id
|
44
|
+
@org_id = org_id
|
45
|
+
@created_at = created_at
|
46
|
+
@updated_at = updated_at
|
47
|
+
@name = name if name != OMIT
|
48
|
+
@additional_properties = additional_properties
|
49
|
+
@_field_set = {
|
50
|
+
"provider": provider,
|
51
|
+
"apiKey": api_key,
|
52
|
+
"id": id,
|
53
|
+
"orgId": org_id,
|
54
|
+
"createdAt": created_at,
|
55
|
+
"updatedAt": updated_at,
|
56
|
+
"name": name
|
57
|
+
}.reject do |_k, v|
|
58
|
+
v == OMIT
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Deserialize a JSON object to an instance of SmallestAiCredential
|
63
|
+
#
|
64
|
+
# @param json_object [String]
|
65
|
+
# @return [Vapi::SmallestAiCredential]
|
66
|
+
def self.from_json(json_object:)
|
67
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
68
|
+
parsed_json = JSON.parse(json_object)
|
69
|
+
provider = parsed_json["provider"]
|
70
|
+
api_key = parsed_json["apiKey"]
|
71
|
+
id = parsed_json["id"]
|
72
|
+
org_id = parsed_json["orgId"]
|
73
|
+
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
74
|
+
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
75
|
+
name = parsed_json["name"]
|
76
|
+
new(
|
77
|
+
provider: provider,
|
78
|
+
api_key: api_key,
|
79
|
+
id: id,
|
80
|
+
org_id: org_id,
|
81
|
+
created_at: created_at,
|
82
|
+
updated_at: updated_at,
|
83
|
+
name: name,
|
84
|
+
additional_properties: struct
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Serialize an instance of SmallestAiCredential to a JSON object
|
89
|
+
#
|
90
|
+
# @return [String]
|
91
|
+
def to_json(*_args)
|
92
|
+
@_field_set&.to_json
|
93
|
+
end
|
94
|
+
|
95
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
96
|
+
# hash and check each fields type against the current object's property
|
97
|
+
# definitions.
|
98
|
+
#
|
99
|
+
# @param obj [Object]
|
100
|
+
# @return [Void]
|
101
|
+
def self.validate_raw(obj:)
|
102
|
+
obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
|
103
|
+
obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
|
104
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
105
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
106
|
+
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
107
|
+
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
108
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "smallest_ai_voice_id"
|
4
|
+
require_relative "chunk_plan"
|
5
|
+
require_relative "fallback_plan"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class SmallestAiVoice
|
11
|
+
# @return [Vapi::SmallestAiVoiceId] This is the provider-specific ID that will be used.
|
12
|
+
attr_reader :voice_id
|
13
|
+
# @return [String] Smallest AI voice model to use. Defaults to 'lightning' when not specified.
|
14
|
+
attr_reader :model
|
15
|
+
# @return [Float] This is the speed multiplier that will be used.
|
16
|
+
attr_reader :speed
|
17
|
+
# @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
|
18
|
+
# provider.
|
19
|
+
attr_reader :chunk_plan
|
20
|
+
# @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
|
21
|
+
# voice provider fails.
|
22
|
+
attr_reader :fallback_plan
|
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_id [Vapi::SmallestAiVoiceId] This is the provider-specific ID that will be used.
|
32
|
+
# @param model [String] Smallest AI voice model to use. Defaults to 'lightning' when not specified.
|
33
|
+
# @param speed [Float] This is the speed multiplier that will be used.
|
34
|
+
# @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
|
35
|
+
# provider.
|
36
|
+
# @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
|
37
|
+
# voice provider fails.
|
38
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
39
|
+
# @return [Vapi::SmallestAiVoice]
|
40
|
+
def initialize(voice_id:, model: OMIT, speed: OMIT, chunk_plan: OMIT, fallback_plan: OMIT,
|
41
|
+
additional_properties: nil)
|
42
|
+
@voice_id = voice_id
|
43
|
+
@model = model if model != OMIT
|
44
|
+
@speed = speed if speed != OMIT
|
45
|
+
@chunk_plan = chunk_plan if chunk_plan != OMIT
|
46
|
+
@fallback_plan = fallback_plan if fallback_plan != OMIT
|
47
|
+
@additional_properties = additional_properties
|
48
|
+
@_field_set = {
|
49
|
+
"voiceId": voice_id,
|
50
|
+
"model": model,
|
51
|
+
"speed": speed,
|
52
|
+
"chunkPlan": chunk_plan,
|
53
|
+
"fallbackPlan": fallback_plan
|
54
|
+
}.reject do |_k, v|
|
55
|
+
v == OMIT
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Deserialize a JSON object to an instance of SmallestAiVoice
|
60
|
+
#
|
61
|
+
# @param json_object [String]
|
62
|
+
# @return [Vapi::SmallestAiVoice]
|
63
|
+
def self.from_json(json_object:)
|
64
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
65
|
+
parsed_json = JSON.parse(json_object)
|
66
|
+
if parsed_json["voiceId"].nil?
|
67
|
+
voice_id = nil
|
68
|
+
else
|
69
|
+
voice_id = parsed_json["voiceId"].to_json
|
70
|
+
voice_id = Vapi::SmallestAiVoiceId.from_json(json_object: voice_id)
|
71
|
+
end
|
72
|
+
model = parsed_json["model"]
|
73
|
+
speed = parsed_json["speed"]
|
74
|
+
if parsed_json["chunkPlan"].nil?
|
75
|
+
chunk_plan = nil
|
76
|
+
else
|
77
|
+
chunk_plan = parsed_json["chunkPlan"].to_json
|
78
|
+
chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
|
79
|
+
end
|
80
|
+
if parsed_json["fallbackPlan"].nil?
|
81
|
+
fallback_plan = nil
|
82
|
+
else
|
83
|
+
fallback_plan = parsed_json["fallbackPlan"].to_json
|
84
|
+
fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
|
85
|
+
end
|
86
|
+
new(
|
87
|
+
voice_id: voice_id,
|
88
|
+
model: model,
|
89
|
+
speed: speed,
|
90
|
+
chunk_plan: chunk_plan,
|
91
|
+
fallback_plan: fallback_plan,
|
92
|
+
additional_properties: struct
|
93
|
+
)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Serialize an instance of SmallestAiVoice to a JSON object
|
97
|
+
#
|
98
|
+
# @return [String]
|
99
|
+
def to_json(*_args)
|
100
|
+
@_field_set&.to_json
|
101
|
+
end
|
102
|
+
|
103
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
104
|
+
# hash and check each fields type against the current object's property
|
105
|
+
# definitions.
|
106
|
+
#
|
107
|
+
# @param obj [Object]
|
108
|
+
# @return [Void]
|
109
|
+
def self.validate_raw(obj:)
|
110
|
+
Vapi::SmallestAiVoiceId.validate_raw(obj: obj.voice_id)
|
111
|
+
obj.model&.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
|
112
|
+
obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
|
113
|
+
obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
|
114
|
+
obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Vapi
|
6
|
+
# This is the provider-specific ID that will be used.
|
7
|
+
class SmallestAiVoiceId
|
8
|
+
# Deserialize a JSON object to an instance of SmallestAiVoiceId
|
9
|
+
#
|
10
|
+
# @param json_object [String]
|
11
|
+
# @return [Vapi::SmallestAiVoiceId]
|
12
|
+
def self.from_json(json_object:)
|
13
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
14
|
+
begin
|
15
|
+
struct.is_a?(Vapi::SmallestAiVoiceIdEnum) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
16
|
+
return struct unless struct.nil?
|
17
|
+
|
18
|
+
return nil
|
19
|
+
rescue StandardError
|
20
|
+
# noop
|
21
|
+
end
|
22
|
+
begin
|
23
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
24
|
+
return struct unless struct.nil?
|
25
|
+
|
26
|
+
return nil
|
27
|
+
rescue StandardError
|
28
|
+
# noop
|
29
|
+
end
|
30
|
+
struct
|
31
|
+
end
|
32
|
+
|
33
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
34
|
+
# hash and check each fields type against the current object's property
|
35
|
+
# definitions.
|
36
|
+
#
|
37
|
+
# @param obj [Object]
|
38
|
+
# @return [Void]
|
39
|
+
def self.validate_raw(obj:)
|
40
|
+
begin
|
41
|
+
return obj.is_a?(Vapi::SmallestAiVoiceIdEnum) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
42
|
+
rescue StandardError
|
43
|
+
# noop
|
44
|
+
end
|
45
|
+
begin
|
46
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
47
|
+
rescue StandardError
|
48
|
+
# noop
|
49
|
+
end
|
50
|
+
raise("Passed value matched no type within the union, validation failed.")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Vapi
|
4
|
+
class SmallestAiVoiceIdEnum
|
5
|
+
EMILY = "emily"
|
6
|
+
JASMINE = "jasmine"
|
7
|
+
ARMAN = "arman"
|
8
|
+
JAMES = "james"
|
9
|
+
MITHALI = "mithali"
|
10
|
+
ARAVIND = "aravind"
|
11
|
+
RAJ = "raj"
|
12
|
+
DIYA = "diya"
|
13
|
+
RAMAN = "raman"
|
14
|
+
ANANYA = "ananya"
|
15
|
+
ISHA = "isha"
|
16
|
+
WILLIAM = "william"
|
17
|
+
AARAV = "aarav"
|
18
|
+
MONIKA = "monika"
|
19
|
+
NIHARIKA = "niharika"
|
20
|
+
DEEPIKA = "deepika"
|
21
|
+
RAGHAV = "raghav"
|
22
|
+
KAJAL = "kajal"
|
23
|
+
RADHIKA = "radhika"
|
24
|
+
MANSI = "mansi"
|
25
|
+
NISHA = "nisha"
|
26
|
+
SAURABH = "saurabh"
|
27
|
+
POOJA = "pooja"
|
28
|
+
SAINA = "saina"
|
29
|
+
SANYA = "sanya"
|
30
|
+
end
|
31
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "start_speaking_plan_custom_endpointing_rules_item"
|
3
4
|
require_relative "transcription_endpointing_plan"
|
4
5
|
require "ostruct"
|
5
6
|
require "json"
|
@@ -8,7 +9,7 @@ module Vapi
|
|
8
9
|
class StartSpeakingPlan
|
9
10
|
# @return [Float] This is how long assistant waits before speaking. Defaults to 0.4.
|
10
11
|
# This is the minimum it will wait but if there is latency is the pipeline, this
|
11
|
-
# minimum will be exceeded. This is
|
12
|
+
# minimum will be exceeded. This is intended as a stopgap in case the pipeline is
|
12
13
|
# moving too fast.
|
13
14
|
# Example:
|
14
15
|
# - If model generates tokens and voice generates bytes within 100ms, the pipeline
|
@@ -19,12 +20,30 @@ module Vapi
|
|
19
20
|
# value.
|
20
21
|
# @default 0.4
|
21
22
|
attr_reader :wait_seconds
|
22
|
-
# @return [Boolean] This determines if a customer speech is considered done (endpointing) using
|
23
|
-
#
|
23
|
+
# @return [Boolean] This determines if a customer speech is considered done (endpointing) using a
|
24
|
+
# Vapi custom-trained model on customer's speech. This is good for
|
25
|
+
# middle-of-thought detection.
|
24
26
|
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
25
|
-
#
|
27
|
+
# Usage:
|
28
|
+
# - If your conversations are long-form and you want assistant to wait smartly
|
29
|
+
# even if customer pauses for a bit to think, you can use this instead.
|
30
|
+
# This overrides `transcriptionEndpointingPlan`.
|
26
31
|
# @default false
|
27
32
|
attr_reader :smart_endpointing_enabled
|
33
|
+
# @return [Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>] These are the custom endpointing rules to set an endpointing timeout based on a
|
34
|
+
# regex on the customer's speech or the assistant's last message.
|
35
|
+
# Usage:
|
36
|
+
# - If you have yes/no questions like "are you interested in a loan?", you can set
|
37
|
+
# a shorter timeout.
|
38
|
+
# - If you have questions where the customer may pause to look up information like
|
39
|
+
# "what's my account number?", you can set a longer timeout.
|
40
|
+
# - If you want to wait longer while customer is enumerating a list of numbers,
|
41
|
+
# you can set a longer timeout.
|
42
|
+
# These override `transcriptionEndpointingPlan` and `smartEndpointingEnabled` when
|
43
|
+
# a rule is matched.
|
44
|
+
# The rules are evaluated in order and the first one that matches will be used.
|
45
|
+
# @default []
|
46
|
+
attr_reader :custom_endpointing_rules
|
28
47
|
# @return [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
|
29
48
|
# transcription of customer's speech.
|
30
49
|
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
@@ -39,7 +58,7 @@ module Vapi
|
|
39
58
|
|
40
59
|
# @param wait_seconds [Float] This is how long assistant waits before speaking. Defaults to 0.4.
|
41
60
|
# This is the minimum it will wait but if there is latency is the pipeline, this
|
42
|
-
# minimum will be exceeded. This is
|
61
|
+
# minimum will be exceeded. This is intended as a stopgap in case the pipeline is
|
43
62
|
# moving too fast.
|
44
63
|
# Example:
|
45
64
|
# - If model generates tokens and voice generates bytes within 100ms, the pipeline
|
@@ -49,25 +68,44 @@ module Vapi
|
|
49
68
|
# - If the assistant is accidentally jumping in too much, set this to a higher
|
50
69
|
# value.
|
51
70
|
# @default 0.4
|
52
|
-
# @param smart_endpointing_enabled [Boolean] This determines if a customer speech is considered done (endpointing) using
|
53
|
-
#
|
71
|
+
# @param smart_endpointing_enabled [Boolean] This determines if a customer speech is considered done (endpointing) using a
|
72
|
+
# Vapi custom-trained model on customer's speech. This is good for
|
73
|
+
# middle-of-thought detection.
|
54
74
|
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
55
|
-
#
|
75
|
+
# Usage:
|
76
|
+
# - If your conversations are long-form and you want assistant to wait smartly
|
77
|
+
# even if customer pauses for a bit to think, you can use this instead.
|
78
|
+
# This overrides `transcriptionEndpointingPlan`.
|
56
79
|
# @default false
|
80
|
+
# @param custom_endpointing_rules [Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>] These are the custom endpointing rules to set an endpointing timeout based on a
|
81
|
+
# regex on the customer's speech or the assistant's last message.
|
82
|
+
# Usage:
|
83
|
+
# - If you have yes/no questions like "are you interested in a loan?", you can set
|
84
|
+
# a shorter timeout.
|
85
|
+
# - If you have questions where the customer may pause to look up information like
|
86
|
+
# "what's my account number?", you can set a longer timeout.
|
87
|
+
# - If you want to wait longer while customer is enumerating a list of numbers,
|
88
|
+
# you can set a longer timeout.
|
89
|
+
# These override `transcriptionEndpointingPlan` and `smartEndpointingEnabled` when
|
90
|
+
# a rule is matched.
|
91
|
+
# The rules are evaluated in order and the first one that matches will be used.
|
92
|
+
# @default []
|
57
93
|
# @param transcription_endpointing_plan [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
|
58
94
|
# transcription of customer's speech.
|
59
95
|
# Once an endpoint is triggered, the request is sent to `assistant.model`.
|
60
96
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
61
97
|
# @return [Vapi::StartSpeakingPlan]
|
62
|
-
def initialize(wait_seconds: OMIT, smart_endpointing_enabled: OMIT,
|
63
|
-
additional_properties: nil)
|
98
|
+
def initialize(wait_seconds: OMIT, smart_endpointing_enabled: OMIT, custom_endpointing_rules: OMIT,
|
99
|
+
transcription_endpointing_plan: OMIT, additional_properties: nil)
|
64
100
|
@wait_seconds = wait_seconds if wait_seconds != OMIT
|
65
101
|
@smart_endpointing_enabled = smart_endpointing_enabled if smart_endpointing_enabled != OMIT
|
102
|
+
@custom_endpointing_rules = custom_endpointing_rules if custom_endpointing_rules != OMIT
|
66
103
|
@transcription_endpointing_plan = transcription_endpointing_plan if transcription_endpointing_plan != OMIT
|
67
104
|
@additional_properties = additional_properties
|
68
105
|
@_field_set = {
|
69
106
|
"waitSeconds": wait_seconds,
|
70
107
|
"smartEndpointingEnabled": smart_endpointing_enabled,
|
108
|
+
"customEndpointingRules": custom_endpointing_rules,
|
71
109
|
"transcriptionEndpointingPlan": transcription_endpointing_plan
|
72
110
|
}.reject do |_k, v|
|
73
111
|
v == OMIT
|
@@ -83,6 +121,10 @@ module Vapi
|
|
83
121
|
parsed_json = JSON.parse(json_object)
|
84
122
|
wait_seconds = parsed_json["waitSeconds"]
|
85
123
|
smart_endpointing_enabled = parsed_json["smartEndpointingEnabled"]
|
124
|
+
custom_endpointing_rules = parsed_json["customEndpointingRules"]&.map do |item|
|
125
|
+
item = item.to_json
|
126
|
+
Vapi::StartSpeakingPlanCustomEndpointingRulesItem.from_json(json_object: item)
|
127
|
+
end
|
86
128
|
if parsed_json["transcriptionEndpointingPlan"].nil?
|
87
129
|
transcription_endpointing_plan = nil
|
88
130
|
else
|
@@ -92,6 +134,7 @@ module Vapi
|
|
92
134
|
new(
|
93
135
|
wait_seconds: wait_seconds,
|
94
136
|
smart_endpointing_enabled: smart_endpointing_enabled,
|
137
|
+
custom_endpointing_rules: custom_endpointing_rules,
|
95
138
|
transcription_endpointing_plan: transcription_endpointing_plan,
|
96
139
|
additional_properties: struct
|
97
140
|
)
|
@@ -113,6 +156,7 @@ module Vapi
|
|
113
156
|
def self.validate_raw(obj:)
|
114
157
|
obj.wait_seconds&.is_a?(Float) != false || raise("Passed value for field obj.wait_seconds is not the expected type, validation failed.")
|
115
158
|
obj.smart_endpointing_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.smart_endpointing_enabled is not the expected type, validation failed.")
|
159
|
+
obj.custom_endpointing_rules&.is_a?(Array) != false || raise("Passed value for field obj.custom_endpointing_rules is not the expected type, validation failed.")
|
116
160
|
obj.transcription_endpointing_plan.nil? || Vapi::TranscriptionEndpointingPlan.validate_raw(obj: obj.transcription_endpointing_plan)
|
117
161
|
end
|
118
162
|
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "assistant_custom_endpointing_rule"
|
5
|
+
require_relative "customer_custom_endpointing_rule"
|
6
|
+
require_relative "both_custom_endpointing_rule"
|
7
|
+
|
8
|
+
module Vapi
|
9
|
+
class StartSpeakingPlanCustomEndpointingRulesItem
|
10
|
+
# @return [Object]
|
11
|
+
attr_reader :member
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :discriminant
|
14
|
+
|
15
|
+
private_class_method :new
|
16
|
+
alias kind_of? is_a?
|
17
|
+
|
18
|
+
# @param member [Object]
|
19
|
+
# @param discriminant [String]
|
20
|
+
# @return [Vapi::StartSpeakingPlanCustomEndpointingRulesItem]
|
21
|
+
def initialize(member:, discriminant:)
|
22
|
+
@member = member
|
23
|
+
@discriminant = discriminant
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of
|
27
|
+
# StartSpeakingPlanCustomEndpointingRulesItem
|
28
|
+
#
|
29
|
+
# @param json_object [String]
|
30
|
+
# @return [Vapi::StartSpeakingPlanCustomEndpointingRulesItem]
|
31
|
+
def self.from_json(json_object:)
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
33
|
+
member = case struct.type
|
34
|
+
when "assistant"
|
35
|
+
Vapi::AssistantCustomEndpointingRule.from_json(json_object: json_object)
|
36
|
+
when "customer"
|
37
|
+
Vapi::CustomerCustomEndpointingRule.from_json(json_object: json_object)
|
38
|
+
when "both"
|
39
|
+
Vapi::BothCustomEndpointingRule.from_json(json_object: json_object)
|
40
|
+
else
|
41
|
+
Vapi::AssistantCustomEndpointingRule.from_json(json_object: json_object)
|
42
|
+
end
|
43
|
+
new(member: member, discriminant: struct.type)
|
44
|
+
end
|
45
|
+
|
46
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
47
|
+
#
|
48
|
+
# @return [String]
|
49
|
+
def to_json(*_args)
|
50
|
+
case @discriminant
|
51
|
+
when "assistant"
|
52
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
53
|
+
when "customer"
|
54
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
55
|
+
when "both"
|
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 "assistant"
|
72
|
+
Vapi::AssistantCustomEndpointingRule.validate_raw(obj: obj)
|
73
|
+
when "customer"
|
74
|
+
Vapi::CustomerCustomEndpointingRule.validate_raw(obj: obj)
|
75
|
+
when "both"
|
76
|
+
Vapi::BothCustomEndpointingRule.validate_raw(obj: obj)
|
77
|
+
else
|
78
|
+
raise("Passed value matched no type within the union, validation failed.")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
83
|
+
#
|
84
|
+
# @param obj [Object]
|
85
|
+
# @return [Boolean]
|
86
|
+
def is_a?(obj)
|
87
|
+
@member.is_a?(obj)
|
88
|
+
end
|
89
|
+
|
90
|
+
# @param member [Vapi::AssistantCustomEndpointingRule]
|
91
|
+
# @return [Vapi::StartSpeakingPlanCustomEndpointingRulesItem]
|
92
|
+
def self.assistant(member:)
|
93
|
+
new(member: member, discriminant: "assistant")
|
94
|
+
end
|
95
|
+
|
96
|
+
# @param member [Vapi::CustomerCustomEndpointingRule]
|
97
|
+
# @return [Vapi::StartSpeakingPlanCustomEndpointingRulesItem]
|
98
|
+
def self.customer(member:)
|
99
|
+
new(member: member, discriminant: "customer")
|
100
|
+
end
|
101
|
+
|
102
|
+
# @param member [Vapi::BothCustomEndpointingRule]
|
103
|
+
# @return [Vapi::StartSpeakingPlanCustomEndpointingRulesItem]
|
104
|
+
def self.both(member:)
|
105
|
+
new(member: member, discriminant: "both")
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|