vapi_server_sdk 0.0.0.pre.alpha7 → 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 -10
- 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 +167 -8
@@ -5,12 +5,15 @@ require_relative "anyscale_model"
|
|
5
5
|
require_relative "anthropic_model"
|
6
6
|
require_relative "custom_llm_model"
|
7
7
|
require_relative "deep_infra_model"
|
8
|
+
require_relative "google_model"
|
8
9
|
require_relative "groq_model"
|
10
|
+
require_relative "inflection_ai_model"
|
9
11
|
require_relative "open_ai_model"
|
10
12
|
require_relative "open_router_model"
|
11
13
|
require_relative "perplexity_ai_model"
|
12
14
|
require_relative "together_ai_model"
|
13
15
|
require_relative "vapi_model"
|
16
|
+
require_relative "xai_model"
|
14
17
|
|
15
18
|
module Vapi
|
16
19
|
# These are the options for the assistant's LLM.
|
@@ -46,8 +49,12 @@ module Vapi
|
|
46
49
|
Vapi::CustomLlmModel.from_json(json_object: json_object)
|
47
50
|
when "deepinfra"
|
48
51
|
Vapi::DeepInfraModel.from_json(json_object: json_object)
|
52
|
+
when "google"
|
53
|
+
Vapi::GoogleModel.from_json(json_object: json_object)
|
49
54
|
when "groq"
|
50
55
|
Vapi::GroqModel.from_json(json_object: json_object)
|
56
|
+
when "inflection-ai"
|
57
|
+
Vapi::InflectionAiModel.from_json(json_object: json_object)
|
51
58
|
when "openai"
|
52
59
|
Vapi::OpenAiModel.from_json(json_object: json_object)
|
53
60
|
when "openrouter"
|
@@ -58,6 +65,8 @@ module Vapi
|
|
58
65
|
Vapi::TogetherAiModel.from_json(json_object: json_object)
|
59
66
|
when "vapi"
|
60
67
|
Vapi::VapiModel.from_json(json_object: json_object)
|
68
|
+
when "xai"
|
69
|
+
Vapi::XaiModel.from_json(json_object: json_object)
|
61
70
|
else
|
62
71
|
Vapi::AnyscaleModel.from_json(json_object: json_object)
|
63
72
|
end
|
@@ -77,8 +86,12 @@ module Vapi
|
|
77
86
|
{ **@member.to_json, provider: @discriminant }.to_json
|
78
87
|
when "deepinfra"
|
79
88
|
{ **@member.to_json, provider: @discriminant }.to_json
|
89
|
+
when "google"
|
90
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
80
91
|
when "groq"
|
81
92
|
{ **@member.to_json, provider: @discriminant }.to_json
|
93
|
+
when "inflection-ai"
|
94
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
82
95
|
when "openai"
|
83
96
|
{ **@member.to_json, provider: @discriminant }.to_json
|
84
97
|
when "openrouter"
|
@@ -89,6 +102,8 @@ module Vapi
|
|
89
102
|
{ **@member.to_json, provider: @discriminant }.to_json
|
90
103
|
when "vapi"
|
91
104
|
{ **@member.to_json, provider: @discriminant }.to_json
|
105
|
+
when "xai"
|
106
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
92
107
|
else
|
93
108
|
{ "provider": @discriminant, value: @member }.to_json
|
94
109
|
end
|
@@ -111,8 +126,12 @@ module Vapi
|
|
111
126
|
Vapi::CustomLlmModel.validate_raw(obj: obj)
|
112
127
|
when "deepinfra"
|
113
128
|
Vapi::DeepInfraModel.validate_raw(obj: obj)
|
129
|
+
when "google"
|
130
|
+
Vapi::GoogleModel.validate_raw(obj: obj)
|
114
131
|
when "groq"
|
115
132
|
Vapi::GroqModel.validate_raw(obj: obj)
|
133
|
+
when "inflection-ai"
|
134
|
+
Vapi::InflectionAiModel.validate_raw(obj: obj)
|
116
135
|
when "openai"
|
117
136
|
Vapi::OpenAiModel.validate_raw(obj: obj)
|
118
137
|
when "openrouter"
|
@@ -123,6 +142,8 @@ module Vapi
|
|
123
142
|
Vapi::TogetherAiModel.validate_raw(obj: obj)
|
124
143
|
when "vapi"
|
125
144
|
Vapi::VapiModel.validate_raw(obj: obj)
|
145
|
+
when "xai"
|
146
|
+
Vapi::XaiModel.validate_raw(obj: obj)
|
126
147
|
else
|
127
148
|
raise("Passed value matched no type within the union, validation failed.")
|
128
149
|
end
|
@@ -160,12 +181,24 @@ module Vapi
|
|
160
181
|
new(member: member, discriminant: "deepinfra")
|
161
182
|
end
|
162
183
|
|
184
|
+
# @param member [Vapi::GoogleModel]
|
185
|
+
# @return [Vapi::AssistantModel]
|
186
|
+
def self.google(member:)
|
187
|
+
new(member: member, discriminant: "google")
|
188
|
+
end
|
189
|
+
|
163
190
|
# @param member [Vapi::GroqModel]
|
164
191
|
# @return [Vapi::AssistantModel]
|
165
192
|
def self.groq(member:)
|
166
193
|
new(member: member, discriminant: "groq")
|
167
194
|
end
|
168
195
|
|
196
|
+
# @param member [Vapi::InflectionAiModel]
|
197
|
+
# @return [Vapi::AssistantModel]
|
198
|
+
def self.inflection_ai(member:)
|
199
|
+
new(member: member, discriminant: "inflection-ai")
|
200
|
+
end
|
201
|
+
|
169
202
|
# @param member [Vapi::OpenAiModel]
|
170
203
|
# @return [Vapi::AssistantModel]
|
171
204
|
def self.openai(member:)
|
@@ -195,5 +228,11 @@ module Vapi
|
|
195
228
|
def self.vapi(member:)
|
196
229
|
new(member: member, discriminant: "vapi")
|
197
230
|
end
|
231
|
+
|
232
|
+
# @param member [Vapi::XaiModel]
|
233
|
+
# @return [Vapi::AssistantModel]
|
234
|
+
def self.xai(member:)
|
235
|
+
new(member: member, discriminant: "xai")
|
236
|
+
end
|
198
237
|
end
|
199
238
|
end
|
@@ -15,6 +15,7 @@ require_relative "message_plan"
|
|
15
15
|
require_relative "start_speaking_plan"
|
16
16
|
require_relative "stop_speaking_plan"
|
17
17
|
require_relative "monitor_plan"
|
18
|
+
require_relative "server"
|
18
19
|
require "ostruct"
|
19
20
|
require "json"
|
20
21
|
|
@@ -26,6 +27,11 @@ module Vapi
|
|
26
27
|
attr_reader :model
|
27
28
|
# @return [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
|
28
29
|
attr_reader :voice
|
30
|
+
# @return [String] This is the first message that the assistant will say. This can also be a URL to
|
31
|
+
# a containerized audio file (mp3, wav, etc.).
|
32
|
+
# If unspecified, assistant will wait for user to speak and use the model to
|
33
|
+
# respond once they speak.
|
34
|
+
attr_reader :first_message
|
29
35
|
# @return [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
|
30
36
|
# Use:
|
31
37
|
# - 'assistant-speaks-first' to have the assistant speak first.
|
@@ -42,7 +48,7 @@ module Vapi
|
|
42
48
|
# store on your server. Defaults to false.
|
43
49
|
attr_reader :hipaa_enabled
|
44
50
|
# @return [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
|
45
|
-
#
|
51
|
+
# tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
|
46
52
|
# You can check the shape of the messages in ClientMessage schema.
|
47
53
|
attr_reader :client_messages
|
48
54
|
# @return [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
|
@@ -59,11 +65,6 @@ module Vapi
|
|
59
65
|
# @return [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
|
60
66
|
# and default for web calls is 'off'.
|
61
67
|
attr_reader :background_sound
|
62
|
-
# @return [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
|
63
|
-
# speaking.
|
64
|
-
# Default `false` while in beta.
|
65
|
-
# @default false
|
66
|
-
attr_reader :backchanneling_enabled
|
67
68
|
# @return [Boolean] This enables filtering of noise and background speech while the user is talking.
|
68
69
|
# Default `false` while in beta.
|
69
70
|
# @default false
|
@@ -80,15 +81,17 @@ module Vapi
|
|
80
81
|
attr_reader :transport_configurations
|
81
82
|
# @return [Hash{String => Object}] These are values that will be used to replace the template variables in the
|
82
83
|
# assistant messages and other text-based fields.
|
84
|
+
# This uses LiquidJS syntax. https://liquidjs.com/tutorials/intro-to-liquid.html
|
85
|
+
# So for example, `{{ name }}` will be replaced with the value of `name` in
|
86
|
+
# `variableValues`.
|
87
|
+
# `{{"now" | date: "%b %d, %Y, %I:%M %p", "America/New_York"}}` will be replaced
|
88
|
+
# with the current date and time in New York.
|
89
|
+
# Some VAPI reserved defaults:
|
90
|
+
# - *customer* - the customer object
|
83
91
|
attr_reader :variable_values
|
84
92
|
# @return [String] This is the name of the assistant.
|
85
93
|
# This is required when you want to transfer between assistants in a call.
|
86
94
|
attr_reader :name
|
87
|
-
# @return [String] This is the first message that the assistant will say. This can also be a URL to
|
88
|
-
# a containerized audio file (mp3, wav, etc.).
|
89
|
-
# If unspecified, assistant will wait for user to speak and use the model to
|
90
|
-
# respond once they speak.
|
91
|
-
attr_reader :first_message
|
92
95
|
# @return [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
|
93
96
|
# Alternatively, voicemail detection can be configured using the
|
94
97
|
# model.tools=[VoicemailTool].
|
@@ -109,18 +112,6 @@ module Vapi
|
|
109
112
|
attr_reader :end_call_phrases
|
110
113
|
# @return [Hash{String => Object}] This is for metadata you want to store on the assistant.
|
111
114
|
attr_reader :metadata
|
112
|
-
# @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
|
113
|
-
# is used for retrieving context, function calling, and end-of-call reports.
|
114
|
-
# All requests will be sent with the call object among other things relevant to
|
115
|
-
# that message. You can find more details in the Server URL documentation.
|
116
|
-
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
117
|
-
# precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
|
118
|
-
# org.serverUrl
|
119
|
-
attr_reader :server_url
|
120
|
-
# @return [String] This is the secret you can set that Vapi will send with every request to your
|
121
|
-
# server. Will be sent as a header called x-vapi-secret.
|
122
|
-
# Same precedence logic as serverUrl.
|
123
|
-
attr_reader :server_url_secret
|
124
115
|
# @return [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
|
125
116
|
attr_reader :analysis_plan
|
126
117
|
# @return [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
|
@@ -166,6 +157,13 @@ module Vapi
|
|
166
157
|
# all the credentials are available for use in the call but you can provide a
|
167
158
|
# subset using this.
|
168
159
|
attr_reader :credential_ids
|
160
|
+
# @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
|
161
|
+
# with their shape in ServerMessage schema.
|
162
|
+
# The order of precedence is:
|
163
|
+
# 1. assistant.server.url
|
164
|
+
# 2. phoneNumber.serverUrl
|
165
|
+
# 3. org.serverUrl
|
166
|
+
attr_reader :server
|
169
167
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
170
168
|
attr_reader :additional_properties
|
171
169
|
# @return [Object]
|
@@ -177,6 +175,10 @@ module Vapi
|
|
177
175
|
# @param transcriber [Vapi::AssistantOverridesTranscriber] These are the options for the assistant's transcriber.
|
178
176
|
# @param model [Vapi::AssistantOverridesModel] These are the options for the assistant's LLM.
|
179
177
|
# @param voice [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
|
178
|
+
# @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
|
179
|
+
# a containerized audio file (mp3, wav, etc.).
|
180
|
+
# If unspecified, assistant will wait for user to speak and use the model to
|
181
|
+
# respond once they speak.
|
180
182
|
# @param first_message_mode [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
|
181
183
|
# Use:
|
182
184
|
# - 'assistant-speaks-first' to have the assistant speak first.
|
@@ -191,7 +193,7 @@ module Vapi
|
|
191
193
|
# the end of the call, you will still receive an end-of-call-report message to
|
192
194
|
# store on your server. Defaults to false.
|
193
195
|
# @param client_messages [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
|
194
|
-
#
|
196
|
+
# tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
|
195
197
|
# You can check the shape of the messages in ClientMessage schema.
|
196
198
|
# @param server_messages [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
|
197
199
|
# h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
|
@@ -203,10 +205,6 @@ module Vapi
|
|
203
205
|
# @default 600 (10 minutes)
|
204
206
|
# @param background_sound [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
|
205
207
|
# and default for web calls is 'off'.
|
206
|
-
# @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
|
207
|
-
# speaking.
|
208
|
-
# Default `false` while in beta.
|
209
|
-
# @default false
|
210
208
|
# @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
|
211
209
|
# Default `false` while in beta.
|
212
210
|
# @default false
|
@@ -220,12 +218,15 @@ module Vapi
|
|
220
218
|
# call transport provider is used.
|
221
219
|
# @param variable_values [Hash{String => Object}] These are values that will be used to replace the template variables in the
|
222
220
|
# assistant messages and other text-based fields.
|
221
|
+
# This uses LiquidJS syntax. https://liquidjs.com/tutorials/intro-to-liquid.html
|
222
|
+
# So for example, `{{ name }}` will be replaced with the value of `name` in
|
223
|
+
# `variableValues`.
|
224
|
+
# `{{"now" | date: "%b %d, %Y, %I:%M %p", "America/New_York"}}` will be replaced
|
225
|
+
# with the current date and time in New York.
|
226
|
+
# Some VAPI reserved defaults:
|
227
|
+
# - *customer* - the customer object
|
223
228
|
# @param name [String] This is the name of the assistant.
|
224
229
|
# This is required when you want to transfer between assistants in a call.
|
225
|
-
# @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
|
226
|
-
# a containerized audio file (mp3, wav, etc.).
|
227
|
-
# If unspecified, assistant will wait for user to speak and use the model to
|
228
|
-
# respond once they speak.
|
229
230
|
# @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
|
230
231
|
# Alternatively, voicemail detection can be configured using the
|
231
232
|
# model.tools=[VoicemailTool].
|
@@ -241,16 +242,6 @@ module Vapi
|
|
241
242
|
# @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
|
242
243
|
# call to be hung up. Case insensitive.
|
243
244
|
# @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
|
244
|
-
# @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
|
245
|
-
# is used for retrieving context, function calling, and end-of-call reports.
|
246
|
-
# All requests will be sent with the call object among other things relevant to
|
247
|
-
# that message. You can find more details in the Server URL documentation.
|
248
|
-
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
249
|
-
# precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
|
250
|
-
# org.serverUrl
|
251
|
-
# @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
|
252
|
-
# server. Will be sent as a header called x-vapi-secret.
|
253
|
-
# Same precedence logic as serverUrl.
|
254
245
|
# @param analysis_plan [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
|
255
246
|
# @param artifact_plan [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
|
256
247
|
# `call.artifact`.
|
@@ -289,13 +280,20 @@ module Vapi
|
|
289
280
|
# @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
|
290
281
|
# all the credentials are available for use in the call but you can provide a
|
291
282
|
# subset using this.
|
283
|
+
# @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
|
284
|
+
# with their shape in ServerMessage schema.
|
285
|
+
# The order of precedence is:
|
286
|
+
# 1. assistant.server.url
|
287
|
+
# 2. phoneNumber.serverUrl
|
288
|
+
# 3. org.serverUrl
|
292
289
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
293
290
|
# @return [Vapi::AssistantOverrides]
|
294
|
-
def initialize(transcriber: OMIT, model: OMIT, voice: OMIT,
|
295
|
-
client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT,
|
291
|
+
def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
|
292
|
+
hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, variable_values: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
|
296
293
|
@transcriber = transcriber if transcriber != OMIT
|
297
294
|
@model = model if model != OMIT
|
298
295
|
@voice = voice if voice != OMIT
|
296
|
+
@first_message = first_message if first_message != OMIT
|
299
297
|
@first_message_mode = first_message_mode if first_message_mode != OMIT
|
300
298
|
@hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
|
301
299
|
@client_messages = client_messages if client_messages != OMIT
|
@@ -303,20 +301,16 @@ module Vapi
|
|
303
301
|
@silence_timeout_seconds = silence_timeout_seconds if silence_timeout_seconds != OMIT
|
304
302
|
@max_duration_seconds = max_duration_seconds if max_duration_seconds != OMIT
|
305
303
|
@background_sound = background_sound if background_sound != OMIT
|
306
|
-
@backchanneling_enabled = backchanneling_enabled if backchanneling_enabled != OMIT
|
307
304
|
@background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
|
308
305
|
@model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
|
309
306
|
@transport_configurations = transport_configurations if transport_configurations != OMIT
|
310
307
|
@variable_values = variable_values if variable_values != OMIT
|
311
308
|
@name = name if name != OMIT
|
312
|
-
@first_message = first_message if first_message != OMIT
|
313
309
|
@voicemail_detection = voicemail_detection if voicemail_detection != OMIT
|
314
310
|
@voicemail_message = voicemail_message if voicemail_message != OMIT
|
315
311
|
@end_call_message = end_call_message if end_call_message != OMIT
|
316
312
|
@end_call_phrases = end_call_phrases if end_call_phrases != OMIT
|
317
313
|
@metadata = metadata if metadata != OMIT
|
318
|
-
@server_url = server_url if server_url != OMIT
|
319
|
-
@server_url_secret = server_url_secret if server_url_secret != OMIT
|
320
314
|
@analysis_plan = analysis_plan if analysis_plan != OMIT
|
321
315
|
@artifact_plan = artifact_plan if artifact_plan != OMIT
|
322
316
|
@message_plan = message_plan if message_plan != OMIT
|
@@ -324,11 +318,13 @@ module Vapi
|
|
324
318
|
@stop_speaking_plan = stop_speaking_plan if stop_speaking_plan != OMIT
|
325
319
|
@monitor_plan = monitor_plan if monitor_plan != OMIT
|
326
320
|
@credential_ids = credential_ids if credential_ids != OMIT
|
321
|
+
@server = server if server != OMIT
|
327
322
|
@additional_properties = additional_properties
|
328
323
|
@_field_set = {
|
329
324
|
"transcriber": transcriber,
|
330
325
|
"model": model,
|
331
326
|
"voice": voice,
|
327
|
+
"firstMessage": first_message,
|
332
328
|
"firstMessageMode": first_message_mode,
|
333
329
|
"hipaaEnabled": hipaa_enabled,
|
334
330
|
"clientMessages": client_messages,
|
@@ -336,27 +332,24 @@ module Vapi
|
|
336
332
|
"silenceTimeoutSeconds": silence_timeout_seconds,
|
337
333
|
"maxDurationSeconds": max_duration_seconds,
|
338
334
|
"backgroundSound": background_sound,
|
339
|
-
"backchannelingEnabled": backchanneling_enabled,
|
340
335
|
"backgroundDenoisingEnabled": background_denoising_enabled,
|
341
336
|
"modelOutputInMessagesEnabled": model_output_in_messages_enabled,
|
342
337
|
"transportConfigurations": transport_configurations,
|
343
338
|
"variableValues": variable_values,
|
344
339
|
"name": name,
|
345
|
-
"firstMessage": first_message,
|
346
340
|
"voicemailDetection": voicemail_detection,
|
347
341
|
"voicemailMessage": voicemail_message,
|
348
342
|
"endCallMessage": end_call_message,
|
349
343
|
"endCallPhrases": end_call_phrases,
|
350
344
|
"metadata": metadata,
|
351
|
-
"serverUrl": server_url,
|
352
|
-
"serverUrlSecret": server_url_secret,
|
353
345
|
"analysisPlan": analysis_plan,
|
354
346
|
"artifactPlan": artifact_plan,
|
355
347
|
"messagePlan": message_plan,
|
356
348
|
"startSpeakingPlan": start_speaking_plan,
|
357
349
|
"stopSpeakingPlan": stop_speaking_plan,
|
358
350
|
"monitorPlan": monitor_plan,
|
359
|
-
"credentialIds": credential_ids
|
351
|
+
"credentialIds": credential_ids,
|
352
|
+
"server": server
|
360
353
|
}.reject do |_k, v|
|
361
354
|
v == OMIT
|
362
355
|
end
|
@@ -387,6 +380,7 @@ module Vapi
|
|
387
380
|
voice = parsed_json["voice"].to_json
|
388
381
|
voice = Vapi::AssistantOverridesVoice.from_json(json_object: voice)
|
389
382
|
end
|
383
|
+
first_message = parsed_json["firstMessage"]
|
390
384
|
first_message_mode = parsed_json["firstMessageMode"]
|
391
385
|
hipaa_enabled = parsed_json["hipaaEnabled"]
|
392
386
|
client_messages = parsed_json["clientMessages"]
|
@@ -394,7 +388,6 @@ module Vapi
|
|
394
388
|
silence_timeout_seconds = parsed_json["silenceTimeoutSeconds"]
|
395
389
|
max_duration_seconds = parsed_json["maxDurationSeconds"]
|
396
390
|
background_sound = parsed_json["backgroundSound"]
|
397
|
-
backchanneling_enabled = parsed_json["backchannelingEnabled"]
|
398
391
|
background_denoising_enabled = parsed_json["backgroundDenoisingEnabled"]
|
399
392
|
model_output_in_messages_enabled = parsed_json["modelOutputInMessagesEnabled"]
|
400
393
|
transport_configurations = parsed_json["transportConfigurations"]&.map do |item|
|
@@ -403,7 +396,6 @@ module Vapi
|
|
403
396
|
end
|
404
397
|
variable_values = parsed_json["variableValues"]
|
405
398
|
name = parsed_json["name"]
|
406
|
-
first_message = parsed_json["firstMessage"]
|
407
399
|
if parsed_json["voicemailDetection"].nil?
|
408
400
|
voicemail_detection = nil
|
409
401
|
else
|
@@ -414,8 +406,6 @@ module Vapi
|
|
414
406
|
end_call_message = parsed_json["endCallMessage"]
|
415
407
|
end_call_phrases = parsed_json["endCallPhrases"]
|
416
408
|
metadata = parsed_json["metadata"]
|
417
|
-
server_url = parsed_json["serverUrl"]
|
418
|
-
server_url_secret = parsed_json["serverUrlSecret"]
|
419
409
|
if parsed_json["analysisPlan"].nil?
|
420
410
|
analysis_plan = nil
|
421
411
|
else
|
@@ -453,10 +443,17 @@ module Vapi
|
|
453
443
|
monitor_plan = Vapi::MonitorPlan.from_json(json_object: monitor_plan)
|
454
444
|
end
|
455
445
|
credential_ids = parsed_json["credentialIds"]
|
446
|
+
if parsed_json["server"].nil?
|
447
|
+
server = nil
|
448
|
+
else
|
449
|
+
server = parsed_json["server"].to_json
|
450
|
+
server = Vapi::Server.from_json(json_object: server)
|
451
|
+
end
|
456
452
|
new(
|
457
453
|
transcriber: transcriber,
|
458
454
|
model: model,
|
459
455
|
voice: voice,
|
456
|
+
first_message: first_message,
|
460
457
|
first_message_mode: first_message_mode,
|
461
458
|
hipaa_enabled: hipaa_enabled,
|
462
459
|
client_messages: client_messages,
|
@@ -464,20 +461,16 @@ module Vapi
|
|
464
461
|
silence_timeout_seconds: silence_timeout_seconds,
|
465
462
|
max_duration_seconds: max_duration_seconds,
|
466
463
|
background_sound: background_sound,
|
467
|
-
backchanneling_enabled: backchanneling_enabled,
|
468
464
|
background_denoising_enabled: background_denoising_enabled,
|
469
465
|
model_output_in_messages_enabled: model_output_in_messages_enabled,
|
470
466
|
transport_configurations: transport_configurations,
|
471
467
|
variable_values: variable_values,
|
472
468
|
name: name,
|
473
|
-
first_message: first_message,
|
474
469
|
voicemail_detection: voicemail_detection,
|
475
470
|
voicemail_message: voicemail_message,
|
476
471
|
end_call_message: end_call_message,
|
477
472
|
end_call_phrases: end_call_phrases,
|
478
473
|
metadata: metadata,
|
479
|
-
server_url: server_url,
|
480
|
-
server_url_secret: server_url_secret,
|
481
474
|
analysis_plan: analysis_plan,
|
482
475
|
artifact_plan: artifact_plan,
|
483
476
|
message_plan: message_plan,
|
@@ -485,6 +478,7 @@ module Vapi
|
|
485
478
|
stop_speaking_plan: stop_speaking_plan,
|
486
479
|
monitor_plan: monitor_plan,
|
487
480
|
credential_ids: credential_ids,
|
481
|
+
server: server,
|
488
482
|
additional_properties: struct
|
489
483
|
)
|
490
484
|
end
|
@@ -506,6 +500,7 @@ module Vapi
|
|
506
500
|
obj.transcriber.nil? || Vapi::AssistantOverridesTranscriber.validate_raw(obj: obj.transcriber)
|
507
501
|
obj.model.nil? || Vapi::AssistantOverridesModel.validate_raw(obj: obj.model)
|
508
502
|
obj.voice.nil? || Vapi::AssistantOverridesVoice.validate_raw(obj: obj.voice)
|
503
|
+
obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
|
509
504
|
obj.first_message_mode&.is_a?(Vapi::AssistantOverridesFirstMessageMode) != false || raise("Passed value for field obj.first_message_mode is not the expected type, validation failed.")
|
510
505
|
obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
|
511
506
|
obj.client_messages&.is_a?(Array) != false || raise("Passed value for field obj.client_messages is not the expected type, validation failed.")
|
@@ -513,20 +508,16 @@ module Vapi
|
|
513
508
|
obj.silence_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.silence_timeout_seconds is not the expected type, validation failed.")
|
514
509
|
obj.max_duration_seconds&.is_a?(Float) != false || raise("Passed value for field obj.max_duration_seconds is not the expected type, validation failed.")
|
515
510
|
obj.background_sound&.is_a?(Vapi::AssistantOverridesBackgroundSound) != false || raise("Passed value for field obj.background_sound is not the expected type, validation failed.")
|
516
|
-
obj.backchanneling_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.backchanneling_enabled is not the expected type, validation failed.")
|
517
511
|
obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
|
518
512
|
obj.model_output_in_messages_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.model_output_in_messages_enabled is not the expected type, validation failed.")
|
519
513
|
obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
|
520
514
|
obj.variable_values&.is_a?(Hash) != false || raise("Passed value for field obj.variable_values is not the expected type, validation failed.")
|
521
515
|
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
522
|
-
obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
|
523
516
|
obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
|
524
517
|
obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
|
525
518
|
obj.end_call_message&.is_a?(String) != false || raise("Passed value for field obj.end_call_message is not the expected type, validation failed.")
|
526
519
|
obj.end_call_phrases&.is_a?(Array) != false || raise("Passed value for field obj.end_call_phrases is not the expected type, validation failed.")
|
527
520
|
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
528
|
-
obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
|
529
|
-
obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
|
530
521
|
obj.analysis_plan.nil? || Vapi::AnalysisPlan.validate_raw(obj: obj.analysis_plan)
|
531
522
|
obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
|
532
523
|
obj.message_plan.nil? || Vapi::MessagePlan.validate_raw(obj: obj.message_plan)
|
@@ -534,6 +525,7 @@ module Vapi
|
|
534
525
|
obj.stop_speaking_plan.nil? || Vapi::StopSpeakingPlan.validate_raw(obj: obj.stop_speaking_plan)
|
535
526
|
obj.monitor_plan.nil? || Vapi::MonitorPlan.validate_raw(obj: obj.monitor_plan)
|
536
527
|
obj.credential_ids&.is_a?(Array) != false || raise("Passed value for field obj.credential_ids is not the expected type, validation failed.")
|
528
|
+
obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
|
537
529
|
end
|
538
530
|
end
|
539
531
|
end
|
@@ -5,12 +5,15 @@ require_relative "anyscale_model"
|
|
5
5
|
require_relative "anthropic_model"
|
6
6
|
require_relative "custom_llm_model"
|
7
7
|
require_relative "deep_infra_model"
|
8
|
+
require_relative "google_model"
|
8
9
|
require_relative "groq_model"
|
10
|
+
require_relative "inflection_ai_model"
|
9
11
|
require_relative "open_ai_model"
|
10
12
|
require_relative "open_router_model"
|
11
13
|
require_relative "perplexity_ai_model"
|
12
14
|
require_relative "together_ai_model"
|
13
15
|
require_relative "vapi_model"
|
16
|
+
require_relative "xai_model"
|
14
17
|
|
15
18
|
module Vapi
|
16
19
|
# These are the options for the assistant's LLM.
|
@@ -46,8 +49,12 @@ module Vapi
|
|
46
49
|
Vapi::CustomLlmModel.from_json(json_object: json_object)
|
47
50
|
when "deepinfra"
|
48
51
|
Vapi::DeepInfraModel.from_json(json_object: json_object)
|
52
|
+
when "google"
|
53
|
+
Vapi::GoogleModel.from_json(json_object: json_object)
|
49
54
|
when "groq"
|
50
55
|
Vapi::GroqModel.from_json(json_object: json_object)
|
56
|
+
when "inflection-ai"
|
57
|
+
Vapi::InflectionAiModel.from_json(json_object: json_object)
|
51
58
|
when "openai"
|
52
59
|
Vapi::OpenAiModel.from_json(json_object: json_object)
|
53
60
|
when "openrouter"
|
@@ -58,6 +65,8 @@ module Vapi
|
|
58
65
|
Vapi::TogetherAiModel.from_json(json_object: json_object)
|
59
66
|
when "vapi"
|
60
67
|
Vapi::VapiModel.from_json(json_object: json_object)
|
68
|
+
when "xai"
|
69
|
+
Vapi::XaiModel.from_json(json_object: json_object)
|
61
70
|
else
|
62
71
|
Vapi::AnyscaleModel.from_json(json_object: json_object)
|
63
72
|
end
|
@@ -77,8 +86,12 @@ module Vapi
|
|
77
86
|
{ **@member.to_json, provider: @discriminant }.to_json
|
78
87
|
when "deepinfra"
|
79
88
|
{ **@member.to_json, provider: @discriminant }.to_json
|
89
|
+
when "google"
|
90
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
80
91
|
when "groq"
|
81
92
|
{ **@member.to_json, provider: @discriminant }.to_json
|
93
|
+
when "inflection-ai"
|
94
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
82
95
|
when "openai"
|
83
96
|
{ **@member.to_json, provider: @discriminant }.to_json
|
84
97
|
when "openrouter"
|
@@ -89,6 +102,8 @@ module Vapi
|
|
89
102
|
{ **@member.to_json, provider: @discriminant }.to_json
|
90
103
|
when "vapi"
|
91
104
|
{ **@member.to_json, provider: @discriminant }.to_json
|
105
|
+
when "xai"
|
106
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
92
107
|
else
|
93
108
|
{ "provider": @discriminant, value: @member }.to_json
|
94
109
|
end
|
@@ -111,8 +126,12 @@ module Vapi
|
|
111
126
|
Vapi::CustomLlmModel.validate_raw(obj: obj)
|
112
127
|
when "deepinfra"
|
113
128
|
Vapi::DeepInfraModel.validate_raw(obj: obj)
|
129
|
+
when "google"
|
130
|
+
Vapi::GoogleModel.validate_raw(obj: obj)
|
114
131
|
when "groq"
|
115
132
|
Vapi::GroqModel.validate_raw(obj: obj)
|
133
|
+
when "inflection-ai"
|
134
|
+
Vapi::InflectionAiModel.validate_raw(obj: obj)
|
116
135
|
when "openai"
|
117
136
|
Vapi::OpenAiModel.validate_raw(obj: obj)
|
118
137
|
when "openrouter"
|
@@ -123,6 +142,8 @@ module Vapi
|
|
123
142
|
Vapi::TogetherAiModel.validate_raw(obj: obj)
|
124
143
|
when "vapi"
|
125
144
|
Vapi::VapiModel.validate_raw(obj: obj)
|
145
|
+
when "xai"
|
146
|
+
Vapi::XaiModel.validate_raw(obj: obj)
|
126
147
|
else
|
127
148
|
raise("Passed value matched no type within the union, validation failed.")
|
128
149
|
end
|
@@ -160,12 +181,24 @@ module Vapi
|
|
160
181
|
new(member: member, discriminant: "deepinfra")
|
161
182
|
end
|
162
183
|
|
184
|
+
# @param member [Vapi::GoogleModel]
|
185
|
+
# @return [Vapi::AssistantOverridesModel]
|
186
|
+
def self.google(member:)
|
187
|
+
new(member: member, discriminant: "google")
|
188
|
+
end
|
189
|
+
|
163
190
|
# @param member [Vapi::GroqModel]
|
164
191
|
# @return [Vapi::AssistantOverridesModel]
|
165
192
|
def self.groq(member:)
|
166
193
|
new(member: member, discriminant: "groq")
|
167
194
|
end
|
168
195
|
|
196
|
+
# @param member [Vapi::InflectionAiModel]
|
197
|
+
# @return [Vapi::AssistantOverridesModel]
|
198
|
+
def self.inflection_ai(member:)
|
199
|
+
new(member: member, discriminant: "inflection-ai")
|
200
|
+
end
|
201
|
+
|
169
202
|
# @param member [Vapi::OpenAiModel]
|
170
203
|
# @return [Vapi::AssistantOverridesModel]
|
171
204
|
def self.openai(member:)
|
@@ -195,5 +228,11 @@ module Vapi
|
|
195
228
|
def self.vapi(member:)
|
196
229
|
new(member: member, discriminant: "vapi")
|
197
230
|
end
|
231
|
+
|
232
|
+
# @param member [Vapi::XaiModel]
|
233
|
+
# @return [Vapi::AssistantOverridesModel]
|
234
|
+
def self.xai(member:)
|
235
|
+
new(member: member, discriminant: "xai")
|
236
|
+
end
|
198
237
|
end
|
199
238
|
end
|
@@ -7,6 +7,7 @@ module Vapi
|
|
7
7
|
FUNCTION_CALL = "function-call"
|
8
8
|
HANG = "hang"
|
9
9
|
LANGUAGE_CHANGED = "language-changed"
|
10
|
+
LANGUAGE_CHANGE_DETECTED = "language-change-detected"
|
10
11
|
MODEL_OUTPUT = "model-output"
|
11
12
|
PHONE_CALL_CONTROL = "phone-call-control"
|
12
13
|
SPEECH_UPDATE = "speech-update"
|