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
@@ -0,0 +1,141 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "transfer_plan_mode"
|
4
|
+
require_relative "transfer_plan_message"
|
5
|
+
require_relative "summary_plan"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class TransferPlan
|
11
|
+
# @return [Vapi::TransferPlanMode] This configures how transfer is executed and the experience of the destination
|
12
|
+
# party receiving the call.
|
13
|
+
# Usage:
|
14
|
+
# - `blind-transfer`: The assistant forwards the call to the destination without
|
15
|
+
# any message or summary.
|
16
|
+
# - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
|
17
|
+
# the destination and adds a SIP header X-Transfer-Summary to the call to include
|
18
|
+
# the summary.
|
19
|
+
# - `warm-transfer-say-message`: The assistant dials the destination, delivers the
|
20
|
+
# `message` to the destination party, connects the customer, and leaves the call.
|
21
|
+
# - `warm-transfer-say-summary`: The assistant dials the destination, provides a
|
22
|
+
# summary of the call to the destination party, connects the customer, and leaves
|
23
|
+
# the call.
|
24
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
|
25
|
+
# assistant dials the destination, waits for the operator to speak, delivers the
|
26
|
+
# `message` to the destination party, and then connects the customer.
|
27
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
|
28
|
+
# assistant dials the destination, waits for the operator to speak, provides a
|
29
|
+
# summary of the call to the destination party, and then connects the customer.
|
30
|
+
# @default 'blind-transfer'
|
31
|
+
attr_reader :mode
|
32
|
+
# @return [Vapi::TransferPlanMessage] This is the message the assistant will deliver to the destination party before
|
33
|
+
# connecting the customer.
|
34
|
+
# Usage:
|
35
|
+
# - Used only when `mode` is `warm-transfer-say-message` or
|
36
|
+
# `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
|
37
|
+
attr_reader :message
|
38
|
+
# @return [Vapi::SummaryPlan] This is the plan for generating a summary of the call to present to the
|
39
|
+
# destination party.
|
40
|
+
# Usage:
|
41
|
+
# - Used only when `mode` is `warm-transfer-say-summary` or
|
42
|
+
# `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`.
|
43
|
+
attr_reader :summary_plan
|
44
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
45
|
+
attr_reader :additional_properties
|
46
|
+
# @return [Object]
|
47
|
+
attr_reader :_field_set
|
48
|
+
protected :_field_set
|
49
|
+
|
50
|
+
OMIT = Object.new
|
51
|
+
|
52
|
+
# @param mode [Vapi::TransferPlanMode] This configures how transfer is executed and the experience of the destination
|
53
|
+
# party receiving the call.
|
54
|
+
# Usage:
|
55
|
+
# - `blind-transfer`: The assistant forwards the call to the destination without
|
56
|
+
# any message or summary.
|
57
|
+
# - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
|
58
|
+
# the destination and adds a SIP header X-Transfer-Summary to the call to include
|
59
|
+
# the summary.
|
60
|
+
# - `warm-transfer-say-message`: The assistant dials the destination, delivers the
|
61
|
+
# `message` to the destination party, connects the customer, and leaves the call.
|
62
|
+
# - `warm-transfer-say-summary`: The assistant dials the destination, provides a
|
63
|
+
# summary of the call to the destination party, connects the customer, and leaves
|
64
|
+
# the call.
|
65
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
|
66
|
+
# assistant dials the destination, waits for the operator to speak, delivers the
|
67
|
+
# `message` to the destination party, and then connects the customer.
|
68
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
|
69
|
+
# assistant dials the destination, waits for the operator to speak, provides a
|
70
|
+
# summary of the call to the destination party, and then connects the customer.
|
71
|
+
# @default 'blind-transfer'
|
72
|
+
# @param message [Vapi::TransferPlanMessage] This is the message the assistant will deliver to the destination party before
|
73
|
+
# connecting the customer.
|
74
|
+
# Usage:
|
75
|
+
# - Used only when `mode` is `warm-transfer-say-message` or
|
76
|
+
# `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
|
77
|
+
# @param summary_plan [Vapi::SummaryPlan] This is the plan for generating a summary of the call to present to the
|
78
|
+
# destination party.
|
79
|
+
# Usage:
|
80
|
+
# - Used only when `mode` is `warm-transfer-say-summary` or
|
81
|
+
# `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`.
|
82
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
83
|
+
# @return [Vapi::TransferPlan]
|
84
|
+
def initialize(mode:, message: OMIT, summary_plan: OMIT, additional_properties: nil)
|
85
|
+
@mode = mode
|
86
|
+
@message = message if message != OMIT
|
87
|
+
@summary_plan = summary_plan if summary_plan != OMIT
|
88
|
+
@additional_properties = additional_properties
|
89
|
+
@_field_set = { "mode": mode, "message": message, "summaryPlan": summary_plan }.reject do |_k, v|
|
90
|
+
v == OMIT
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# Deserialize a JSON object to an instance of TransferPlan
|
95
|
+
#
|
96
|
+
# @param json_object [String]
|
97
|
+
# @return [Vapi::TransferPlan]
|
98
|
+
def self.from_json(json_object:)
|
99
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
100
|
+
parsed_json = JSON.parse(json_object)
|
101
|
+
mode = parsed_json["mode"]
|
102
|
+
if parsed_json["message"].nil?
|
103
|
+
message = nil
|
104
|
+
else
|
105
|
+
message = parsed_json["message"].to_json
|
106
|
+
message = Vapi::TransferPlanMessage.from_json(json_object: message)
|
107
|
+
end
|
108
|
+
if parsed_json["summaryPlan"].nil?
|
109
|
+
summary_plan = nil
|
110
|
+
else
|
111
|
+
summary_plan = parsed_json["summaryPlan"].to_json
|
112
|
+
summary_plan = Vapi::SummaryPlan.from_json(json_object: summary_plan)
|
113
|
+
end
|
114
|
+
new(
|
115
|
+
mode: mode,
|
116
|
+
message: message,
|
117
|
+
summary_plan: summary_plan,
|
118
|
+
additional_properties: struct
|
119
|
+
)
|
120
|
+
end
|
121
|
+
|
122
|
+
# Serialize an instance of TransferPlan to a JSON object
|
123
|
+
#
|
124
|
+
# @return [String]
|
125
|
+
def to_json(*_args)
|
126
|
+
@_field_set&.to_json
|
127
|
+
end
|
128
|
+
|
129
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
130
|
+
# hash and check each fields type against the current object's property
|
131
|
+
# definitions.
|
132
|
+
#
|
133
|
+
# @param obj [Object]
|
134
|
+
# @return [Void]
|
135
|
+
def self.validate_raw(obj:)
|
136
|
+
obj.mode.is_a?(Vapi::TransferPlanMode) != false || raise("Passed value for field obj.mode is not the expected type, validation failed.")
|
137
|
+
obj.message.nil? || Vapi::TransferPlanMessage.validate_raw(obj: obj.message)
|
138
|
+
obj.summary_plan.nil? || Vapi::SummaryPlan.validate_raw(obj: obj.summary_plan)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "custom_message"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
# This is the message the assistant will deliver to the destination party before
|
8
|
+
# connecting the customer.
|
9
|
+
# Usage:
|
10
|
+
# - Used only when `mode` is `warm-transfer-say-message` or
|
11
|
+
# `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
|
12
|
+
class TransferPlanMessage
|
13
|
+
# Deserialize a JSON object to an instance of TransferPlanMessage
|
14
|
+
#
|
15
|
+
# @param json_object [String]
|
16
|
+
# @return [Vapi::TransferPlanMessage]
|
17
|
+
def self.from_json(json_object:)
|
18
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
19
|
+
begin
|
20
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
21
|
+
return struct unless struct.nil?
|
22
|
+
|
23
|
+
return nil
|
24
|
+
rescue StandardError
|
25
|
+
# noop
|
26
|
+
end
|
27
|
+
begin
|
28
|
+
Vapi::CustomMessage.validate_raw(obj: struct)
|
29
|
+
return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
|
30
|
+
|
31
|
+
return nil
|
32
|
+
rescue StandardError
|
33
|
+
# noop
|
34
|
+
end
|
35
|
+
struct
|
36
|
+
end
|
37
|
+
|
38
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
39
|
+
# hash and check each fields type against the current object's property
|
40
|
+
# definitions.
|
41
|
+
#
|
42
|
+
# @param obj [Object]
|
43
|
+
# @return [Void]
|
44
|
+
def self.validate_raw(obj:)
|
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
|
+
begin
|
51
|
+
return Vapi::CustomMessage.validate_raw(obj: obj)
|
52
|
+
rescue StandardError
|
53
|
+
# noop
|
54
|
+
end
|
55
|
+
raise("Passed value matched no type within the union, validation failed.")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Vapi
|
4
|
+
# This configures how transfer is executed and the experience of the destination
|
5
|
+
# party receiving the call.
|
6
|
+
# Usage:
|
7
|
+
# - `blind-transfer`: The assistant forwards the call to the destination without
|
8
|
+
# any message or summary.
|
9
|
+
# - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
|
10
|
+
# the destination and adds a SIP header X-Transfer-Summary to the call to include
|
11
|
+
# the summary.
|
12
|
+
# - `warm-transfer-say-message`: The assistant dials the destination, delivers the
|
13
|
+
# `message` to the destination party, connects the customer, and leaves the call.
|
14
|
+
# - `warm-transfer-say-summary`: The assistant dials the destination, provides a
|
15
|
+
# summary of the call to the destination party, connects the customer, and leaves
|
16
|
+
# the call.
|
17
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
|
18
|
+
# assistant dials the destination, waits for the operator to speak, delivers the
|
19
|
+
# `message` to the destination party, and then connects the customer.
|
20
|
+
# - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
|
21
|
+
# assistant dials the destination, waits for the operator to speak, provides a
|
22
|
+
# summary of the call to the destination party, and then connects the customer.
|
23
|
+
# @default 'blind-transfer'
|
24
|
+
class TransferPlanMode
|
25
|
+
BLIND_TRANSFER = "blind-transfer"
|
26
|
+
BLIND_TRANSFER_ADD_SUMMARY_TO_SIP_HEADER = "blind-transfer-add-summary-to-sip-header"
|
27
|
+
WARM_TRANSFER_SAY_MESSAGE = "warm-transfer-say-message"
|
28
|
+
WARM_TRANSFER_SAY_SUMMARY = "warm-transfer-say-summary"
|
29
|
+
WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_MESSAGE = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-message"
|
30
|
+
WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_SUMMARY = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary"
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "transport_provider"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class Transport
|
9
|
+
# @return [Vapi::TransportProvider] This is the provider used for the call.
|
10
|
+
attr_reader :provider
|
11
|
+
# @return [Boolean] This is determines whether the assistant will have video enabled.
|
12
|
+
# Only relevant for `webCall` type.
|
13
|
+
attr_reader :assistant_video_enabled
|
14
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
15
|
+
attr_reader :additional_properties
|
16
|
+
# @return [Object]
|
17
|
+
attr_reader :_field_set
|
18
|
+
protected :_field_set
|
19
|
+
|
20
|
+
OMIT = Object.new
|
21
|
+
|
22
|
+
# @param provider [Vapi::TransportProvider] This is the provider used for the call.
|
23
|
+
# @param assistant_video_enabled [Boolean] This is determines whether the assistant will have video enabled.
|
24
|
+
# Only relevant for `webCall` type.
|
25
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
+
# @return [Vapi::Transport]
|
27
|
+
def initialize(provider: OMIT, assistant_video_enabled: OMIT, additional_properties: nil)
|
28
|
+
@provider = provider if provider != OMIT
|
29
|
+
@assistant_video_enabled = assistant_video_enabled if assistant_video_enabled != OMIT
|
30
|
+
@additional_properties = additional_properties
|
31
|
+
@_field_set = { "provider": provider, "assistantVideoEnabled": assistant_video_enabled }.reject do |_k, v|
|
32
|
+
v == OMIT
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# Deserialize a JSON object to an instance of Transport
|
37
|
+
#
|
38
|
+
# @param json_object [String]
|
39
|
+
# @return [Vapi::Transport]
|
40
|
+
def self.from_json(json_object:)
|
41
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
42
|
+
parsed_json = JSON.parse(json_object)
|
43
|
+
provider = parsed_json["provider"]
|
44
|
+
assistant_video_enabled = parsed_json["assistantVideoEnabled"]
|
45
|
+
new(
|
46
|
+
provider: provider,
|
47
|
+
assistant_video_enabled: assistant_video_enabled,
|
48
|
+
additional_properties: struct
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Serialize an instance of Transport to a JSON object
|
53
|
+
#
|
54
|
+
# @return [String]
|
55
|
+
def to_json(*_args)
|
56
|
+
@_field_set&.to_json
|
57
|
+
end
|
58
|
+
|
59
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
60
|
+
# hash and check each fields type against the current object's property
|
61
|
+
# definitions.
|
62
|
+
#
|
63
|
+
# @param obj [Object]
|
64
|
+
# @return [Void]
|
65
|
+
def self.validate_raw(obj:)
|
66
|
+
obj.provider&.is_a?(Vapi::TransportProvider) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
|
67
|
+
obj.assistant_video_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.assistant_video_enabled is not the expected type, validation failed.")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "transport_cost_provider"
|
3
4
|
require "ostruct"
|
4
5
|
require "json"
|
5
6
|
|
6
7
|
module Vapi
|
7
8
|
class TransportCost
|
9
|
+
# @return [Vapi::TransportCostProvider]
|
10
|
+
attr_reader :provider
|
8
11
|
# @return [Float] This is the minutes of `transport` usage. This should match `call.endedAt` -
|
9
12
|
# `call.startedAt`.
|
10
13
|
attr_reader :minutes
|
@@ -18,16 +21,20 @@ module Vapi
|
|
18
21
|
|
19
22
|
OMIT = Object.new
|
20
23
|
|
24
|
+
# @param provider [Vapi::TransportCostProvider]
|
21
25
|
# @param minutes [Float] This is the minutes of `transport` usage. This should match `call.endedAt` -
|
22
26
|
# `call.startedAt`.
|
23
27
|
# @param cost [Float] This is the cost of the component in USD.
|
24
28
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
25
29
|
# @return [Vapi::TransportCost]
|
26
|
-
def initialize(minutes:, cost:, additional_properties: nil)
|
30
|
+
def initialize(minutes:, cost:, provider: OMIT, additional_properties: nil)
|
31
|
+
@provider = provider if provider != OMIT
|
27
32
|
@minutes = minutes
|
28
33
|
@cost = cost
|
29
34
|
@additional_properties = additional_properties
|
30
|
-
@_field_set = { "minutes": minutes, "cost": cost }
|
35
|
+
@_field_set = { "provider": provider, "minutes": minutes, "cost": cost }.reject do |_k, v|
|
36
|
+
v == OMIT
|
37
|
+
end
|
31
38
|
end
|
32
39
|
|
33
40
|
# Deserialize a JSON object to an instance of TransportCost
|
@@ -37,9 +44,11 @@ module Vapi
|
|
37
44
|
def self.from_json(json_object:)
|
38
45
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
39
46
|
parsed_json = JSON.parse(json_object)
|
47
|
+
provider = parsed_json["provider"]
|
40
48
|
minutes = parsed_json["minutes"]
|
41
49
|
cost = parsed_json["cost"]
|
42
50
|
new(
|
51
|
+
provider: provider,
|
43
52
|
minutes: minutes,
|
44
53
|
cost: cost,
|
45
54
|
additional_properties: struct
|
@@ -60,6 +69,7 @@ module Vapi
|
|
60
69
|
# @param obj [Object]
|
61
70
|
# @return [Void]
|
62
71
|
def self.validate_raw(obj:)
|
72
|
+
obj.provider&.is_a?(Vapi::TransportCostProvider) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
|
63
73
|
obj.minutes.is_a?(Float) != false || raise("Passed value for field obj.minutes is not the expected type, validation failed.")
|
64
74
|
obj.cost.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
|
65
75
|
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "trieve_knowledge_base_vector_store_search_plan"
|
4
|
+
require_relative "trieve_knowledge_base_vector_store_create_plan"
|
5
|
+
require "ostruct"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module Vapi
|
9
|
+
class TrieveKnowledgeBase
|
10
|
+
# @return [String] This is the name of the knowledge base.
|
11
|
+
attr_reader :name
|
12
|
+
# @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
|
13
|
+
attr_reader :vector_store_search_plan
|
14
|
+
# @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
|
15
|
+
# use an existing vector store from your account, use `vectoreStoreProviderId`
|
16
|
+
attr_reader :vector_store_create_plan
|
17
|
+
# @return [String] This is an vector store that you already have on your account with the provider.
|
18
|
+
# To create a new vector store, use vectorStoreCreatePlan.
|
19
|
+
# Usage:
|
20
|
+
# - To bring your own vector store from Trieve, go to https://trieve.ai
|
21
|
+
# - Create a dataset, and use the datasetId here.
|
22
|
+
attr_reader :vector_store_provider_id
|
23
|
+
# @return [String] This is the id of the knowledge base.
|
24
|
+
attr_reader :id
|
25
|
+
# @return [String] This is the org id of the knowledge base.
|
26
|
+
attr_reader :org_id
|
27
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
28
|
+
attr_reader :additional_properties
|
29
|
+
# @return [Object]
|
30
|
+
attr_reader :_field_set
|
31
|
+
protected :_field_set
|
32
|
+
|
33
|
+
OMIT = Object.new
|
34
|
+
|
35
|
+
# @param name [String] This is the name of the knowledge base.
|
36
|
+
# @param vector_store_search_plan [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
|
37
|
+
# @param vector_store_create_plan [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
|
38
|
+
# use an existing vector store from your account, use `vectoreStoreProviderId`
|
39
|
+
# @param vector_store_provider_id [String] This is an vector store that you already have on your account with the provider.
|
40
|
+
# To create a new vector store, use vectorStoreCreatePlan.
|
41
|
+
# Usage:
|
42
|
+
# - To bring your own vector store from Trieve, go to https://trieve.ai
|
43
|
+
# - Create a dataset, and use the datasetId here.
|
44
|
+
# @param id [String] This is the id of the knowledge base.
|
45
|
+
# @param org_id [String] This is the org id of the knowledge base.
|
46
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
47
|
+
# @return [Vapi::TrieveKnowledgeBase]
|
48
|
+
def initialize(vector_store_search_plan:, id:, org_id:, name: OMIT, vector_store_create_plan: OMIT,
|
49
|
+
vector_store_provider_id: OMIT, additional_properties: nil)
|
50
|
+
@name = name if name != OMIT
|
51
|
+
@vector_store_search_plan = vector_store_search_plan
|
52
|
+
@vector_store_create_plan = vector_store_create_plan if vector_store_create_plan != OMIT
|
53
|
+
@vector_store_provider_id = vector_store_provider_id if vector_store_provider_id != OMIT
|
54
|
+
@id = id
|
55
|
+
@org_id = org_id
|
56
|
+
@additional_properties = additional_properties
|
57
|
+
@_field_set = {
|
58
|
+
"name": name,
|
59
|
+
"vectorStoreSearchPlan": vector_store_search_plan,
|
60
|
+
"vectorStoreCreatePlan": vector_store_create_plan,
|
61
|
+
"vectorStoreProviderId": vector_store_provider_id,
|
62
|
+
"id": id,
|
63
|
+
"orgId": org_id
|
64
|
+
}.reject do |_k, v|
|
65
|
+
v == OMIT
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# Deserialize a JSON object to an instance of TrieveKnowledgeBase
|
70
|
+
#
|
71
|
+
# @param json_object [String]
|
72
|
+
# @return [Vapi::TrieveKnowledgeBase]
|
73
|
+
def self.from_json(json_object:)
|
74
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
75
|
+
parsed_json = JSON.parse(json_object)
|
76
|
+
name = parsed_json["name"]
|
77
|
+
if parsed_json["vectorStoreSearchPlan"].nil?
|
78
|
+
vector_store_search_plan = nil
|
79
|
+
else
|
80
|
+
vector_store_search_plan = parsed_json["vectorStoreSearchPlan"].to_json
|
81
|
+
vector_store_search_plan = Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.from_json(json_object: vector_store_search_plan)
|
82
|
+
end
|
83
|
+
if parsed_json["vectorStoreCreatePlan"].nil?
|
84
|
+
vector_store_create_plan = nil
|
85
|
+
else
|
86
|
+
vector_store_create_plan = parsed_json["vectorStoreCreatePlan"].to_json
|
87
|
+
vector_store_create_plan = Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.from_json(json_object: vector_store_create_plan)
|
88
|
+
end
|
89
|
+
vector_store_provider_id = parsed_json["vectorStoreProviderId"]
|
90
|
+
id = parsed_json["id"]
|
91
|
+
org_id = parsed_json["orgId"]
|
92
|
+
new(
|
93
|
+
name: name,
|
94
|
+
vector_store_search_plan: vector_store_search_plan,
|
95
|
+
vector_store_create_plan: vector_store_create_plan,
|
96
|
+
vector_store_provider_id: vector_store_provider_id,
|
97
|
+
id: id,
|
98
|
+
org_id: org_id,
|
99
|
+
additional_properties: struct
|
100
|
+
)
|
101
|
+
end
|
102
|
+
|
103
|
+
# Serialize an instance of TrieveKnowledgeBase to a JSON object
|
104
|
+
#
|
105
|
+
# @return [String]
|
106
|
+
def to_json(*_args)
|
107
|
+
@_field_set&.to_json
|
108
|
+
end
|
109
|
+
|
110
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
111
|
+
# hash and check each fields type against the current object's property
|
112
|
+
# definitions.
|
113
|
+
#
|
114
|
+
# @param obj [Object]
|
115
|
+
# @return [Void]
|
116
|
+
def self.validate_raw(obj:)
|
117
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
118
|
+
Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.validate_raw(obj: obj.vector_store_search_plan)
|
119
|
+
obj.vector_store_create_plan.nil? || Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.validate_raw(obj: obj.vector_store_create_plan)
|
120
|
+
obj.vector_store_provider_id&.is_a?(String) != false || raise("Passed value for field obj.vector_store_provider_id is not the expected type, validation failed.")
|
121
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
122
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class TrieveKnowledgeBaseVectorStoreCreatePlan
|
8
|
+
# @return [Array<String>] These are the file ids that will be used to create the vector store. To upload
|
9
|
+
# files, use the `POST /files` endpoint.
|
10
|
+
attr_reader :file_ids
|
11
|
+
# @return [Float] This is an optional field which allows you to specify the number of splits you
|
12
|
+
# want per chunk. If not specified, the default 20 is used. However, you may want
|
13
|
+
# to use a different number.
|
14
|
+
attr_reader :target_splits_per_chunk
|
15
|
+
# @return [Array<String>] This is an optional field which allows you to specify the delimiters to use when
|
16
|
+
# splitting the file before chunking the text. If not specified, the default
|
17
|
+
# [.!?\n] are used to split into sentences. However, you may want to use spaces or
|
18
|
+
# other delimiters.
|
19
|
+
attr_reader :split_delimiters
|
20
|
+
# @return [Boolean] This is an optional field which allows you to specify whether or not to
|
21
|
+
# rebalance the chunks created from the file. If not specified, the default true
|
22
|
+
# is used. If true, Trieve will evenly distribute remainder splits across chunks
|
23
|
+
# such that 66 splits with a target_splits_per_chunk of 20 will result in 3 chunks
|
24
|
+
# with 22 splits each.
|
25
|
+
attr_reader :rebalance_chunks
|
26
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
attr_reader :additional_properties
|
28
|
+
# @return [Object]
|
29
|
+
attr_reader :_field_set
|
30
|
+
protected :_field_set
|
31
|
+
|
32
|
+
OMIT = Object.new
|
33
|
+
|
34
|
+
# @param file_ids [Array<String>] These are the file ids that will be used to create the vector store. To upload
|
35
|
+
# files, use the `POST /files` endpoint.
|
36
|
+
# @param target_splits_per_chunk [Float] This is an optional field which allows you to specify the number of splits you
|
37
|
+
# want per chunk. If not specified, the default 20 is used. However, you may want
|
38
|
+
# to use a different number.
|
39
|
+
# @param split_delimiters [Array<String>] This is an optional field which allows you to specify the delimiters to use when
|
40
|
+
# splitting the file before chunking the text. If not specified, the default
|
41
|
+
# [.!?\n] are used to split into sentences. However, you may want to use spaces or
|
42
|
+
# other delimiters.
|
43
|
+
# @param rebalance_chunks [Boolean] This is an optional field which allows you to specify whether or not to
|
44
|
+
# rebalance the chunks created from the file. If not specified, the default true
|
45
|
+
# is used. If true, Trieve will evenly distribute remainder splits across chunks
|
46
|
+
# such that 66 splits with a target_splits_per_chunk of 20 will result in 3 chunks
|
47
|
+
# with 22 splits each.
|
48
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
49
|
+
# @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan]
|
50
|
+
def initialize(file_ids:, target_splits_per_chunk: OMIT, split_delimiters: OMIT, rebalance_chunks: OMIT,
|
51
|
+
additional_properties: nil)
|
52
|
+
@file_ids = file_ids
|
53
|
+
@target_splits_per_chunk = target_splits_per_chunk if target_splits_per_chunk != OMIT
|
54
|
+
@split_delimiters = split_delimiters if split_delimiters != OMIT
|
55
|
+
@rebalance_chunks = rebalance_chunks if rebalance_chunks != OMIT
|
56
|
+
@additional_properties = additional_properties
|
57
|
+
@_field_set = {
|
58
|
+
"fileIds": file_ids,
|
59
|
+
"targetSplitsPerChunk": target_splits_per_chunk,
|
60
|
+
"splitDelimiters": split_delimiters,
|
61
|
+
"rebalanceChunks": rebalance_chunks
|
62
|
+
}.reject do |_k, v|
|
63
|
+
v == OMIT
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# Deserialize a JSON object to an instance of
|
68
|
+
# TrieveKnowledgeBaseVectorStoreCreatePlan
|
69
|
+
#
|
70
|
+
# @param json_object [String]
|
71
|
+
# @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan]
|
72
|
+
def self.from_json(json_object:)
|
73
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
74
|
+
parsed_json = JSON.parse(json_object)
|
75
|
+
file_ids = parsed_json["fileIds"]
|
76
|
+
target_splits_per_chunk = parsed_json["targetSplitsPerChunk"]
|
77
|
+
split_delimiters = parsed_json["splitDelimiters"]
|
78
|
+
rebalance_chunks = parsed_json["rebalanceChunks"]
|
79
|
+
new(
|
80
|
+
file_ids: file_ids,
|
81
|
+
target_splits_per_chunk: target_splits_per_chunk,
|
82
|
+
split_delimiters: split_delimiters,
|
83
|
+
rebalance_chunks: rebalance_chunks,
|
84
|
+
additional_properties: struct
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Serialize an instance of TrieveKnowledgeBaseVectorStoreCreatePlan to a JSON
|
89
|
+
# object
|
90
|
+
#
|
91
|
+
# @return [String]
|
92
|
+
def to_json(*_args)
|
93
|
+
@_field_set&.to_json
|
94
|
+
end
|
95
|
+
|
96
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
97
|
+
# hash and check each fields type against the current object's property
|
98
|
+
# definitions.
|
99
|
+
#
|
100
|
+
# @param obj [Object]
|
101
|
+
# @return [Void]
|
102
|
+
def self.validate_raw(obj:)
|
103
|
+
obj.file_ids.is_a?(Array) != false || raise("Passed value for field obj.file_ids is not the expected type, validation failed.")
|
104
|
+
obj.target_splits_per_chunk&.is_a?(Float) != false || raise("Passed value for field obj.target_splits_per_chunk is not the expected type, validation failed.")
|
105
|
+
obj.split_delimiters&.is_a?(Array) != false || raise("Passed value for field obj.split_delimiters is not the expected type, validation failed.")
|
106
|
+
obj.rebalance_chunks&.is_a?(Boolean) != false || raise("Passed value for field obj.rebalance_chunks is not the expected type, validation failed.")
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|