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
@@ -23,14 +23,25 @@ module Vapi
|
|
23
23
|
# Default is 'PassFail'.
|
24
24
|
attr_reader :rubric
|
25
25
|
# @return [Array<Hash{String => Object}>] These are the messages used to generate the success evaluation.
|
26
|
-
# @default:
|
27
|
-
#
|
28
|
-
#
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
26
|
+
# @default: ```
|
27
|
+
# [
|
28
|
+
# {
|
29
|
+
# "role": "system",
|
30
|
+
# "content": "You are an expert call evaluator. You will be given a transcript
|
31
|
+
# of a call and the system prompt of the AI participant. Determine if the call was
|
32
|
+
# successful based on the objectives inferred from the system prompt. DO NOT
|
33
|
+
# return anything except the result.\n\nRubric:\\n{{rubric}}\n\nOnly respond with
|
34
|
+
# the result."
|
35
|
+
# },
|
36
|
+
# {
|
37
|
+
# "role": "user",
|
38
|
+
# "content": "Here is the transcript:\n\n{{transcript}}\n\n"
|
39
|
+
# },
|
40
|
+
# {
|
41
|
+
# "role": "user",
|
42
|
+
# "content": "Here was the system prompt of the call:\n\n{{systemPrompt}}\n\n"
|
43
|
+
# }
|
44
|
+
# ]```
|
34
45
|
# You can customize by providing any messages you want.
|
35
46
|
# Here are the template variables available:
|
36
47
|
# - {{transcript}}: the transcript of the call from `call.artifact.transcript`-
|
@@ -75,14 +86,25 @@ module Vapi
|
|
75
86
|
# - 'PassFail': A simple 'true' if call passed, 'false' if not.
|
76
87
|
# Default is 'PassFail'.
|
77
88
|
# @param messages [Array<Hash{String => Object}>] These are the messages used to generate the success evaluation.
|
78
|
-
# @default:
|
79
|
-
#
|
80
|
-
#
|
81
|
-
#
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
85
|
-
#
|
89
|
+
# @default: ```
|
90
|
+
# [
|
91
|
+
# {
|
92
|
+
# "role": "system",
|
93
|
+
# "content": "You are an expert call evaluator. You will be given a transcript
|
94
|
+
# of a call and the system prompt of the AI participant. Determine if the call was
|
95
|
+
# successful based on the objectives inferred from the system prompt. DO NOT
|
96
|
+
# return anything except the result.\n\nRubric:\\n{{rubric}}\n\nOnly respond with
|
97
|
+
# the result."
|
98
|
+
# },
|
99
|
+
# {
|
100
|
+
# "role": "user",
|
101
|
+
# "content": "Here is the transcript:\n\n{{transcript}}\n\n"
|
102
|
+
# },
|
103
|
+
# {
|
104
|
+
# "role": "user",
|
105
|
+
# "content": "Here was the system prompt of the call:\n\n{{systemPrompt}}\n\n"
|
106
|
+
# }
|
107
|
+
# ]```
|
86
108
|
# You can customize by providing any messages you want.
|
87
109
|
# Here are the template variables available:
|
88
110
|
# - {{transcript}}: the transcript of the call from `call.artifact.transcript`-
|
@@ -6,10 +6,19 @@ require "json"
|
|
6
6
|
module Vapi
|
7
7
|
class SummaryPlan
|
8
8
|
# @return [Array<Hash{String => Object}>] These are the messages used to generate the summary.
|
9
|
-
# @default:
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
9
|
+
# @default: ```
|
10
|
+
# [
|
11
|
+
# {
|
12
|
+
# "role": "system",
|
13
|
+
# "content": "You are an expert note-taker. You will be given a transcript of
|
14
|
+
# a call. Summarize the call in 2-3 sentences. DO NOT return anything except the
|
15
|
+
# summary."
|
16
|
+
# },
|
17
|
+
# {
|
18
|
+
# "role": "user",
|
19
|
+
# "content": "Here is the transcript:\n\n{{transcript}}\n\n"
|
20
|
+
# }
|
21
|
+
# ]```
|
13
22
|
# You can customize by providing any messages you want.
|
14
23
|
# Here are the template variables available:
|
15
24
|
# - {{transcript}}: The transcript of the call from `call.artifact.transcript`-
|
@@ -38,10 +47,19 @@ module Vapi
|
|
38
47
|
OMIT = Object.new
|
39
48
|
|
40
49
|
# @param messages [Array<Hash{String => Object}>] These are the messages used to generate the summary.
|
41
|
-
# @default:
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
50
|
+
# @default: ```
|
51
|
+
# [
|
52
|
+
# {
|
53
|
+
# "role": "system",
|
54
|
+
# "content": "You are an expert note-taker. You will be given a transcript of
|
55
|
+
# a call. Summarize the call in 2-3 sentences. DO NOT return anything except the
|
56
|
+
# summary."
|
57
|
+
# },
|
58
|
+
# {
|
59
|
+
# "role": "user",
|
60
|
+
# "content": "Here is the transcript:\n\n{{transcript}}\n\n"
|
61
|
+
# }
|
62
|
+
# ]```
|
45
63
|
# You can customize by providing any messages you want.
|
46
64
|
# Here are the template variables available:
|
47
65
|
# - {{transcript}}: The transcript of the call from `call.artifact.transcript`-
|
@@ -0,0 +1,173 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class TavusConversationProperties
|
8
|
+
# @return [Float] The maximum duration of the call in seconds. The default `maxCallDuration` is
|
9
|
+
# 3600 seconds (1 hour).
|
10
|
+
# Once the time limit specified by this parameter has been reached, the
|
11
|
+
# conversation will automatically shut down.
|
12
|
+
attr_reader :max_call_duration
|
13
|
+
# @return [Float] The duration in seconds after which the call will be automatically shut down
|
14
|
+
# once the last participant leaves.
|
15
|
+
attr_reader :participant_left_timeout
|
16
|
+
# @return [Float] Starting from conversation creation, the duration in seconds after which the
|
17
|
+
# call will be automatically shut down if no participant joins the call.
|
18
|
+
# Default is 300 seconds (5 minutes).
|
19
|
+
attr_reader :participant_absent_timeout
|
20
|
+
# @return [Boolean] If true, the user will be able to record the conversation.
|
21
|
+
attr_reader :enable_recording
|
22
|
+
# @return [Boolean] If true, the user will be able to transcribe the conversation.
|
23
|
+
# You can find more instructions on displaying transcriptions if you are using
|
24
|
+
# your custom DailyJS components here.
|
25
|
+
# You need to have an event listener on Daily that listens for `app-messages`.
|
26
|
+
attr_reader :enable_transcription
|
27
|
+
# @return [Boolean] If true, the background will be replaced with a greenscreen (RGB values: `[0,
|
28
|
+
# 255, 155]`).
|
29
|
+
# You can use WebGL on the frontend to make the greenscreen transparent or change
|
30
|
+
# its color.
|
31
|
+
attr_reader :apply_greenscreen
|
32
|
+
# @return [String] The language of the conversation. Please provide the **full language name**, not
|
33
|
+
# the two-letter code.
|
34
|
+
# If you are using your own TTS voice, please ensure it supports the language you
|
35
|
+
# provide.
|
36
|
+
# If you are using a stock replica or default persona, please note that only
|
37
|
+
# ElevenLabs and Cartesia supported languages are available.
|
38
|
+
# You can find a full list of supported languages for Cartesia here, for
|
39
|
+
# ElevenLabs here, and for PlayHT here.
|
40
|
+
attr_reader :language
|
41
|
+
# @return [String] The name of the S3 bucket where the recording will be stored.
|
42
|
+
attr_reader :recording_s_3_bucket_name
|
43
|
+
# @return [String] The region of the S3 bucket where the recording will be stored.
|
44
|
+
attr_reader :recording_s_3_bucket_region
|
45
|
+
# @return [String] The ARN of the role that will be assumed to access the S3 bucket.
|
46
|
+
attr_reader :aws_assume_role_arn
|
47
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
48
|
+
attr_reader :additional_properties
|
49
|
+
# @return [Object]
|
50
|
+
attr_reader :_field_set
|
51
|
+
protected :_field_set
|
52
|
+
|
53
|
+
OMIT = Object.new
|
54
|
+
|
55
|
+
# @param max_call_duration [Float] The maximum duration of the call in seconds. The default `maxCallDuration` is
|
56
|
+
# 3600 seconds (1 hour).
|
57
|
+
# Once the time limit specified by this parameter has been reached, the
|
58
|
+
# conversation will automatically shut down.
|
59
|
+
# @param participant_left_timeout [Float] The duration in seconds after which the call will be automatically shut down
|
60
|
+
# once the last participant leaves.
|
61
|
+
# @param participant_absent_timeout [Float] Starting from conversation creation, the duration in seconds after which the
|
62
|
+
# call will be automatically shut down if no participant joins the call.
|
63
|
+
# Default is 300 seconds (5 minutes).
|
64
|
+
# @param enable_recording [Boolean] If true, the user will be able to record the conversation.
|
65
|
+
# @param enable_transcription [Boolean] If true, the user will be able to transcribe the conversation.
|
66
|
+
# You can find more instructions on displaying transcriptions if you are using
|
67
|
+
# your custom DailyJS components here.
|
68
|
+
# You need to have an event listener on Daily that listens for `app-messages`.
|
69
|
+
# @param apply_greenscreen [Boolean] If true, the background will be replaced with a greenscreen (RGB values: `[0,
|
70
|
+
# 255, 155]`).
|
71
|
+
# You can use WebGL on the frontend to make the greenscreen transparent or change
|
72
|
+
# its color.
|
73
|
+
# @param language [String] The language of the conversation. Please provide the **full language name**, not
|
74
|
+
# the two-letter code.
|
75
|
+
# If you are using your own TTS voice, please ensure it supports the language you
|
76
|
+
# provide.
|
77
|
+
# If you are using a stock replica or default persona, please note that only
|
78
|
+
# ElevenLabs and Cartesia supported languages are available.
|
79
|
+
# You can find a full list of supported languages for Cartesia here, for
|
80
|
+
# ElevenLabs here, and for PlayHT here.
|
81
|
+
# @param recording_s_3_bucket_name [String] The name of the S3 bucket where the recording will be stored.
|
82
|
+
# @param recording_s_3_bucket_region [String] The region of the S3 bucket where the recording will be stored.
|
83
|
+
# @param aws_assume_role_arn [String] The ARN of the role that will be assumed to access the S3 bucket.
|
84
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
85
|
+
# @return [Vapi::TavusConversationProperties]
|
86
|
+
def initialize(max_call_duration: OMIT, participant_left_timeout: OMIT, participant_absent_timeout: OMIT,
|
87
|
+
enable_recording: OMIT, enable_transcription: OMIT, apply_greenscreen: OMIT, language: OMIT, recording_s_3_bucket_name: OMIT, recording_s_3_bucket_region: OMIT, aws_assume_role_arn: OMIT, additional_properties: nil)
|
88
|
+
@max_call_duration = max_call_duration if max_call_duration != OMIT
|
89
|
+
@participant_left_timeout = participant_left_timeout if participant_left_timeout != OMIT
|
90
|
+
@participant_absent_timeout = participant_absent_timeout if participant_absent_timeout != OMIT
|
91
|
+
@enable_recording = enable_recording if enable_recording != OMIT
|
92
|
+
@enable_transcription = enable_transcription if enable_transcription != OMIT
|
93
|
+
@apply_greenscreen = apply_greenscreen if apply_greenscreen != OMIT
|
94
|
+
@language = language if language != OMIT
|
95
|
+
@recording_s_3_bucket_name = recording_s_3_bucket_name if recording_s_3_bucket_name != OMIT
|
96
|
+
@recording_s_3_bucket_region = recording_s_3_bucket_region if recording_s_3_bucket_region != OMIT
|
97
|
+
@aws_assume_role_arn = aws_assume_role_arn if aws_assume_role_arn != OMIT
|
98
|
+
@additional_properties = additional_properties
|
99
|
+
@_field_set = {
|
100
|
+
"maxCallDuration": max_call_duration,
|
101
|
+
"participantLeftTimeout": participant_left_timeout,
|
102
|
+
"participantAbsentTimeout": participant_absent_timeout,
|
103
|
+
"enableRecording": enable_recording,
|
104
|
+
"enableTranscription": enable_transcription,
|
105
|
+
"applyGreenscreen": apply_greenscreen,
|
106
|
+
"language": language,
|
107
|
+
"recordingS3BucketName": recording_s_3_bucket_name,
|
108
|
+
"recordingS3BucketRegion": recording_s_3_bucket_region,
|
109
|
+
"awsAssumeRoleArn": aws_assume_role_arn
|
110
|
+
}.reject do |_k, v|
|
111
|
+
v == OMIT
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
# Deserialize a JSON object to an instance of TavusConversationProperties
|
116
|
+
#
|
117
|
+
# @param json_object [String]
|
118
|
+
# @return [Vapi::TavusConversationProperties]
|
119
|
+
def self.from_json(json_object:)
|
120
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
121
|
+
parsed_json = JSON.parse(json_object)
|
122
|
+
max_call_duration = parsed_json["maxCallDuration"]
|
123
|
+
participant_left_timeout = parsed_json["participantLeftTimeout"]
|
124
|
+
participant_absent_timeout = parsed_json["participantAbsentTimeout"]
|
125
|
+
enable_recording = parsed_json["enableRecording"]
|
126
|
+
enable_transcription = parsed_json["enableTranscription"]
|
127
|
+
apply_greenscreen = parsed_json["applyGreenscreen"]
|
128
|
+
language = parsed_json["language"]
|
129
|
+
recording_s_3_bucket_name = parsed_json["recordingS3BucketName"]
|
130
|
+
recording_s_3_bucket_region = parsed_json["recordingS3BucketRegion"]
|
131
|
+
aws_assume_role_arn = parsed_json["awsAssumeRoleArn"]
|
132
|
+
new(
|
133
|
+
max_call_duration: max_call_duration,
|
134
|
+
participant_left_timeout: participant_left_timeout,
|
135
|
+
participant_absent_timeout: participant_absent_timeout,
|
136
|
+
enable_recording: enable_recording,
|
137
|
+
enable_transcription: enable_transcription,
|
138
|
+
apply_greenscreen: apply_greenscreen,
|
139
|
+
language: language,
|
140
|
+
recording_s_3_bucket_name: recording_s_3_bucket_name,
|
141
|
+
recording_s_3_bucket_region: recording_s_3_bucket_region,
|
142
|
+
aws_assume_role_arn: aws_assume_role_arn,
|
143
|
+
additional_properties: struct
|
144
|
+
)
|
145
|
+
end
|
146
|
+
|
147
|
+
# Serialize an instance of TavusConversationProperties to a JSON object
|
148
|
+
#
|
149
|
+
# @return [String]
|
150
|
+
def to_json(*_args)
|
151
|
+
@_field_set&.to_json
|
152
|
+
end
|
153
|
+
|
154
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
155
|
+
# hash and check each fields type against the current object's property
|
156
|
+
# definitions.
|
157
|
+
#
|
158
|
+
# @param obj [Object]
|
159
|
+
# @return [Void]
|
160
|
+
def self.validate_raw(obj:)
|
161
|
+
obj.max_call_duration&.is_a?(Float) != false || raise("Passed value for field obj.max_call_duration is not the expected type, validation failed.")
|
162
|
+
obj.participant_left_timeout&.is_a?(Float) != false || raise("Passed value for field obj.participant_left_timeout is not the expected type, validation failed.")
|
163
|
+
obj.participant_absent_timeout&.is_a?(Float) != false || raise("Passed value for field obj.participant_absent_timeout is not the expected type, validation failed.")
|
164
|
+
obj.enable_recording&.is_a?(Boolean) != false || raise("Passed value for field obj.enable_recording is not the expected type, validation failed.")
|
165
|
+
obj.enable_transcription&.is_a?(Boolean) != false || raise("Passed value for field obj.enable_transcription is not the expected type, validation failed.")
|
166
|
+
obj.apply_greenscreen&.is_a?(Boolean) != false || raise("Passed value for field obj.apply_greenscreen is not the expected type, validation failed.")
|
167
|
+
obj.language&.is_a?(String) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
|
168
|
+
obj.recording_s_3_bucket_name&.is_a?(String) != false || raise("Passed value for field obj.recording_s_3_bucket_name is not the expected type, validation failed.")
|
169
|
+
obj.recording_s_3_bucket_region&.is_a?(String) != false || raise("Passed value for field obj.recording_s_3_bucket_region is not the expected type, validation failed.")
|
170
|
+
obj.aws_assume_role_arn&.is_a?(String) != false || raise("Passed value for field obj.aws_assume_role_arn is not the expected type, validation failed.")
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "date"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class TavusCredential
|
9
|
+
# @return [String]
|
10
|
+
attr_reader :provider
|
11
|
+
# @return [String] This is not returned in the API.
|
12
|
+
attr_reader :api_key
|
13
|
+
# @return [String] This is the unique identifier for the credential.
|
14
|
+
attr_reader :id
|
15
|
+
# @return [String] This is the unique identifier for the org that this credential belongs to.
|
16
|
+
attr_reader :org_id
|
17
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the credential was created.
|
18
|
+
attr_reader :created_at
|
19
|
+
# @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
20
|
+
attr_reader :updated_at
|
21
|
+
# @return [String] This is the name of credential. This is just for your reference.
|
22
|
+
attr_reader :name
|
23
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
24
|
+
attr_reader :additional_properties
|
25
|
+
# @return [Object]
|
26
|
+
attr_reader :_field_set
|
27
|
+
protected :_field_set
|
28
|
+
|
29
|
+
OMIT = Object.new
|
30
|
+
|
31
|
+
# @param provider [String]
|
32
|
+
# @param api_key [String] This is not returned in the API.
|
33
|
+
# @param id [String] This is the unique identifier for the credential.
|
34
|
+
# @param org_id [String] This is the unique identifier for the org that this credential belongs to.
|
35
|
+
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
|
36
|
+
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
37
|
+
# @param name [String] This is the name of credential. This is just for your reference.
|
38
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
39
|
+
# @return [Vapi::TavusCredential]
|
40
|
+
def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, name: OMIT, additional_properties: nil)
|
41
|
+
@provider = provider
|
42
|
+
@api_key = api_key
|
43
|
+
@id = id
|
44
|
+
@org_id = org_id
|
45
|
+
@created_at = created_at
|
46
|
+
@updated_at = updated_at
|
47
|
+
@name = name if name != OMIT
|
48
|
+
@additional_properties = additional_properties
|
49
|
+
@_field_set = {
|
50
|
+
"provider": provider,
|
51
|
+
"apiKey": api_key,
|
52
|
+
"id": id,
|
53
|
+
"orgId": org_id,
|
54
|
+
"createdAt": created_at,
|
55
|
+
"updatedAt": updated_at,
|
56
|
+
"name": name
|
57
|
+
}.reject do |_k, v|
|
58
|
+
v == OMIT
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Deserialize a JSON object to an instance of TavusCredential
|
63
|
+
#
|
64
|
+
# @param json_object [String]
|
65
|
+
# @return [Vapi::TavusCredential]
|
66
|
+
def self.from_json(json_object:)
|
67
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
68
|
+
parsed_json = JSON.parse(json_object)
|
69
|
+
provider = parsed_json["provider"]
|
70
|
+
api_key = parsed_json["apiKey"]
|
71
|
+
id = parsed_json["id"]
|
72
|
+
org_id = parsed_json["orgId"]
|
73
|
+
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
74
|
+
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
75
|
+
name = parsed_json["name"]
|
76
|
+
new(
|
77
|
+
provider: provider,
|
78
|
+
api_key: api_key,
|
79
|
+
id: id,
|
80
|
+
org_id: org_id,
|
81
|
+
created_at: created_at,
|
82
|
+
updated_at: updated_at,
|
83
|
+
name: name,
|
84
|
+
additional_properties: struct
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Serialize an instance of TavusCredential to a JSON object
|
89
|
+
#
|
90
|
+
# @return [String]
|
91
|
+
def to_json(*_args)
|
92
|
+
@_field_set&.to_json
|
93
|
+
end
|
94
|
+
|
95
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
96
|
+
# hash and check each fields type against the current object's property
|
97
|
+
# definitions.
|
98
|
+
#
|
99
|
+
# @param obj [Object]
|
100
|
+
# @return [Void]
|
101
|
+
def self.validate_raw(obj:)
|
102
|
+
obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
|
103
|
+
obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
|
104
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
105
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
106
|
+
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
107
|
+
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
108
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "tavus_voice_voice_id"
|
4
|
+
require_relative "chunk_plan"
|
5
|
+
require_relative "tavus_conversation_properties"
|
6
|
+
require_relative "fallback_plan"
|
7
|
+
require "ostruct"
|
8
|
+
require "json"
|
9
|
+
|
10
|
+
module Vapi
|
11
|
+
class TavusVoice
|
12
|
+
# @return [Vapi::TavusVoiceVoiceId] This is the provider-specific ID that will be used.
|
13
|
+
attr_reader :voice_id
|
14
|
+
# @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
|
15
|
+
# provider.
|
16
|
+
attr_reader :chunk_plan
|
17
|
+
# @return [String] This is the unique identifier for the persona that the replica will use in the
|
18
|
+
# conversation.
|
19
|
+
attr_reader :persona_id
|
20
|
+
# @return [String] This is the url that will receive webhooks with updates regarding the
|
21
|
+
# conversation state.
|
22
|
+
attr_reader :callback_url
|
23
|
+
# @return [String] This is the name for the conversation.
|
24
|
+
attr_reader :conversation_name
|
25
|
+
# @return [String] This is the context that will be appended to any context provided in the
|
26
|
+
# persona, if one is provided.
|
27
|
+
attr_reader :conversational_context
|
28
|
+
# @return [String] This is the custom greeting that the replica will give once a participant joines
|
29
|
+
# the conversation.
|
30
|
+
attr_reader :custom_greeting
|
31
|
+
# @return [Vapi::TavusConversationProperties] These are optional properties used to customize the conversation.
|
32
|
+
attr_reader :properties
|
33
|
+
# @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
|
34
|
+
# voice provider fails.
|
35
|
+
attr_reader :fallback_plan
|
36
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
37
|
+
attr_reader :additional_properties
|
38
|
+
# @return [Object]
|
39
|
+
attr_reader :_field_set
|
40
|
+
protected :_field_set
|
41
|
+
|
42
|
+
OMIT = Object.new
|
43
|
+
|
44
|
+
# @param voice_id [Vapi::TavusVoiceVoiceId] This is the provider-specific ID that will be used.
|
45
|
+
# @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
|
46
|
+
# provider.
|
47
|
+
# @param persona_id [String] This is the unique identifier for the persona that the replica will use in the
|
48
|
+
# conversation.
|
49
|
+
# @param callback_url [String] This is the url that will receive webhooks with updates regarding the
|
50
|
+
# conversation state.
|
51
|
+
# @param conversation_name [String] This is the name for the conversation.
|
52
|
+
# @param conversational_context [String] This is the context that will be appended to any context provided in the
|
53
|
+
# persona, if one is provided.
|
54
|
+
# @param custom_greeting [String] This is the custom greeting that the replica will give once a participant joines
|
55
|
+
# the conversation.
|
56
|
+
# @param properties [Vapi::TavusConversationProperties] These are optional properties used to customize the conversation.
|
57
|
+
# @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
|
58
|
+
# voice provider fails.
|
59
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
60
|
+
# @return [Vapi::TavusVoice]
|
61
|
+
def initialize(voice_id:, chunk_plan: OMIT, persona_id: OMIT, callback_url: OMIT, conversation_name: OMIT,
|
62
|
+
conversational_context: OMIT, custom_greeting: OMIT, properties: OMIT, fallback_plan: OMIT, additional_properties: nil)
|
63
|
+
@voice_id = voice_id
|
64
|
+
@chunk_plan = chunk_plan if chunk_plan != OMIT
|
65
|
+
@persona_id = persona_id if persona_id != OMIT
|
66
|
+
@callback_url = callback_url if callback_url != OMIT
|
67
|
+
@conversation_name = conversation_name if conversation_name != OMIT
|
68
|
+
@conversational_context = conversational_context if conversational_context != OMIT
|
69
|
+
@custom_greeting = custom_greeting if custom_greeting != OMIT
|
70
|
+
@properties = properties if properties != OMIT
|
71
|
+
@fallback_plan = fallback_plan if fallback_plan != OMIT
|
72
|
+
@additional_properties = additional_properties
|
73
|
+
@_field_set = {
|
74
|
+
"voiceId": voice_id,
|
75
|
+
"chunkPlan": chunk_plan,
|
76
|
+
"personaId": persona_id,
|
77
|
+
"callbackUrl": callback_url,
|
78
|
+
"conversationName": conversation_name,
|
79
|
+
"conversationalContext": conversational_context,
|
80
|
+
"customGreeting": custom_greeting,
|
81
|
+
"properties": properties,
|
82
|
+
"fallbackPlan": fallback_plan
|
83
|
+
}.reject do |_k, v|
|
84
|
+
v == OMIT
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Deserialize a JSON object to an instance of TavusVoice
|
89
|
+
#
|
90
|
+
# @param json_object [String]
|
91
|
+
# @return [Vapi::TavusVoice]
|
92
|
+
def self.from_json(json_object:)
|
93
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
94
|
+
parsed_json = JSON.parse(json_object)
|
95
|
+
if parsed_json["voiceId"].nil?
|
96
|
+
voice_id = nil
|
97
|
+
else
|
98
|
+
voice_id = parsed_json["voiceId"].to_json
|
99
|
+
voice_id = Vapi::TavusVoiceVoiceId.from_json(json_object: voice_id)
|
100
|
+
end
|
101
|
+
if parsed_json["chunkPlan"].nil?
|
102
|
+
chunk_plan = nil
|
103
|
+
else
|
104
|
+
chunk_plan = parsed_json["chunkPlan"].to_json
|
105
|
+
chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
|
106
|
+
end
|
107
|
+
persona_id = parsed_json["personaId"]
|
108
|
+
callback_url = parsed_json["callbackUrl"]
|
109
|
+
conversation_name = parsed_json["conversationName"]
|
110
|
+
conversational_context = parsed_json["conversationalContext"]
|
111
|
+
custom_greeting = parsed_json["customGreeting"]
|
112
|
+
if parsed_json["properties"].nil?
|
113
|
+
properties = nil
|
114
|
+
else
|
115
|
+
properties = parsed_json["properties"].to_json
|
116
|
+
properties = Vapi::TavusConversationProperties.from_json(json_object: properties)
|
117
|
+
end
|
118
|
+
if parsed_json["fallbackPlan"].nil?
|
119
|
+
fallback_plan = nil
|
120
|
+
else
|
121
|
+
fallback_plan = parsed_json["fallbackPlan"].to_json
|
122
|
+
fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
|
123
|
+
end
|
124
|
+
new(
|
125
|
+
voice_id: voice_id,
|
126
|
+
chunk_plan: chunk_plan,
|
127
|
+
persona_id: persona_id,
|
128
|
+
callback_url: callback_url,
|
129
|
+
conversation_name: conversation_name,
|
130
|
+
conversational_context: conversational_context,
|
131
|
+
custom_greeting: custom_greeting,
|
132
|
+
properties: properties,
|
133
|
+
fallback_plan: fallback_plan,
|
134
|
+
additional_properties: struct
|
135
|
+
)
|
136
|
+
end
|
137
|
+
|
138
|
+
# Serialize an instance of TavusVoice to a JSON object
|
139
|
+
#
|
140
|
+
# @return [String]
|
141
|
+
def to_json(*_args)
|
142
|
+
@_field_set&.to_json
|
143
|
+
end
|
144
|
+
|
145
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
146
|
+
# hash and check each fields type against the current object's property
|
147
|
+
# definitions.
|
148
|
+
#
|
149
|
+
# @param obj [Object]
|
150
|
+
# @return [Void]
|
151
|
+
def self.validate_raw(obj:)
|
152
|
+
Vapi::TavusVoiceVoiceId.validate_raw(obj: obj.voice_id)
|
153
|
+
obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
|
154
|
+
obj.persona_id&.is_a?(String) != false || raise("Passed value for field obj.persona_id is not the expected type, validation failed.")
|
155
|
+
obj.callback_url&.is_a?(String) != false || raise("Passed value for field obj.callback_url is not the expected type, validation failed.")
|
156
|
+
obj.conversation_name&.is_a?(String) != false || raise("Passed value for field obj.conversation_name is not the expected type, validation failed.")
|
157
|
+
obj.conversational_context&.is_a?(String) != false || raise("Passed value for field obj.conversational_context is not the expected type, validation failed.")
|
158
|
+
obj.custom_greeting&.is_a?(String) != false || raise("Passed value for field obj.custom_greeting is not the expected type, validation failed.")
|
159
|
+
obj.properties.nil? || Vapi::TavusConversationProperties.validate_raw(obj: obj.properties)
|
160
|
+
obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Vapi
|
6
|
+
# This is the provider-specific ID that will be used.
|
7
|
+
class TavusVoiceVoiceId
|
8
|
+
# Deserialize a JSON object to an instance of TavusVoiceVoiceId
|
9
|
+
#
|
10
|
+
# @param json_object [String]
|
11
|
+
# @return [Vapi::TavusVoiceVoiceId]
|
12
|
+
def self.from_json(json_object:)
|
13
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
14
|
+
begin
|
15
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
16
|
+
return struct unless struct.nil?
|
17
|
+
|
18
|
+
return nil
|
19
|
+
rescue StandardError
|
20
|
+
# noop
|
21
|
+
end
|
22
|
+
begin
|
23
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
24
|
+
return struct unless struct.nil?
|
25
|
+
|
26
|
+
return nil
|
27
|
+
rescue StandardError
|
28
|
+
# noop
|
29
|
+
end
|
30
|
+
struct
|
31
|
+
end
|
32
|
+
|
33
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
34
|
+
# hash and check each fields type against the current object's property
|
35
|
+
# definitions.
|
36
|
+
#
|
37
|
+
# @param obj [Object]
|
38
|
+
# @return [Void]
|
39
|
+
def self.validate_raw(obj:)
|
40
|
+
begin
|
41
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
42
|
+
rescue StandardError
|
43
|
+
# noop
|
44
|
+
end
|
45
|
+
begin
|
46
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
47
|
+
rescue StandardError
|
48
|
+
# noop
|
49
|
+
end
|
50
|
+
raise("Passed value matched no type within the union, validation failed.")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|