vapi_server_sdk 0.1.0 → 0.2.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 +184 -26
- data/lib/vapi_server_sdk/analytics/client.rb +14 -43
- data/lib/vapi_server_sdk/assistants/client.rb +57 -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_model.rb +39 -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 +27 -1
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
- data/lib/vapi_server_sdk/calls/client.rb +58 -28
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -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_response.rb +96 -0
- data/lib/vapi_server_sdk/logs/client.rb +10 -6
- data/lib/vapi_server_sdk/squads/client.rb +56 -32
- data/lib/vapi_server_sdk/tools/client.rb +4 -0
- 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_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 +42 -64
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -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 +27 -1
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
- data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -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 +1 -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/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 +49 -24
- 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/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/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 -2
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -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_model.rb +39 -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 +27 -1
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
- 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 +1 -0
- 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_sip_trunk_credential_dto.rb +31 -11
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
- 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 +31 -2
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
- 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 -2
- 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 +96 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
- 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 -2
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
- 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 -2
- 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 +16 -2
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
- data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -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/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/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 +10 -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 +12 -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 +211 -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_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/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 +178 -0
- data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
- data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -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/hipaa_buy_dto.rb +65 -0
- 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 +2 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -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 +35 -2
- 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/payment.rb +167 -0
- data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
- data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -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 +49 -24
- 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_ended_reason.rb +49 -24
- 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/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_concurrency_line_buy_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -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 +1 -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 +141 -0
- data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -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/update_anthropic_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
- 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 +1 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
- data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -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 +20 -2
- data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
- 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 +165 -6
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "custom_message"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
# This is spoken to the customer before connecting them to the destination.
|
8
|
+
# Usage:
|
9
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
10
|
+
# "Transferring the call now".
|
11
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
12
|
+
# transfer. This is especially useful when transferring between assistants in a
|
13
|
+
# squad. In this scenario, you likely also want to set
|
14
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
15
|
+
# for the destination assistant.
|
16
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
17
|
+
# to specify multiple messages for different languages through the `contents`
|
18
|
+
# field.
|
19
|
+
class TransferDestinationAssistantMessage
|
20
|
+
# Deserialize a JSON object to an instance of TransferDestinationAssistantMessage
|
21
|
+
#
|
22
|
+
# @param json_object [String]
|
23
|
+
# @return [Vapi::TransferDestinationAssistantMessage]
|
24
|
+
def self.from_json(json_object:)
|
25
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
26
|
+
begin
|
27
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
28
|
+
return struct unless struct.nil?
|
29
|
+
|
30
|
+
return nil
|
31
|
+
rescue StandardError
|
32
|
+
# noop
|
33
|
+
end
|
34
|
+
begin
|
35
|
+
Vapi::CustomMessage.validate_raw(obj: struct)
|
36
|
+
return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
|
37
|
+
|
38
|
+
return nil
|
39
|
+
rescue StandardError
|
40
|
+
# noop
|
41
|
+
end
|
42
|
+
struct
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
46
|
+
# hash and check each fields type against the current object's property
|
47
|
+
# definitions.
|
48
|
+
#
|
49
|
+
# @param obj [Object]
|
50
|
+
# @return [Void]
|
51
|
+
def self.validate_raw(obj:)
|
52
|
+
begin
|
53
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
54
|
+
rescue StandardError
|
55
|
+
# noop
|
56
|
+
end
|
57
|
+
begin
|
58
|
+
return Vapi::CustomMessage.validate_raw(obj: obj)
|
59
|
+
rescue StandardError
|
60
|
+
# noop
|
61
|
+
end
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -1,10 +1,25 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "transfer_destination_number_message"
|
4
|
+
require_relative "transfer_plan"
|
3
5
|
require "ostruct"
|
4
6
|
require "json"
|
5
7
|
|
6
8
|
module Vapi
|
7
9
|
class TransferDestinationNumber
|
10
|
+
# @return [Vapi::TransferDestinationNumberMessage] This is spoken to the customer before connecting them to the destination.
|
11
|
+
# Usage:
|
12
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
13
|
+
# "Transferring the call now".
|
14
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
15
|
+
# transfer. This is especially useful when transferring between assistants in a
|
16
|
+
# squad. In this scenario, you likely also want to set
|
17
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
18
|
+
# for the destination assistant.
|
19
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
20
|
+
# to specify multiple messages for different languages through the `contents`
|
21
|
+
# field.
|
22
|
+
attr_reader :message
|
8
23
|
# @return [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
|
9
24
|
# advanced property which should be used if you know your use case requires it.
|
10
25
|
# Use cases:
|
@@ -35,15 +50,10 @@ module Vapi
|
|
35
50
|
# For Twilio, you can read up more here:
|
36
51
|
# https://www.twilio.com/docs/voice/twiml/dial#callerid
|
37
52
|
attr_reader :caller_id
|
38
|
-
# @return [
|
39
|
-
#
|
40
|
-
#
|
41
|
-
|
42
|
-
# transfer. This is especially useful when transferring between assistants in a
|
43
|
-
# squad. In this scenario, you likely also want to set
|
44
|
-
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
45
|
-
# for the destination assistant.
|
46
|
-
attr_reader :message
|
53
|
+
# @return [Vapi::TransferPlan] This configures how transfer is executed and the experience of the destination
|
54
|
+
# party receiving the call. Defaults to `blind-transfer`.
|
55
|
+
# @default `transferPlan.mode='blind-transfer'`
|
56
|
+
attr_reader :transfer_plan
|
47
57
|
# @return [String] This is the description of the destination, used by the AI to choose when and
|
48
58
|
# how to transfer the call.
|
49
59
|
attr_reader :description
|
@@ -55,6 +65,18 @@ module Vapi
|
|
55
65
|
|
56
66
|
OMIT = Object.new
|
57
67
|
|
68
|
+
# @param message [Vapi::TransferDestinationNumberMessage] This is spoken to the customer before connecting them to the destination.
|
69
|
+
# Usage:
|
70
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
71
|
+
# "Transferring the call now".
|
72
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
73
|
+
# transfer. This is especially useful when transferring between assistants in a
|
74
|
+
# squad. In this scenario, you likely also want to set
|
75
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
76
|
+
# for the destination assistant.
|
77
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
78
|
+
# to specify multiple messages for different languages through the `contents`
|
79
|
+
# field.
|
58
80
|
# @param number_e_164_check_enabled [Boolean] This is the flag to toggle the E164 check for the `number` field. This is an
|
59
81
|
# advanced property which should be used if you know your use case requires it.
|
60
82
|
# Use cases:
|
@@ -81,33 +103,30 @@ module Vapi
|
|
81
103
|
# to be a number that is owned or verified by your Transport provider like Twilio.
|
82
104
|
# For Twilio, you can read up more here:
|
83
105
|
# https://www.twilio.com/docs/voice/twiml/dial#callerid
|
84
|
-
# @param
|
85
|
-
#
|
86
|
-
#
|
87
|
-
# If set to "", nothing is spoken. This is useful when you want to silently
|
88
|
-
# transfer. This is especially useful when transferring between assistants in a
|
89
|
-
# squad. In this scenario, you likely also want to set
|
90
|
-
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
91
|
-
# for the destination assistant.
|
106
|
+
# @param transfer_plan [Vapi::TransferPlan] This configures how transfer is executed and the experience of the destination
|
107
|
+
# party receiving the call. Defaults to `blind-transfer`.
|
108
|
+
# @default `transferPlan.mode='blind-transfer'`
|
92
109
|
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
93
110
|
# how to transfer the call.
|
94
111
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
95
112
|
# @return [Vapi::TransferDestinationNumber]
|
96
|
-
def initialize(number:,
|
97
|
-
description: OMIT, additional_properties: nil)
|
113
|
+
def initialize(number:, message: OMIT, number_e_164_check_enabled: OMIT, extension: OMIT, caller_id: OMIT,
|
114
|
+
transfer_plan: OMIT, description: OMIT, additional_properties: nil)
|
115
|
+
@message = message if message != OMIT
|
98
116
|
@number_e_164_check_enabled = number_e_164_check_enabled if number_e_164_check_enabled != OMIT
|
99
117
|
@number = number
|
100
118
|
@extension = extension if extension != OMIT
|
101
119
|
@caller_id = caller_id if caller_id != OMIT
|
102
|
-
@
|
120
|
+
@transfer_plan = transfer_plan if transfer_plan != OMIT
|
103
121
|
@description = description if description != OMIT
|
104
122
|
@additional_properties = additional_properties
|
105
123
|
@_field_set = {
|
124
|
+
"message": message,
|
106
125
|
"numberE164CheckEnabled": number_e_164_check_enabled,
|
107
126
|
"number": number,
|
108
127
|
"extension": extension,
|
109
128
|
"callerId": caller_id,
|
110
|
-
"
|
129
|
+
"transferPlan": transfer_plan,
|
111
130
|
"description": description
|
112
131
|
}.reject do |_k, v|
|
113
132
|
v == OMIT
|
@@ -121,18 +140,30 @@ module Vapi
|
|
121
140
|
def self.from_json(json_object:)
|
122
141
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
123
142
|
parsed_json = JSON.parse(json_object)
|
143
|
+
if parsed_json["message"].nil?
|
144
|
+
message = nil
|
145
|
+
else
|
146
|
+
message = parsed_json["message"].to_json
|
147
|
+
message = Vapi::TransferDestinationNumberMessage.from_json(json_object: message)
|
148
|
+
end
|
124
149
|
number_e_164_check_enabled = parsed_json["numberE164CheckEnabled"]
|
125
150
|
number = parsed_json["number"]
|
126
151
|
extension = parsed_json["extension"]
|
127
152
|
caller_id = parsed_json["callerId"]
|
128
|
-
|
153
|
+
if parsed_json["transferPlan"].nil?
|
154
|
+
transfer_plan = nil
|
155
|
+
else
|
156
|
+
transfer_plan = parsed_json["transferPlan"].to_json
|
157
|
+
transfer_plan = Vapi::TransferPlan.from_json(json_object: transfer_plan)
|
158
|
+
end
|
129
159
|
description = parsed_json["description"]
|
130
160
|
new(
|
161
|
+
message: message,
|
131
162
|
number_e_164_check_enabled: number_e_164_check_enabled,
|
132
163
|
number: number,
|
133
164
|
extension: extension,
|
134
165
|
caller_id: caller_id,
|
135
|
-
|
166
|
+
transfer_plan: transfer_plan,
|
136
167
|
description: description,
|
137
168
|
additional_properties: struct
|
138
169
|
)
|
@@ -152,11 +183,12 @@ module Vapi
|
|
152
183
|
# @param obj [Object]
|
153
184
|
# @return [Void]
|
154
185
|
def self.validate_raw(obj:)
|
186
|
+
obj.message.nil? || Vapi::TransferDestinationNumberMessage.validate_raw(obj: obj.message)
|
155
187
|
obj.number_e_164_check_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.number_e_164_check_enabled is not the expected type, validation failed.")
|
156
188
|
obj.number.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
|
157
189
|
obj.extension&.is_a?(String) != false || raise("Passed value for field obj.extension is not the expected type, validation failed.")
|
158
190
|
obj.caller_id&.is_a?(String) != false || raise("Passed value for field obj.caller_id is not the expected type, validation failed.")
|
159
|
-
obj.
|
191
|
+
obj.transfer_plan.nil? || Vapi::TransferPlan.validate_raw(obj: obj.transfer_plan)
|
160
192
|
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
161
193
|
end
|
162
194
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "custom_message"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
# This is spoken to the customer before connecting them to the destination.
|
8
|
+
# Usage:
|
9
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
10
|
+
# "Transferring the call now".
|
11
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
12
|
+
# transfer. This is especially useful when transferring between assistants in a
|
13
|
+
# squad. In this scenario, you likely also want to set
|
14
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
15
|
+
# for the destination assistant.
|
16
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
17
|
+
# to specify multiple messages for different languages through the `contents`
|
18
|
+
# field.
|
19
|
+
class TransferDestinationNumberMessage
|
20
|
+
# Deserialize a JSON object to an instance of TransferDestinationNumberMessage
|
21
|
+
#
|
22
|
+
# @param json_object [String]
|
23
|
+
# @return [Vapi::TransferDestinationNumberMessage]
|
24
|
+
def self.from_json(json_object:)
|
25
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
26
|
+
begin
|
27
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
28
|
+
return struct unless struct.nil?
|
29
|
+
|
30
|
+
return nil
|
31
|
+
rescue StandardError
|
32
|
+
# noop
|
33
|
+
end
|
34
|
+
begin
|
35
|
+
Vapi::CustomMessage.validate_raw(obj: struct)
|
36
|
+
return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
|
37
|
+
|
38
|
+
return nil
|
39
|
+
rescue StandardError
|
40
|
+
# noop
|
41
|
+
end
|
42
|
+
struct
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
46
|
+
# hash and check each fields type against the current object's property
|
47
|
+
# definitions.
|
48
|
+
#
|
49
|
+
# @param obj [Object]
|
50
|
+
# @return [Void]
|
51
|
+
def self.validate_raw(obj:)
|
52
|
+
begin
|
53
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
54
|
+
rescue StandardError
|
55
|
+
# noop
|
56
|
+
end
|
57
|
+
begin
|
58
|
+
return Vapi::CustomMessage.validate_raw(obj: obj)
|
59
|
+
rescue StandardError
|
60
|
+
# noop
|
61
|
+
end
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -1,21 +1,33 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "transfer_destination_sip_message"
|
4
|
+
require_relative "transfer_plan"
|
3
5
|
require "ostruct"
|
4
6
|
require "json"
|
5
7
|
|
6
8
|
module Vapi
|
7
9
|
class TransferDestinationSip
|
8
|
-
# @return [
|
9
|
-
|
10
|
-
#
|
11
|
-
# If this is not provided and transfer tool messages is not provided, default is
|
10
|
+
# @return [Vapi::TransferDestinationSipMessage] This is spoken to the customer before connecting them to the destination.
|
11
|
+
# Usage:
|
12
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
12
13
|
# "Transferring the call now".
|
13
|
-
# If set to "", nothing is spoken. This is useful when you want to silently
|
14
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
14
15
|
# transfer. This is especially useful when transferring between assistants in a
|
15
16
|
# squad. In this scenario, you likely also want to set
|
16
17
|
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
17
18
|
# for the destination assistant.
|
19
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
20
|
+
# to specify multiple messages for different languages through the `contents`
|
21
|
+
# field.
|
18
22
|
attr_reader :message
|
23
|
+
# @return [String] This is the SIP URI to transfer the call to.
|
24
|
+
attr_reader :sip_uri
|
25
|
+
# @return [Vapi::TransferPlan] This configures how transfer is executed and the experience of the destination
|
26
|
+
# party receiving the call. Defaults to `blind-transfer`.
|
27
|
+
# @default `transferPlan.mode='blind-transfer'`
|
28
|
+
attr_reader :transfer_plan
|
29
|
+
# @return [Hash{String => Object}] These are custom headers to be added to SIP refer during transfer call.
|
30
|
+
attr_reader :sip_headers
|
19
31
|
# @return [String] This is the description of the destination, used by the AI to choose when and
|
20
32
|
# how to transfer the call.
|
21
33
|
attr_reader :description
|
@@ -27,25 +39,42 @@ module Vapi
|
|
27
39
|
|
28
40
|
OMIT = Object.new
|
29
41
|
|
30
|
-
# @param
|
31
|
-
#
|
32
|
-
# If this is not provided and transfer tool messages is not provided, default is
|
42
|
+
# @param message [Vapi::TransferDestinationSipMessage] This is spoken to the customer before connecting them to the destination.
|
43
|
+
# Usage:
|
44
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
33
45
|
# "Transferring the call now".
|
34
|
-
# If set to "", nothing is spoken. This is useful when you want to silently
|
46
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
35
47
|
# transfer. This is especially useful when transferring between assistants in a
|
36
48
|
# squad. In this scenario, you likely also want to set
|
37
49
|
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
38
50
|
# for the destination assistant.
|
51
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
52
|
+
# to specify multiple messages for different languages through the `contents`
|
53
|
+
# field.
|
54
|
+
# @param sip_uri [String] This is the SIP URI to transfer the call to.
|
55
|
+
# @param transfer_plan [Vapi::TransferPlan] This configures how transfer is executed and the experience of the destination
|
56
|
+
# party receiving the call. Defaults to `blind-transfer`.
|
57
|
+
# @default `transferPlan.mode='blind-transfer'`
|
58
|
+
# @param sip_headers [Hash{String => Object}] These are custom headers to be added to SIP refer during transfer call.
|
39
59
|
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
40
60
|
# how to transfer the call.
|
41
61
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
62
|
# @return [Vapi::TransferDestinationSip]
|
43
|
-
def initialize(sip_uri:, message: OMIT,
|
44
|
-
|
63
|
+
def initialize(sip_uri:, message: OMIT, transfer_plan: OMIT, sip_headers: OMIT, description: OMIT,
|
64
|
+
additional_properties: nil)
|
45
65
|
@message = message if message != OMIT
|
66
|
+
@sip_uri = sip_uri
|
67
|
+
@transfer_plan = transfer_plan if transfer_plan != OMIT
|
68
|
+
@sip_headers = sip_headers if sip_headers != OMIT
|
46
69
|
@description = description if description != OMIT
|
47
70
|
@additional_properties = additional_properties
|
48
|
-
@_field_set = {
|
71
|
+
@_field_set = {
|
72
|
+
"message": message,
|
73
|
+
"sipUri": sip_uri,
|
74
|
+
"transferPlan": transfer_plan,
|
75
|
+
"sipHeaders": sip_headers,
|
76
|
+
"description": description
|
77
|
+
}.reject do |_k, v|
|
49
78
|
v == OMIT
|
50
79
|
end
|
51
80
|
end
|
@@ -57,12 +86,26 @@ module Vapi
|
|
57
86
|
def self.from_json(json_object:)
|
58
87
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
59
88
|
parsed_json = JSON.parse(json_object)
|
89
|
+
if parsed_json["message"].nil?
|
90
|
+
message = nil
|
91
|
+
else
|
92
|
+
message = parsed_json["message"].to_json
|
93
|
+
message = Vapi::TransferDestinationSipMessage.from_json(json_object: message)
|
94
|
+
end
|
60
95
|
sip_uri = parsed_json["sipUri"]
|
61
|
-
|
96
|
+
if parsed_json["transferPlan"].nil?
|
97
|
+
transfer_plan = nil
|
98
|
+
else
|
99
|
+
transfer_plan = parsed_json["transferPlan"].to_json
|
100
|
+
transfer_plan = Vapi::TransferPlan.from_json(json_object: transfer_plan)
|
101
|
+
end
|
102
|
+
sip_headers = parsed_json["sipHeaders"]
|
62
103
|
description = parsed_json["description"]
|
63
104
|
new(
|
64
|
-
sip_uri: sip_uri,
|
65
105
|
message: message,
|
106
|
+
sip_uri: sip_uri,
|
107
|
+
transfer_plan: transfer_plan,
|
108
|
+
sip_headers: sip_headers,
|
66
109
|
description: description,
|
67
110
|
additional_properties: struct
|
68
111
|
)
|
@@ -82,8 +125,10 @@ module Vapi
|
|
82
125
|
# @param obj [Object]
|
83
126
|
# @return [Void]
|
84
127
|
def self.validate_raw(obj:)
|
128
|
+
obj.message.nil? || Vapi::TransferDestinationSipMessage.validate_raw(obj: obj.message)
|
85
129
|
obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
|
86
|
-
obj.
|
130
|
+
obj.transfer_plan.nil? || Vapi::TransferPlan.validate_raw(obj: obj.transfer_plan)
|
131
|
+
obj.sip_headers&.is_a?(Hash) != false || raise("Passed value for field obj.sip_headers is not the expected type, validation failed.")
|
87
132
|
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
88
133
|
end
|
89
134
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "custom_message"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
# This is spoken to the customer before connecting them to the destination.
|
8
|
+
# Usage:
|
9
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
10
|
+
# "Transferring the call now".
|
11
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
12
|
+
# transfer. This is especially useful when transferring between assistants in a
|
13
|
+
# squad. In this scenario, you likely also want to set
|
14
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
15
|
+
# for the destination assistant.
|
16
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
17
|
+
# to specify multiple messages for different languages through the `contents`
|
18
|
+
# field.
|
19
|
+
class TransferDestinationSipMessage
|
20
|
+
# Deserialize a JSON object to an instance of TransferDestinationSipMessage
|
21
|
+
#
|
22
|
+
# @param json_object [String]
|
23
|
+
# @return [Vapi::TransferDestinationSipMessage]
|
24
|
+
def self.from_json(json_object:)
|
25
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
26
|
+
begin
|
27
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
28
|
+
return struct unless struct.nil?
|
29
|
+
|
30
|
+
return nil
|
31
|
+
rescue StandardError
|
32
|
+
# noop
|
33
|
+
end
|
34
|
+
begin
|
35
|
+
Vapi::CustomMessage.validate_raw(obj: struct)
|
36
|
+
return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
|
37
|
+
|
38
|
+
return nil
|
39
|
+
rescue StandardError
|
40
|
+
# noop
|
41
|
+
end
|
42
|
+
struct
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
46
|
+
# hash and check each fields type against the current object's property
|
47
|
+
# definitions.
|
48
|
+
#
|
49
|
+
# @param obj [Object]
|
50
|
+
# @return [Void]
|
51
|
+
def self.validate_raw(obj:)
|
52
|
+
begin
|
53
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
54
|
+
rescue StandardError
|
55
|
+
# noop
|
56
|
+
end
|
57
|
+
begin
|
58
|
+
return Vapi::CustomMessage.validate_raw(obj: obj)
|
59
|
+
rescue StandardError
|
60
|
+
# noop
|
61
|
+
end
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -1,21 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "transfer_destination_step_message"
|
3
4
|
require "ostruct"
|
4
5
|
require "json"
|
5
6
|
|
6
7
|
module Vapi
|
7
8
|
class TransferDestinationStep
|
8
|
-
# @return [
|
9
|
-
|
10
|
-
#
|
11
|
-
# If this is not provided and transfer tool messages is not provided, default is
|
9
|
+
# @return [Vapi::TransferDestinationStepMessage] This is spoken to the customer before connecting them to the destination.
|
10
|
+
# Usage:
|
11
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
12
12
|
# "Transferring the call now".
|
13
|
-
# If set to "", nothing is spoken. This is useful when you want to silently
|
13
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
14
14
|
# transfer. This is especially useful when transferring between assistants in a
|
15
15
|
# squad. In this scenario, you likely also want to set
|
16
16
|
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
17
17
|
# for the destination assistant.
|
18
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
19
|
+
# to specify multiple messages for different languages through the `contents`
|
20
|
+
# field.
|
18
21
|
attr_reader :message
|
22
|
+
# @return [String] This is the step to transfer to.
|
23
|
+
attr_reader :step_name
|
19
24
|
# @return [String] This is the description of the destination, used by the AI to choose when and
|
20
25
|
# how to transfer the call.
|
21
26
|
attr_reader :description
|
@@ -27,25 +32,29 @@ module Vapi
|
|
27
32
|
|
28
33
|
OMIT = Object.new
|
29
34
|
|
30
|
-
# @param
|
31
|
-
#
|
32
|
-
# If this is not provided and transfer tool messages is not provided, default is
|
35
|
+
# @param message [Vapi::TransferDestinationStepMessage] This is spoken to the customer before connecting them to the destination.
|
36
|
+
# Usage:
|
37
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
33
38
|
# "Transferring the call now".
|
34
|
-
# If set to "", nothing is spoken. This is useful when you want to silently
|
39
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
35
40
|
# transfer. This is especially useful when transferring between assistants in a
|
36
41
|
# squad. In this scenario, you likely also want to set
|
37
42
|
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
38
43
|
# for the destination assistant.
|
44
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
45
|
+
# to specify multiple messages for different languages through the `contents`
|
46
|
+
# field.
|
47
|
+
# @param step_name [String] This is the step to transfer to.
|
39
48
|
# @param description [String] This is the description of the destination, used by the AI to choose when and
|
40
49
|
# how to transfer the call.
|
41
50
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
42
51
|
# @return [Vapi::TransferDestinationStep]
|
43
52
|
def initialize(step_name:, message: OMIT, description: OMIT, additional_properties: nil)
|
44
|
-
@step_name = step_name
|
45
53
|
@message = message if message != OMIT
|
54
|
+
@step_name = step_name
|
46
55
|
@description = description if description != OMIT
|
47
56
|
@additional_properties = additional_properties
|
48
|
-
@_field_set = { "
|
57
|
+
@_field_set = { "message": message, "stepName": step_name, "description": description }.reject do |_k, v|
|
49
58
|
v == OMIT
|
50
59
|
end
|
51
60
|
end
|
@@ -57,12 +66,17 @@ module Vapi
|
|
57
66
|
def self.from_json(json_object:)
|
58
67
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
59
68
|
parsed_json = JSON.parse(json_object)
|
69
|
+
if parsed_json["message"].nil?
|
70
|
+
message = nil
|
71
|
+
else
|
72
|
+
message = parsed_json["message"].to_json
|
73
|
+
message = Vapi::TransferDestinationStepMessage.from_json(json_object: message)
|
74
|
+
end
|
60
75
|
step_name = parsed_json["stepName"]
|
61
|
-
message = parsed_json["message"]
|
62
76
|
description = parsed_json["description"]
|
63
77
|
new(
|
64
|
-
step_name: step_name,
|
65
78
|
message: message,
|
79
|
+
step_name: step_name,
|
66
80
|
description: description,
|
67
81
|
additional_properties: struct
|
68
82
|
)
|
@@ -82,8 +96,8 @@ module Vapi
|
|
82
96
|
# @param obj [Object]
|
83
97
|
# @return [Void]
|
84
98
|
def self.validate_raw(obj:)
|
99
|
+
obj.message.nil? || Vapi::TransferDestinationStepMessage.validate_raw(obj: obj.message)
|
85
100
|
obj.step_name.is_a?(String) != false || raise("Passed value for field obj.step_name is not the expected type, validation failed.")
|
86
|
-
obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
|
87
101
|
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|
88
102
|
end
|
89
103
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "custom_message"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
# This is spoken to the customer before connecting them to the destination.
|
8
|
+
# Usage:
|
9
|
+
# - If this is not provided and transfer tool messages is not provided, default is
|
10
|
+
# "Transferring the call now".
|
11
|
+
# - If set to "", nothing is spoken. This is useful when you want to silently
|
12
|
+
# transfer. This is especially useful when transferring between assistants in a
|
13
|
+
# squad. In this scenario, you likely also want to set
|
14
|
+
# `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message`
|
15
|
+
# for the destination assistant.
|
16
|
+
# This accepts a string or a ToolMessageStart class. Latter is useful if you want
|
17
|
+
# to specify multiple messages for different languages through the `contents`
|
18
|
+
# field.
|
19
|
+
class TransferDestinationStepMessage
|
20
|
+
# Deserialize a JSON object to an instance of TransferDestinationStepMessage
|
21
|
+
#
|
22
|
+
# @param json_object [String]
|
23
|
+
# @return [Vapi::TransferDestinationStepMessage]
|
24
|
+
def self.from_json(json_object:)
|
25
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
26
|
+
begin
|
27
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
28
|
+
return struct unless struct.nil?
|
29
|
+
|
30
|
+
return nil
|
31
|
+
rescue StandardError
|
32
|
+
# noop
|
33
|
+
end
|
34
|
+
begin
|
35
|
+
Vapi::CustomMessage.validate_raw(obj: struct)
|
36
|
+
return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
|
37
|
+
|
38
|
+
return nil
|
39
|
+
rescue StandardError
|
40
|
+
# noop
|
41
|
+
end
|
42
|
+
struct
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
46
|
+
# hash and check each fields type against the current object's property
|
47
|
+
# definitions.
|
48
|
+
#
|
49
|
+
# @param obj [Object]
|
50
|
+
# @return [Void]
|
51
|
+
def self.validate_raw(obj:)
|
52
|
+
begin
|
53
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
54
|
+
rescue StandardError
|
55
|
+
# noop
|
56
|
+
end
|
57
|
+
begin
|
58
|
+
return Vapi::CustomMessage.validate_raw(obj: obj)
|
59
|
+
rescue StandardError
|
60
|
+
# noop
|
61
|
+
end
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|