vapi_server_sdk 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +184 -26
- data/lib/vapi_server_sdk/analytics/client.rb +14 -43
- data/lib/vapi_server_sdk/assistants/client.rb +57 -60
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
- data/lib/vapi_server_sdk/calls/client.rb +58 -28
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
- data/lib/vapi_server_sdk/logs/client.rb +10 -6
- data/lib/vapi_server_sdk/squads/client.rb +56 -32
- data/lib/vapi_server_sdk/tools/client.rb +4 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
- data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
- data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
- data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
- data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
- data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
- data/lib/vapi_server_sdk/types/assistant.rb +42 -64
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
- data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
- data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
- data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
- data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
- data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
- data/lib/vapi_server_sdk/types/call.rb +15 -1
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
- data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
- data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
- data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
- data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
- data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
- data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
- data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
- data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
- data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
- data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
- data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/condition.rb +9 -9
- data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
- data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
- data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
- data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
- data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
- data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
- data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
- data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
- data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
- data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
- data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
- data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
- data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
- data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
- data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
- data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
- data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
- data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
- data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
- data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
- data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
- data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
- data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
- data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
- data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/google_model.rb +178 -0
- data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
- data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
- data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
- data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
- data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
- data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
- data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
- data/lib/vapi_server_sdk/types/log.rb +12 -4
- data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
- data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
- data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
- data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
- data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
- data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
- data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
- data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
- data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
- data/lib/vapi_server_sdk/types/org.rb +35 -2
- data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
- data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
- data/lib/vapi_server_sdk/types/payment.rb +167 -0
- data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
- data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
- data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
- data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
- data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
- data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
- data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
- data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
- data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
- data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/server.rb +16 -2
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
- data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
- data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
- data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
- data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
- data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
- data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
- data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
- data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
- data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
- data/lib/vapi_server_sdk/types/subscription.rb +336 -0
- data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
- data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
- data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
- data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
- data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
- data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
- data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
- data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/text_content.rb +73 -0
- data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
- data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
- data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
- data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
- data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
- data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
- data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
- data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
- data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
- data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
- data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
- data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
- data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
- data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
- data/lib/vapi_server_sdk/types/transport.rb +70 -0
- data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
- data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
- data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
- data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
- data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
- data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
- data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
- data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
- data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
- data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
- data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
- data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk.rb +7 -0
- metadata +165 -6
@@ -0,0 +1,154 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "server"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class CustomKnowledgeBase
|
9
|
+
# @return [Vapi::Server] /**
|
10
|
+
# This is where the knowledge base request will be sent.
|
11
|
+
# Request Example:
|
12
|
+
# POST https://{server.url}
|
13
|
+
# Content-Type: application/json
|
14
|
+
# {
|
15
|
+
# "messsage": {
|
16
|
+
# "type": "knowledge-base-request",
|
17
|
+
# "messages": [
|
18
|
+
# {
|
19
|
+
# "role": "user",
|
20
|
+
# "content": "Why is ocean blue?"
|
21
|
+
# }
|
22
|
+
# ],
|
23
|
+
# ...other metadata about the call...
|
24
|
+
# }
|
25
|
+
# }
|
26
|
+
# Response Expected:
|
27
|
+
# ```
|
28
|
+
# {
|
29
|
+
# "message": {
|
30
|
+
# "role": "assistant",
|
31
|
+
# "content": "The ocean is blue because water absorbs everything but blue.",
|
32
|
+
# }, // YOU CAN RETURN THE EXACT RESPONSE TO SPEAK
|
33
|
+
# "documents": [
|
34
|
+
# {
|
35
|
+
# "content": "The ocean is blue primarily because water absorbs colors in
|
36
|
+
# the red part of the light spectrum and scatters the blue light, making it more
|
37
|
+
# visible to our eyes.",
|
38
|
+
# "similarity": 1
|
39
|
+
# },
|
40
|
+
# {
|
41
|
+
# "content": "Blue light is scattered more by the water molecules than other
|
42
|
+
# colors, enhancing the blue appearance of the ocean.",
|
43
|
+
# "similarity": .5
|
44
|
+
# }
|
45
|
+
# ] // OR, YOU CAN RETURN AN ARRAY OF DOCUMENTS THAT WILL BE SENT TO THE MODEL
|
46
|
+
# }
|
47
|
+
# ```
|
48
|
+
attr_reader :server
|
49
|
+
# @return [String] This is the id of the knowledge base.
|
50
|
+
attr_reader :id
|
51
|
+
# @return [String] This is the org id of the knowledge base.
|
52
|
+
attr_reader :org_id
|
53
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
54
|
+
attr_reader :additional_properties
|
55
|
+
# @return [Object]
|
56
|
+
attr_reader :_field_set
|
57
|
+
protected :_field_set
|
58
|
+
|
59
|
+
OMIT = Object.new
|
60
|
+
|
61
|
+
# @param server [Vapi::Server] /**
|
62
|
+
# This is where the knowledge base request will be sent.
|
63
|
+
# Request Example:
|
64
|
+
# POST https://{server.url}
|
65
|
+
# Content-Type: application/json
|
66
|
+
# {
|
67
|
+
# "messsage": {
|
68
|
+
# "type": "knowledge-base-request",
|
69
|
+
# "messages": [
|
70
|
+
# {
|
71
|
+
# "role": "user",
|
72
|
+
# "content": "Why is ocean blue?"
|
73
|
+
# }
|
74
|
+
# ],
|
75
|
+
# ...other metadata about the call...
|
76
|
+
# }
|
77
|
+
# }
|
78
|
+
# Response Expected:
|
79
|
+
# ```
|
80
|
+
# {
|
81
|
+
# "message": {
|
82
|
+
# "role": "assistant",
|
83
|
+
# "content": "The ocean is blue because water absorbs everything but blue.",
|
84
|
+
# }, // YOU CAN RETURN THE EXACT RESPONSE TO SPEAK
|
85
|
+
# "documents": [
|
86
|
+
# {
|
87
|
+
# "content": "The ocean is blue primarily because water absorbs colors in
|
88
|
+
# the red part of the light spectrum and scatters the blue light, making it more
|
89
|
+
# visible to our eyes.",
|
90
|
+
# "similarity": 1
|
91
|
+
# },
|
92
|
+
# {
|
93
|
+
# "content": "Blue light is scattered more by the water molecules than other
|
94
|
+
# colors, enhancing the blue appearance of the ocean.",
|
95
|
+
# "similarity": .5
|
96
|
+
# }
|
97
|
+
# ] // OR, YOU CAN RETURN AN ARRAY OF DOCUMENTS THAT WILL BE SENT TO THE MODEL
|
98
|
+
# }
|
99
|
+
# ```
|
100
|
+
# @param id [String] This is the id of the knowledge base.
|
101
|
+
# @param org_id [String] This is the org id of the knowledge base.
|
102
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
103
|
+
# @return [Vapi::CustomKnowledgeBase]
|
104
|
+
def initialize(server:, id:, org_id:, additional_properties: nil)
|
105
|
+
@server = server
|
106
|
+
@id = id
|
107
|
+
@org_id = org_id
|
108
|
+
@additional_properties = additional_properties
|
109
|
+
@_field_set = { "server": server, "id": id, "orgId": org_id }
|
110
|
+
end
|
111
|
+
|
112
|
+
# Deserialize a JSON object to an instance of CustomKnowledgeBase
|
113
|
+
#
|
114
|
+
# @param json_object [String]
|
115
|
+
# @return [Vapi::CustomKnowledgeBase]
|
116
|
+
def self.from_json(json_object:)
|
117
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
118
|
+
parsed_json = JSON.parse(json_object)
|
119
|
+
if parsed_json["server"].nil?
|
120
|
+
server = nil
|
121
|
+
else
|
122
|
+
server = parsed_json["server"].to_json
|
123
|
+
server = Vapi::Server.from_json(json_object: server)
|
124
|
+
end
|
125
|
+
id = parsed_json["id"]
|
126
|
+
org_id = parsed_json["orgId"]
|
127
|
+
new(
|
128
|
+
server: server,
|
129
|
+
id: id,
|
130
|
+
org_id: org_id,
|
131
|
+
additional_properties: struct
|
132
|
+
)
|
133
|
+
end
|
134
|
+
|
135
|
+
# Serialize an instance of CustomKnowledgeBase to a JSON object
|
136
|
+
#
|
137
|
+
# @return [String]
|
138
|
+
def to_json(*_args)
|
139
|
+
@_field_set&.to_json
|
140
|
+
end
|
141
|
+
|
142
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
143
|
+
# hash and check each fields type against the current object's property
|
144
|
+
# definitions.
|
145
|
+
#
|
146
|
+
# @param obj [Object]
|
147
|
+
# @return [Void]
|
148
|
+
def self.validate_raw(obj:)
|
149
|
+
Vapi::Server.validate_raw(obj: obj.server)
|
150
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
151
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "o_auth_2_authentication_plan"
|
3
4
|
require "date"
|
5
|
+
require_relative "oauth_2_authentication_session"
|
4
6
|
require "ostruct"
|
5
7
|
require "json"
|
6
8
|
|
@@ -10,6 +12,9 @@ module Vapi
|
|
10
12
|
attr_reader :provider
|
11
13
|
# @return [String] This is not returned in the API.
|
12
14
|
attr_reader :api_key
|
15
|
+
# @return [Vapi::OAuth2AuthenticationPlan] This is the authentication plan. Currently supports OAuth2 RFC 6749. To use
|
16
|
+
# Bearer authentication, use apiKey
|
17
|
+
attr_reader :authentication_plan
|
13
18
|
# @return [String] This is the unique identifier for the credential.
|
14
19
|
attr_reader :id
|
15
20
|
# @return [String] This is the unique identifier for the org that this credential belongs to.
|
@@ -18,6 +23,11 @@ module Vapi
|
|
18
23
|
attr_reader :created_at
|
19
24
|
# @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
20
25
|
attr_reader :updated_at
|
26
|
+
# @return [Vapi::Oauth2AuthenticationSession] This is the authentication session for the credential. Available for credentials
|
27
|
+
# that have an authentication plan.
|
28
|
+
attr_reader :authentication_session
|
29
|
+
# @return [String] This is the name of credential. This is just for your reference.
|
30
|
+
attr_reader :name
|
21
31
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
22
32
|
attr_reader :additional_properties
|
23
33
|
# @return [Object]
|
@@ -28,28 +38,42 @@ module Vapi
|
|
28
38
|
|
29
39
|
# @param provider [String]
|
30
40
|
# @param api_key [String] This is not returned in the API.
|
41
|
+
# @param authentication_plan [Vapi::OAuth2AuthenticationPlan] This is the authentication plan. Currently supports OAuth2 RFC 6749. To use
|
42
|
+
# Bearer authentication, use apiKey
|
31
43
|
# @param id [String] This is the unique identifier for the credential.
|
32
44
|
# @param org_id [String] This is the unique identifier for the org that this credential belongs to.
|
33
45
|
# @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
|
34
46
|
# @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
|
47
|
+
# @param authentication_session [Vapi::Oauth2AuthenticationSession] This is the authentication session for the credential. Available for credentials
|
48
|
+
# that have an authentication plan.
|
49
|
+
# @param name [String] This is the name of credential. This is just for your reference.
|
35
50
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
36
51
|
# @return [Vapi::CustomLlmCredential]
|
37
|
-
def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:,
|
52
|
+
def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, authentication_plan: OMIT,
|
53
|
+
authentication_session: OMIT, name: OMIT, additional_properties: nil)
|
38
54
|
@provider = provider
|
39
55
|
@api_key = api_key
|
56
|
+
@authentication_plan = authentication_plan if authentication_plan != OMIT
|
40
57
|
@id = id
|
41
58
|
@org_id = org_id
|
42
59
|
@created_at = created_at
|
43
60
|
@updated_at = updated_at
|
61
|
+
@authentication_session = authentication_session if authentication_session != OMIT
|
62
|
+
@name = name if name != OMIT
|
44
63
|
@additional_properties = additional_properties
|
45
64
|
@_field_set = {
|
46
65
|
"provider": provider,
|
47
66
|
"apiKey": api_key,
|
67
|
+
"authenticationPlan": authentication_plan,
|
48
68
|
"id": id,
|
49
69
|
"orgId": org_id,
|
50
70
|
"createdAt": created_at,
|
51
|
-
"updatedAt": updated_at
|
52
|
-
|
71
|
+
"updatedAt": updated_at,
|
72
|
+
"authenticationSession": authentication_session,
|
73
|
+
"name": name
|
74
|
+
}.reject do |_k, v|
|
75
|
+
v == OMIT
|
76
|
+
end
|
53
77
|
end
|
54
78
|
|
55
79
|
# Deserialize a JSON object to an instance of CustomLlmCredential
|
@@ -61,17 +85,33 @@ module Vapi
|
|
61
85
|
parsed_json = JSON.parse(json_object)
|
62
86
|
provider = parsed_json["provider"]
|
63
87
|
api_key = parsed_json["apiKey"]
|
88
|
+
if parsed_json["authenticationPlan"].nil?
|
89
|
+
authentication_plan = nil
|
90
|
+
else
|
91
|
+
authentication_plan = parsed_json["authenticationPlan"].to_json
|
92
|
+
authentication_plan = Vapi::OAuth2AuthenticationPlan.from_json(json_object: authentication_plan)
|
93
|
+
end
|
64
94
|
id = parsed_json["id"]
|
65
95
|
org_id = parsed_json["orgId"]
|
66
96
|
created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
|
67
97
|
updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
|
98
|
+
if parsed_json["authenticationSession"].nil?
|
99
|
+
authentication_session = nil
|
100
|
+
else
|
101
|
+
authentication_session = parsed_json["authenticationSession"].to_json
|
102
|
+
authentication_session = Vapi::Oauth2AuthenticationSession.from_json(json_object: authentication_session)
|
103
|
+
end
|
104
|
+
name = parsed_json["name"]
|
68
105
|
new(
|
69
106
|
provider: provider,
|
70
107
|
api_key: api_key,
|
108
|
+
authentication_plan: authentication_plan,
|
71
109
|
id: id,
|
72
110
|
org_id: org_id,
|
73
111
|
created_at: created_at,
|
74
112
|
updated_at: updated_at,
|
113
|
+
authentication_session: authentication_session,
|
114
|
+
name: name,
|
75
115
|
additional_properties: struct
|
76
116
|
)
|
77
117
|
end
|
@@ -92,10 +132,13 @@ module Vapi
|
|
92
132
|
def self.validate_raw(obj:)
|
93
133
|
obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
|
94
134
|
obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
|
135
|
+
obj.authentication_plan.nil? || Vapi::OAuth2AuthenticationPlan.validate_raw(obj: obj.authentication_plan)
|
95
136
|
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
96
137
|
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
97
138
|
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
98
139
|
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
140
|
+
obj.authentication_session.nil? || Vapi::Oauth2AuthenticationSession.validate_raw(obj: obj.authentication_session)
|
141
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
99
142
|
end
|
100
143
|
end
|
101
144
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
require_relative "open_ai_message"
|
4
4
|
require_relative "custom_llm_model_tools_item"
|
5
|
+
require_relative "create_custom_knowledge_base_dto"
|
5
6
|
require_relative "custom_llm_model_metadata_send_mode"
|
6
|
-
require_relative "knowledge_base"
|
7
7
|
require "ostruct"
|
8
8
|
require "json"
|
9
9
|
|
@@ -19,6 +19,10 @@ module Vapi
|
|
19
19
|
# tools, use `tools`.
|
20
20
|
# Both `tools` and `toolIds` can be used together.
|
21
21
|
attr_reader :tool_ids
|
22
|
+
# @return [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
|
23
|
+
attr_reader :knowledge_base
|
24
|
+
# @return [String] This is the ID of the knowledge base the model will use.
|
25
|
+
attr_reader :knowledge_base_id
|
22
26
|
# @return [Vapi::CustomLlmModelMetadataSendMode] This determines whether metadata is sent in requests to the custom provider.
|
23
27
|
# - `off` will not send any metadata. payload will look like `{ messages }`
|
24
28
|
# - `variable` will send `assistant.metadata` as a variable on the payload.
|
@@ -37,8 +41,6 @@ module Vapi
|
|
37
41
|
# @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
38
42
|
# caching for lower latency.
|
39
43
|
attr_reader :temperature
|
40
|
-
# @return [Vapi::KnowledgeBase] These are the options for the knowledge base.
|
41
|
-
attr_reader :knowledge_base
|
42
44
|
# @return [Float] This is the max number of tokens that the assistant will be allowed to generate
|
43
45
|
# in each turn of the conversation. Default is 250.
|
44
46
|
attr_reader :max_tokens
|
@@ -69,6 +71,8 @@ module Vapi
|
|
69
71
|
# @param tool_ids [Array<String>] These are the tools that the assistant can use during the call. To use transient
|
70
72
|
# tools, use `tools`.
|
71
73
|
# Both `tools` and `toolIds` can be used together.
|
74
|
+
# @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
|
75
|
+
# @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
|
72
76
|
# @param metadata_send_mode [Vapi::CustomLlmModelMetadataSendMode] This determines whether metadata is sent in requests to the custom provider.
|
73
77
|
# - `off` will not send any metadata. payload will look like `{ messages }`
|
74
78
|
# - `variable` will send `assistant.metadata` as a variable on the payload.
|
@@ -83,7 +87,6 @@ module Vapi
|
|
83
87
|
# @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
|
84
88
|
# @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
85
89
|
# caching for lower latency.
|
86
|
-
# @param knowledge_base [Vapi::KnowledgeBase] These are the options for the knowledge base.
|
87
90
|
# @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
|
88
91
|
# in each turn of the conversation. Default is 250.
|
89
92
|
# @param emotion_recognition_enabled [Boolean] This determines whether we detect user's emotion while they speak and send it as
|
@@ -98,16 +101,17 @@ module Vapi
|
|
98
101
|
# @default 0
|
99
102
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
100
103
|
# @return [Vapi::CustomLlmModel]
|
101
|
-
def initialize(url:, model:, messages: OMIT, tools: OMIT, tool_ids: OMIT,
|
102
|
-
|
104
|
+
def initialize(url:, model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
|
105
|
+
metadata_send_mode: OMIT, temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
|
103
106
|
@messages = messages if messages != OMIT
|
104
107
|
@tools = tools if tools != OMIT
|
105
108
|
@tool_ids = tool_ids if tool_ids != OMIT
|
109
|
+
@knowledge_base = knowledge_base if knowledge_base != OMIT
|
110
|
+
@knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
|
106
111
|
@metadata_send_mode = metadata_send_mode if metadata_send_mode != OMIT
|
107
112
|
@url = url
|
108
113
|
@model = model
|
109
114
|
@temperature = temperature if temperature != OMIT
|
110
|
-
@knowledge_base = knowledge_base if knowledge_base != OMIT
|
111
115
|
@max_tokens = max_tokens if max_tokens != OMIT
|
112
116
|
@emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
|
113
117
|
@num_fast_turns = num_fast_turns if num_fast_turns != OMIT
|
@@ -116,11 +120,12 @@ module Vapi
|
|
116
120
|
"messages": messages,
|
117
121
|
"tools": tools,
|
118
122
|
"toolIds": tool_ids,
|
123
|
+
"knowledgeBase": knowledge_base,
|
124
|
+
"knowledgeBaseId": knowledge_base_id,
|
119
125
|
"metadataSendMode": metadata_send_mode,
|
120
126
|
"url": url,
|
121
127
|
"model": model,
|
122
128
|
"temperature": temperature,
|
123
|
-
"knowledgeBase": knowledge_base,
|
124
129
|
"maxTokens": max_tokens,
|
125
130
|
"emotionRecognitionEnabled": emotion_recognition_enabled,
|
126
131
|
"numFastTurns": num_fast_turns
|
@@ -145,16 +150,17 @@ module Vapi
|
|
145
150
|
Vapi::CustomLlmModelToolsItem.from_json(json_object: item)
|
146
151
|
end
|
147
152
|
tool_ids = parsed_json["toolIds"]
|
148
|
-
metadata_send_mode = parsed_json["metadataSendMode"]
|
149
|
-
url = parsed_json["url"]
|
150
|
-
model = parsed_json["model"]
|
151
|
-
temperature = parsed_json["temperature"]
|
152
153
|
if parsed_json["knowledgeBase"].nil?
|
153
154
|
knowledge_base = nil
|
154
155
|
else
|
155
156
|
knowledge_base = parsed_json["knowledgeBase"].to_json
|
156
|
-
knowledge_base = Vapi::
|
157
|
+
knowledge_base = Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: knowledge_base)
|
157
158
|
end
|
159
|
+
knowledge_base_id = parsed_json["knowledgeBaseId"]
|
160
|
+
metadata_send_mode = parsed_json["metadataSendMode"]
|
161
|
+
url = parsed_json["url"]
|
162
|
+
model = parsed_json["model"]
|
163
|
+
temperature = parsed_json["temperature"]
|
158
164
|
max_tokens = parsed_json["maxTokens"]
|
159
165
|
emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
|
160
166
|
num_fast_turns = parsed_json["numFastTurns"]
|
@@ -162,11 +168,12 @@ module Vapi
|
|
162
168
|
messages: messages,
|
163
169
|
tools: tools,
|
164
170
|
tool_ids: tool_ids,
|
171
|
+
knowledge_base: knowledge_base,
|
172
|
+
knowledge_base_id: knowledge_base_id,
|
165
173
|
metadata_send_mode: metadata_send_mode,
|
166
174
|
url: url,
|
167
175
|
model: model,
|
168
176
|
temperature: temperature,
|
169
|
-
knowledge_base: knowledge_base,
|
170
177
|
max_tokens: max_tokens,
|
171
178
|
emotion_recognition_enabled: emotion_recognition_enabled,
|
172
179
|
num_fast_turns: num_fast_turns,
|
@@ -191,11 +198,12 @@ module Vapi
|
|
191
198
|
obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
|
192
199
|
obj.tools&.is_a?(Array) != false || raise("Passed value for field obj.tools is not the expected type, validation failed.")
|
193
200
|
obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
|
201
|
+
obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
|
202
|
+
obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
|
194
203
|
obj.metadata_send_mode&.is_a?(Vapi::CustomLlmModelMetadataSendMode) != false || raise("Passed value for field obj.metadata_send_mode is not the expected type, validation failed.")
|
195
204
|
obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
|
196
205
|
obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
|
197
206
|
obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
|
198
|
-
obj.knowledge_base.nil? || Vapi::KnowledgeBase.validate_raw(obj: obj.knowledge_base)
|
199
207
|
obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
|
200
208
|
obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
|
201
209
|
obj.num_fast_turns&.is_a?(Float) != false || raise("Passed value for field obj.num_fast_turns is not the expected type, validation failed.")
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "text_content"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class CustomMessage
|
9
|
+
# @return [Array<Vapi::TextContent>] This is an alternative to the `content` property. It allows to specify variants
|
10
|
+
# of the same content, one per language.
|
11
|
+
# Usage:
|
12
|
+
# - If your assistants are multilingual, you can provide content for each
|
13
|
+
# language.
|
14
|
+
# - If you don't provide content for a language, the first item in the array will
|
15
|
+
# be automatically translated to the active language at that moment.
|
16
|
+
# This will override the `content` property.
|
17
|
+
attr_reader :contents
|
18
|
+
# @return [String] This is a custom message.
|
19
|
+
attr_reader :type
|
20
|
+
# @return [String] This is the content that the assistant will say when this message is triggered.
|
21
|
+
attr_reader :content
|
22
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
23
|
+
attr_reader :additional_properties
|
24
|
+
# @return [Object]
|
25
|
+
attr_reader :_field_set
|
26
|
+
protected :_field_set
|
27
|
+
|
28
|
+
OMIT = Object.new
|
29
|
+
|
30
|
+
# @param contents [Array<Vapi::TextContent>] This is an alternative to the `content` property. It allows to specify variants
|
31
|
+
# of the same content, one per language.
|
32
|
+
# Usage:
|
33
|
+
# - If your assistants are multilingual, you can provide content for each
|
34
|
+
# language.
|
35
|
+
# - If you don't provide content for a language, the first item in the array will
|
36
|
+
# be automatically translated to the active language at that moment.
|
37
|
+
# This will override the `content` property.
|
38
|
+
# @param type [String] This is a custom message.
|
39
|
+
# @param content [String] This is the content that the assistant will say when this message is triggered.
|
40
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
+
# @return [Vapi::CustomMessage]
|
42
|
+
def initialize(type:, contents: OMIT, content: OMIT, additional_properties: nil)
|
43
|
+
@contents = contents if contents != OMIT
|
44
|
+
@type = type
|
45
|
+
@content = content if content != OMIT
|
46
|
+
@additional_properties = additional_properties
|
47
|
+
@_field_set = { "contents": contents, "type": type, "content": content }.reject do |_k, v|
|
48
|
+
v == OMIT
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Deserialize a JSON object to an instance of CustomMessage
|
53
|
+
#
|
54
|
+
# @param json_object [String]
|
55
|
+
# @return [Vapi::CustomMessage]
|
56
|
+
def self.from_json(json_object:)
|
57
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
58
|
+
parsed_json = JSON.parse(json_object)
|
59
|
+
contents = parsed_json["contents"]&.map do |item|
|
60
|
+
item = item.to_json
|
61
|
+
Vapi::TextContent.from_json(json_object: item)
|
62
|
+
end
|
63
|
+
type = parsed_json["type"]
|
64
|
+
content = parsed_json["content"]
|
65
|
+
new(
|
66
|
+
contents: contents,
|
67
|
+
type: type,
|
68
|
+
content: content,
|
69
|
+
additional_properties: struct
|
70
|
+
)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Serialize an instance of CustomMessage to a JSON object
|
74
|
+
#
|
75
|
+
# @return [String]
|
76
|
+
def to_json(*_args)
|
77
|
+
@_field_set&.to_json
|
78
|
+
end
|
79
|
+
|
80
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
81
|
+
# hash and check each fields type against the current object's property
|
82
|
+
# definitions.
|
83
|
+
#
|
84
|
+
# @param obj [Object]
|
85
|
+
# @return [Void]
|
86
|
+
def self.validate_raw(obj:)
|
87
|
+
obj.contents&.is_a?(Array) != false || raise("Passed value for field obj.contents is not the expected type, validation failed.")
|
88
|
+
obj.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
89
|
+
obj.content&.is_a?(String) != false || raise("Passed value for field obj.content is not the expected type, validation failed.")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "server"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class CustomTranscriber
|
9
|
+
# @return [Vapi::Server] This is where the transcription request will be sent.
|
10
|
+
# Usage:
|
11
|
+
# 1. Vapi will initiate a websocket connection with `server.url`.
|
12
|
+
# 2. Vapi will send an initial text frame with the sample rate. Format:
|
13
|
+
# ```
|
14
|
+
# {
|
15
|
+
# "type": "start",
|
16
|
+
# "encoding": "linear16", // 16-bit raw PCM format
|
17
|
+
# "container": "raw",
|
18
|
+
# "sampleRate": {{sampleRate}},
|
19
|
+
# "channels": 2 // customer is channel 0, assistant is channel 1
|
20
|
+
# }
|
21
|
+
# ```
|
22
|
+
# 3. Vapi will send the audio data in 16-bit raw PCM format as binary frames.
|
23
|
+
# 4. You can read the messages something like this:
|
24
|
+
# ```
|
25
|
+
# ws.on('message', (data, isBinary) => {
|
26
|
+
# if (isBinary) {
|
27
|
+
# pcmBuffer = Buffer.concat([pcmBuffer, data]);
|
28
|
+
# console.log(`Received PCM data, buffer size: ${pcmBuffer.length}`);
|
29
|
+
# } else {
|
30
|
+
# console.log('Received message:', JSON.parse(data.toString()));
|
31
|
+
# }
|
32
|
+
# });
|
33
|
+
# ```
|
34
|
+
# 5. You will respond with transcriptions as you have them. Format:
|
35
|
+
# ```
|
36
|
+
# {
|
37
|
+
# "type": "transcriber-response",
|
38
|
+
# "transcription": "Hello, world!",
|
39
|
+
# "channel": "customer" | "assistant"
|
40
|
+
# }
|
41
|
+
# ```
|
42
|
+
attr_reader :server
|
43
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
44
|
+
attr_reader :additional_properties
|
45
|
+
# @return [Object]
|
46
|
+
attr_reader :_field_set
|
47
|
+
protected :_field_set
|
48
|
+
|
49
|
+
OMIT = Object.new
|
50
|
+
|
51
|
+
# @param server [Vapi::Server] This is where the transcription request will be sent.
|
52
|
+
# Usage:
|
53
|
+
# 1. Vapi will initiate a websocket connection with `server.url`.
|
54
|
+
# 2. Vapi will send an initial text frame with the sample rate. Format:
|
55
|
+
# ```
|
56
|
+
# {
|
57
|
+
# "type": "start",
|
58
|
+
# "encoding": "linear16", // 16-bit raw PCM format
|
59
|
+
# "container": "raw",
|
60
|
+
# "sampleRate": {{sampleRate}},
|
61
|
+
# "channels": 2 // customer is channel 0, assistant is channel 1
|
62
|
+
# }
|
63
|
+
# ```
|
64
|
+
# 3. Vapi will send the audio data in 16-bit raw PCM format as binary frames.
|
65
|
+
# 4. You can read the messages something like this:
|
66
|
+
# ```
|
67
|
+
# ws.on('message', (data, isBinary) => {
|
68
|
+
# if (isBinary) {
|
69
|
+
# pcmBuffer = Buffer.concat([pcmBuffer, data]);
|
70
|
+
# console.log(`Received PCM data, buffer size: ${pcmBuffer.length}`);
|
71
|
+
# } else {
|
72
|
+
# console.log('Received message:', JSON.parse(data.toString()));
|
73
|
+
# }
|
74
|
+
# });
|
75
|
+
# ```
|
76
|
+
# 5. You will respond with transcriptions as you have them. Format:
|
77
|
+
# ```
|
78
|
+
# {
|
79
|
+
# "type": "transcriber-response",
|
80
|
+
# "transcription": "Hello, world!",
|
81
|
+
# "channel": "customer" | "assistant"
|
82
|
+
# }
|
83
|
+
# ```
|
84
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
85
|
+
# @return [Vapi::CustomTranscriber]
|
86
|
+
def initialize(server:, additional_properties: nil)
|
87
|
+
@server = server
|
88
|
+
@additional_properties = additional_properties
|
89
|
+
@_field_set = { "server": server }
|
90
|
+
end
|
91
|
+
|
92
|
+
# Deserialize a JSON object to an instance of CustomTranscriber
|
93
|
+
#
|
94
|
+
# @param json_object [String]
|
95
|
+
# @return [Vapi::CustomTranscriber]
|
96
|
+
def self.from_json(json_object:)
|
97
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
98
|
+
parsed_json = JSON.parse(json_object)
|
99
|
+
if parsed_json["server"].nil?
|
100
|
+
server = nil
|
101
|
+
else
|
102
|
+
server = parsed_json["server"].to_json
|
103
|
+
server = Vapi::Server.from_json(json_object: server)
|
104
|
+
end
|
105
|
+
new(server: server, additional_properties: struct)
|
106
|
+
end
|
107
|
+
|
108
|
+
# Serialize an instance of CustomTranscriber to a JSON object
|
109
|
+
#
|
110
|
+
# @return [String]
|
111
|
+
def to_json(*_args)
|
112
|
+
@_field_set&.to_json
|
113
|
+
end
|
114
|
+
|
115
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
116
|
+
# hash and check each fields type against the current object's property
|
117
|
+
# definitions.
|
118
|
+
#
|
119
|
+
# @param obj [Object]
|
120
|
+
# @return [Void]
|
121
|
+
def self.validate_raw(obj:)
|
122
|
+
Vapi::Server.validate_raw(obj: obj.server)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|