vapi_server_sdk 0.1.0 → 0.3.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 +287 -62
- data/lib/vapi_server_sdk/analytics/client.rb +14 -43
- data/lib/vapi_server_sdk/assistants/client.rb +70 -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_credentials_item.rb +512 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +52 -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 +40 -1
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +39 -0
- data/lib/vapi_server_sdk/blocks/client.rb +7 -166
- data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
- data/lib/vapi_server_sdk/calls/client.rb +74 -32
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +393 -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_request.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 +94 -6
- data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
- data/lib/vapi_server_sdk/squads/client.rb +64 -32
- data/lib/vapi_server_sdk/tools/client.rb +7 -87
- 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_request.rb +200 -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 +60 -64
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +52 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +75 -65
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +52 -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 +40 -1
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +40 -1
- data/lib/vapi_server_sdk/types/assistant_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
- data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
- data/lib/vapi_server_sdk/types/azure_credential.rb +146 -0
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
- data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +20 -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 +2 -1
- data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
- data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -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/buy_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
- 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 +83 -43
- 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/cartesia_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
- data/lib/vapi_server_sdk/types/chat_service_response.rb +47 -0
- 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/cloudflare_credential.rb +142 -0
- data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -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 -9
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +61 -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_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +52 -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 +40 -1
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +39 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +22 -11
- 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 +2 -1
- 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_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -19
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_cerebras_credential_dto.rb} +21 -21
- data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
- 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 +26 -9
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -9
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +9 -21
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -9
- 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 -9
- 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 +83 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_org_dto.rb +45 -26
- 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 -9
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +67 -0
- 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 -9
- 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 +11 -9
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +44 -30
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +11 -9
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +73 -0
- data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +67 -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/deep_seek_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
- data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
- 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/eleven_labs_voice_model.rb +2 -0
- 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 +12 -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 +14 -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 +224 -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_smallest_ai_voice.rb +95 -0
- data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -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/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
- data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
- 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 +194 -0
- data/lib/vapi_server_sdk/types/google_model_model.rb +14 -0
- data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -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/groq_model_model.rb +1 -3
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
- 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 +8 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +8 -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 +59 -26
- 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/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 +83 -43
- 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.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +83 -43
- 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/smallest_ai_credential.rb +111 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -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_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 +2 -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 +161 -0
- data/lib/vapi_server_sdk/types/transfer_plan_message.rb +59 -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/twilio_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +105 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +29 -18
- 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 +2 -1
- data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
- data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +30 -18
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
- data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
- data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
- data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +28 -11
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -11
- data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +20 -11
- data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +6 -18
- data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
- data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +83 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -15
- data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
- data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_org_dto.rb +45 -26
- data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
- data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +24 -22
- data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +67 -0
- data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +13 -11
- data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
- data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
- data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
- data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
- data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
- data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +15 -13
- data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
- data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +67 -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 +44 -30
- data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
- 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 +240 -14
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
- data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
- data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
@@ -0,0 +1,393 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../requests"
|
4
|
+
require "date"
|
5
|
+
require_relative "types/knowledge_bases_list_response_item"
|
6
|
+
require "json"
|
7
|
+
require_relative "types/knowledge_bases_create_request"
|
8
|
+
require_relative "types/knowledge_bases_create_response"
|
9
|
+
require_relative "types/knowledge_bases_get_response"
|
10
|
+
require_relative "types/knowledge_bases_delete_response"
|
11
|
+
require_relative "types/knowledge_bases_update_request"
|
12
|
+
require_relative "types/knowledge_bases_update_response"
|
13
|
+
require "async"
|
14
|
+
|
15
|
+
module Vapi
|
16
|
+
class KnowledgeBasesClient
|
17
|
+
# @return [Vapi::RequestClient]
|
18
|
+
attr_reader :request_client
|
19
|
+
|
20
|
+
# @param request_client [Vapi::RequestClient]
|
21
|
+
# @return [Vapi::KnowledgeBasesClient]
|
22
|
+
def initialize(request_client:)
|
23
|
+
@request_client = request_client
|
24
|
+
end
|
25
|
+
|
26
|
+
# @param limit [Float] This is the maximum number of items to return. Defaults to 100.
|
27
|
+
# @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
|
28
|
+
# @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
|
29
|
+
# @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
|
30
|
+
# specified value.
|
31
|
+
# @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
|
32
|
+
# specified value.
|
33
|
+
# @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
|
34
|
+
# @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
|
35
|
+
# @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
|
36
|
+
# specified value.
|
37
|
+
# @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
|
38
|
+
# specified value.
|
39
|
+
# @param request_options [Vapi::RequestOptions]
|
40
|
+
# @return [Array<Vapi::KnowledgeBases::KnowledgeBasesListResponseItem>]
|
41
|
+
# @example
|
42
|
+
# api = Vapi::Client.new(
|
43
|
+
# base_url: "https://api.example.com",
|
44
|
+
# environment: Vapi::Environment::DEFAULT,
|
45
|
+
# token: "YOUR_AUTH_TOKEN"
|
46
|
+
# )
|
47
|
+
# api.knowledge_bases.list
|
48
|
+
def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
|
49
|
+
updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
|
50
|
+
response = @request_client.conn.get do |req|
|
51
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
52
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
53
|
+
req.headers = {
|
54
|
+
**(req.headers || {}),
|
55
|
+
**@request_client.get_headers,
|
56
|
+
**(request_options&.additional_headers || {})
|
57
|
+
}.compact
|
58
|
+
req.params = {
|
59
|
+
**(request_options&.additional_query_parameters || {}),
|
60
|
+
"limit": limit,
|
61
|
+
"createdAtGt": created_at_gt,
|
62
|
+
"createdAtLt": created_at_lt,
|
63
|
+
"createdAtGe": created_at_ge,
|
64
|
+
"createdAtLe": created_at_le,
|
65
|
+
"updatedAtGt": updated_at_gt,
|
66
|
+
"updatedAtLt": updated_at_lt,
|
67
|
+
"updatedAtGe": updated_at_ge,
|
68
|
+
"updatedAtLe": updated_at_le
|
69
|
+
}.compact
|
70
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
71
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
72
|
+
end
|
73
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
|
74
|
+
end
|
75
|
+
parsed_json = JSON.parse(response.body)
|
76
|
+
parsed_json&.map do |item|
|
77
|
+
item = item.to_json
|
78
|
+
Vapi::KnowledgeBases::KnowledgeBasesListResponseItem.from_json(json_object: item)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# @param request [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
83
|
+
# @param request_options [Vapi::RequestOptions]
|
84
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
85
|
+
# @example
|
86
|
+
# api = Vapi::Client.new(
|
87
|
+
# base_url: "https://api.example.com",
|
88
|
+
# environment: Vapi::Environment::DEFAULT,
|
89
|
+
# token: "YOUR_AUTH_TOKEN"
|
90
|
+
# )
|
91
|
+
# api.knowledge_bases.create
|
92
|
+
def create(request:, request_options: nil)
|
93
|
+
response = @request_client.conn.post do |req|
|
94
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
95
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
96
|
+
req.headers = {
|
97
|
+
**(req.headers || {}),
|
98
|
+
**@request_client.get_headers,
|
99
|
+
**(request_options&.additional_headers || {})
|
100
|
+
}.compact
|
101
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
102
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
103
|
+
end
|
104
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
105
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
|
106
|
+
end
|
107
|
+
Vapi::KnowledgeBases::KnowledgeBasesCreateResponse.from_json(json_object: response.body)
|
108
|
+
end
|
109
|
+
|
110
|
+
# @param id [String]
|
111
|
+
# @param request_options [Vapi::RequestOptions]
|
112
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesGetResponse]
|
113
|
+
# @example
|
114
|
+
# api = Vapi::Client.new(
|
115
|
+
# base_url: "https://api.example.com",
|
116
|
+
# environment: Vapi::Environment::DEFAULT,
|
117
|
+
# token: "YOUR_AUTH_TOKEN"
|
118
|
+
# )
|
119
|
+
# api.knowledge_bases.get(id: "id")
|
120
|
+
def get(id:, request_options: nil)
|
121
|
+
response = @request_client.conn.get do |req|
|
122
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
123
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
124
|
+
req.headers = {
|
125
|
+
**(req.headers || {}),
|
126
|
+
**@request_client.get_headers,
|
127
|
+
**(request_options&.additional_headers || {})
|
128
|
+
}.compact
|
129
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
130
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
131
|
+
end
|
132
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
133
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
134
|
+
end
|
135
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
136
|
+
end
|
137
|
+
Vapi::KnowledgeBases::KnowledgeBasesGetResponse.from_json(json_object: response.body)
|
138
|
+
end
|
139
|
+
|
140
|
+
# @param id [String]
|
141
|
+
# @param request_options [Vapi::RequestOptions]
|
142
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
143
|
+
# @example
|
144
|
+
# api = Vapi::Client.new(
|
145
|
+
# base_url: "https://api.example.com",
|
146
|
+
# environment: Vapi::Environment::DEFAULT,
|
147
|
+
# token: "YOUR_AUTH_TOKEN"
|
148
|
+
# )
|
149
|
+
# api.knowledge_bases.delete(id: "id")
|
150
|
+
def delete(id:, request_options: nil)
|
151
|
+
response = @request_client.conn.delete do |req|
|
152
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
153
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
154
|
+
req.headers = {
|
155
|
+
**(req.headers || {}),
|
156
|
+
**@request_client.get_headers,
|
157
|
+
**(request_options&.additional_headers || {})
|
158
|
+
}.compact
|
159
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
160
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
161
|
+
end
|
162
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
163
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
164
|
+
end
|
165
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
166
|
+
end
|
167
|
+
Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse.from_json(json_object: response.body)
|
168
|
+
end
|
169
|
+
|
170
|
+
# @param id [String]
|
171
|
+
# @param request [Vapi::KnowledgeBases::KnowledgeBasesUpdateRequest]
|
172
|
+
# @param request_options [Vapi::RequestOptions]
|
173
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse]
|
174
|
+
# @example
|
175
|
+
# api = Vapi::Client.new(
|
176
|
+
# base_url: "https://api.example.com",
|
177
|
+
# environment: Vapi::Environment::DEFAULT,
|
178
|
+
# token: "YOUR_AUTH_TOKEN"
|
179
|
+
# )
|
180
|
+
# api.knowledge_bases.update(id: "id")
|
181
|
+
def update(id:, request:, request_options: nil)
|
182
|
+
response = @request_client.conn.patch do |req|
|
183
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
184
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
185
|
+
req.headers = {
|
186
|
+
**(req.headers || {}),
|
187
|
+
**@request_client.get_headers,
|
188
|
+
**(request_options&.additional_headers || {})
|
189
|
+
}.compact
|
190
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
191
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
192
|
+
end
|
193
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
194
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
195
|
+
end
|
196
|
+
Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse.from_json(json_object: response.body)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
class AsyncKnowledgeBasesClient
|
201
|
+
# @return [Vapi::AsyncRequestClient]
|
202
|
+
attr_reader :request_client
|
203
|
+
|
204
|
+
# @param request_client [Vapi::AsyncRequestClient]
|
205
|
+
# @return [Vapi::AsyncKnowledgeBasesClient]
|
206
|
+
def initialize(request_client:)
|
207
|
+
@request_client = request_client
|
208
|
+
end
|
209
|
+
|
210
|
+
# @param limit [Float] This is the maximum number of items to return. Defaults to 100.
|
211
|
+
# @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
|
212
|
+
# @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
|
213
|
+
# @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
|
214
|
+
# specified value.
|
215
|
+
# @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
|
216
|
+
# specified value.
|
217
|
+
# @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
|
218
|
+
# @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
|
219
|
+
# @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
|
220
|
+
# specified value.
|
221
|
+
# @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
|
222
|
+
# specified value.
|
223
|
+
# @param request_options [Vapi::RequestOptions]
|
224
|
+
# @return [Array<Vapi::KnowledgeBases::KnowledgeBasesListResponseItem>]
|
225
|
+
# @example
|
226
|
+
# api = Vapi::Client.new(
|
227
|
+
# base_url: "https://api.example.com",
|
228
|
+
# environment: Vapi::Environment::DEFAULT,
|
229
|
+
# token: "YOUR_AUTH_TOKEN"
|
230
|
+
# )
|
231
|
+
# api.knowledge_bases.list
|
232
|
+
def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
|
233
|
+
updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
|
234
|
+
Async do
|
235
|
+
response = @request_client.conn.get do |req|
|
236
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
237
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
238
|
+
req.headers = {
|
239
|
+
**(req.headers || {}),
|
240
|
+
**@request_client.get_headers,
|
241
|
+
**(request_options&.additional_headers || {})
|
242
|
+
}.compact
|
243
|
+
req.params = {
|
244
|
+
**(request_options&.additional_query_parameters || {}),
|
245
|
+
"limit": limit,
|
246
|
+
"createdAtGt": created_at_gt,
|
247
|
+
"createdAtLt": created_at_lt,
|
248
|
+
"createdAtGe": created_at_ge,
|
249
|
+
"createdAtLe": created_at_le,
|
250
|
+
"updatedAtGt": updated_at_gt,
|
251
|
+
"updatedAtLt": updated_at_lt,
|
252
|
+
"updatedAtGe": updated_at_ge,
|
253
|
+
"updatedAtLe": updated_at_le
|
254
|
+
}.compact
|
255
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
256
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
257
|
+
end
|
258
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
|
259
|
+
end
|
260
|
+
parsed_json = JSON.parse(response.body)
|
261
|
+
parsed_json&.map do |item|
|
262
|
+
item = item.to_json
|
263
|
+
Vapi::KnowledgeBases::KnowledgeBasesListResponseItem.from_json(json_object: item)
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
# @param request [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
269
|
+
# @param request_options [Vapi::RequestOptions]
|
270
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
271
|
+
# @example
|
272
|
+
# api = Vapi::Client.new(
|
273
|
+
# base_url: "https://api.example.com",
|
274
|
+
# environment: Vapi::Environment::DEFAULT,
|
275
|
+
# token: "YOUR_AUTH_TOKEN"
|
276
|
+
# )
|
277
|
+
# api.knowledge_bases.create
|
278
|
+
def create(request:, request_options: nil)
|
279
|
+
Async do
|
280
|
+
response = @request_client.conn.post do |req|
|
281
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
282
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
283
|
+
req.headers = {
|
284
|
+
**(req.headers || {}),
|
285
|
+
**@request_client.get_headers,
|
286
|
+
**(request_options&.additional_headers || {})
|
287
|
+
}.compact
|
288
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
289
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
290
|
+
end
|
291
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
292
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
|
293
|
+
end
|
294
|
+
Vapi::KnowledgeBases::KnowledgeBasesCreateResponse.from_json(json_object: response.body)
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
# @param id [String]
|
299
|
+
# @param request_options [Vapi::RequestOptions]
|
300
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesGetResponse]
|
301
|
+
# @example
|
302
|
+
# api = Vapi::Client.new(
|
303
|
+
# base_url: "https://api.example.com",
|
304
|
+
# environment: Vapi::Environment::DEFAULT,
|
305
|
+
# token: "YOUR_AUTH_TOKEN"
|
306
|
+
# )
|
307
|
+
# api.knowledge_bases.get(id: "id")
|
308
|
+
def get(id:, request_options: nil)
|
309
|
+
Async do
|
310
|
+
response = @request_client.conn.get do |req|
|
311
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
312
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
313
|
+
req.headers = {
|
314
|
+
**(req.headers || {}),
|
315
|
+
**@request_client.get_headers,
|
316
|
+
**(request_options&.additional_headers || {})
|
317
|
+
}.compact
|
318
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
319
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
320
|
+
end
|
321
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
322
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
323
|
+
end
|
324
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
325
|
+
end
|
326
|
+
Vapi::KnowledgeBases::KnowledgeBasesGetResponse.from_json(json_object: response.body)
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
# @param id [String]
|
331
|
+
# @param request_options [Vapi::RequestOptions]
|
332
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
333
|
+
# @example
|
334
|
+
# api = Vapi::Client.new(
|
335
|
+
# base_url: "https://api.example.com",
|
336
|
+
# environment: Vapi::Environment::DEFAULT,
|
337
|
+
# token: "YOUR_AUTH_TOKEN"
|
338
|
+
# )
|
339
|
+
# api.knowledge_bases.delete(id: "id")
|
340
|
+
def delete(id:, request_options: nil)
|
341
|
+
Async do
|
342
|
+
response = @request_client.conn.delete do |req|
|
343
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
344
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
345
|
+
req.headers = {
|
346
|
+
**(req.headers || {}),
|
347
|
+
**@request_client.get_headers,
|
348
|
+
**(request_options&.additional_headers || {})
|
349
|
+
}.compact
|
350
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
351
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
352
|
+
end
|
353
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
354
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
355
|
+
end
|
356
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
357
|
+
end
|
358
|
+
Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse.from_json(json_object: response.body)
|
359
|
+
end
|
360
|
+
end
|
361
|
+
|
362
|
+
# @param id [String]
|
363
|
+
# @param request [Vapi::KnowledgeBases::KnowledgeBasesUpdateRequest]
|
364
|
+
# @param request_options [Vapi::RequestOptions]
|
365
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse]
|
366
|
+
# @example
|
367
|
+
# api = Vapi::Client.new(
|
368
|
+
# base_url: "https://api.example.com",
|
369
|
+
# environment: Vapi::Environment::DEFAULT,
|
370
|
+
# token: "YOUR_AUTH_TOKEN"
|
371
|
+
# )
|
372
|
+
# api.knowledge_bases.update(id: "id")
|
373
|
+
def update(id:, request:, request_options: nil)
|
374
|
+
Async do
|
375
|
+
response = @request_client.conn.patch do |req|
|
376
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
377
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
378
|
+
req.headers = {
|
379
|
+
**(req.headers || {}),
|
380
|
+
**@request_client.get_headers,
|
381
|
+
**(request_options&.additional_headers || {})
|
382
|
+
}.compact
|
383
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
384
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
385
|
+
end
|
386
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
387
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
|
388
|
+
end
|
389
|
+
Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse.from_json(json_object: response.body)
|
390
|
+
end
|
391
|
+
end
|
392
|
+
end
|
393
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "../../types/create_trieve_knowledge_base_dto"
|
5
|
+
require_relative "../../types/create_custom_knowledge_base_dto"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class KnowledgeBases
|
9
|
+
class KnowledgeBasesCreateRequest
|
10
|
+
# @return [Object]
|
11
|
+
attr_reader :member
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :discriminant
|
14
|
+
|
15
|
+
private_class_method :new
|
16
|
+
alias kind_of? is_a?
|
17
|
+
|
18
|
+
# @param member [Object]
|
19
|
+
# @param discriminant [String]
|
20
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
21
|
+
def initialize(member:, discriminant:)
|
22
|
+
@member = member
|
23
|
+
@discriminant = discriminant
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of KnowledgeBasesCreateRequest
|
27
|
+
#
|
28
|
+
# @param json_object [String]
|
29
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
member = case struct.provider
|
33
|
+
when "trieve"
|
34
|
+
Vapi::CreateTrieveKnowledgeBaseDto.from_json(json_object: json_object)
|
35
|
+
when "custom-knowledge-base"
|
36
|
+
Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: json_object)
|
37
|
+
else
|
38
|
+
Vapi::CreateTrieveKnowledgeBaseDto.from_json(json_object: json_object)
|
39
|
+
end
|
40
|
+
new(member: member, discriminant: struct.provider)
|
41
|
+
end
|
42
|
+
|
43
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
44
|
+
#
|
45
|
+
# @return [String]
|
46
|
+
def to_json(*_args)
|
47
|
+
case @discriminant
|
48
|
+
when "trieve"
|
49
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
50
|
+
when "custom-knowledge-base"
|
51
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
52
|
+
else
|
53
|
+
{ "provider": @discriminant, value: @member }.to_json
|
54
|
+
end
|
55
|
+
@member.to_json
|
56
|
+
end
|
57
|
+
|
58
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
59
|
+
# hash and check each fields type against the current object's property
|
60
|
+
# definitions.
|
61
|
+
#
|
62
|
+
# @param obj [Object]
|
63
|
+
# @return [Void]
|
64
|
+
def self.validate_raw(obj:)
|
65
|
+
case obj.provider
|
66
|
+
when "trieve"
|
67
|
+
Vapi::CreateTrieveKnowledgeBaseDto.validate_raw(obj: obj)
|
68
|
+
when "custom-knowledge-base"
|
69
|
+
Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj)
|
70
|
+
else
|
71
|
+
raise("Passed value matched no type within the union, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
76
|
+
#
|
77
|
+
# @param obj [Object]
|
78
|
+
# @return [Boolean]
|
79
|
+
def is_a?(obj)
|
80
|
+
@member.is_a?(obj)
|
81
|
+
end
|
82
|
+
|
83
|
+
# @param member [Vapi::CreateTrieveKnowledgeBaseDto]
|
84
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
85
|
+
def self.trieve(member:)
|
86
|
+
new(member: member, discriminant: "trieve")
|
87
|
+
end
|
88
|
+
|
89
|
+
# @param member [Vapi::CreateCustomKnowledgeBaseDto]
|
90
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
|
91
|
+
def self.custom_knowledge_base(member:)
|
92
|
+
new(member: member, discriminant: "custom-knowledge-base")
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "../../types/trieve_knowledge_base"
|
5
|
+
require_relative "../../types/custom_knowledge_base"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class KnowledgeBases
|
9
|
+
class KnowledgeBasesCreateResponse
|
10
|
+
# @return [Object]
|
11
|
+
attr_reader :member
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :discriminant
|
14
|
+
|
15
|
+
private_class_method :new
|
16
|
+
alias kind_of? is_a?
|
17
|
+
|
18
|
+
# @param member [Object]
|
19
|
+
# @param discriminant [String]
|
20
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
21
|
+
def initialize(member:, discriminant:)
|
22
|
+
@member = member
|
23
|
+
@discriminant = discriminant
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of KnowledgeBasesCreateResponse
|
27
|
+
#
|
28
|
+
# @param json_object [String]
|
29
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
member = case struct.provider
|
33
|
+
when "trieve"
|
34
|
+
Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
|
35
|
+
when "custom-knowledge-base"
|
36
|
+
Vapi::CustomKnowledgeBase.from_json(json_object: json_object)
|
37
|
+
else
|
38
|
+
Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
|
39
|
+
end
|
40
|
+
new(member: member, discriminant: struct.provider)
|
41
|
+
end
|
42
|
+
|
43
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
44
|
+
#
|
45
|
+
# @return [String]
|
46
|
+
def to_json(*_args)
|
47
|
+
case @discriminant
|
48
|
+
when "trieve"
|
49
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
50
|
+
when "custom-knowledge-base"
|
51
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
52
|
+
else
|
53
|
+
{ "provider": @discriminant, value: @member }.to_json
|
54
|
+
end
|
55
|
+
@member.to_json
|
56
|
+
end
|
57
|
+
|
58
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
59
|
+
# hash and check each fields type against the current object's property
|
60
|
+
# definitions.
|
61
|
+
#
|
62
|
+
# @param obj [Object]
|
63
|
+
# @return [Void]
|
64
|
+
def self.validate_raw(obj:)
|
65
|
+
case obj.provider
|
66
|
+
when "trieve"
|
67
|
+
Vapi::TrieveKnowledgeBase.validate_raw(obj: obj)
|
68
|
+
when "custom-knowledge-base"
|
69
|
+
Vapi::CustomKnowledgeBase.validate_raw(obj: obj)
|
70
|
+
else
|
71
|
+
raise("Passed value matched no type within the union, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
76
|
+
#
|
77
|
+
# @param obj [Object]
|
78
|
+
# @return [Boolean]
|
79
|
+
def is_a?(obj)
|
80
|
+
@member.is_a?(obj)
|
81
|
+
end
|
82
|
+
|
83
|
+
# @param member [Vapi::TrieveKnowledgeBase]
|
84
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
85
|
+
def self.trieve(member:)
|
86
|
+
new(member: member, discriminant: "trieve")
|
87
|
+
end
|
88
|
+
|
89
|
+
# @param member [Vapi::CustomKnowledgeBase]
|
90
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
|
91
|
+
def self.custom_knowledge_base(member:)
|
92
|
+
new(member: member, discriminant: "custom-knowledge-base")
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "../../types/trieve_knowledge_base"
|
5
|
+
require_relative "../../types/custom_knowledge_base"
|
6
|
+
|
7
|
+
module Vapi
|
8
|
+
class KnowledgeBases
|
9
|
+
class KnowledgeBasesDeleteResponse
|
10
|
+
# @return [Object]
|
11
|
+
attr_reader :member
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :discriminant
|
14
|
+
|
15
|
+
private_class_method :new
|
16
|
+
alias kind_of? is_a?
|
17
|
+
|
18
|
+
# @param member [Object]
|
19
|
+
# @param discriminant [String]
|
20
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
21
|
+
def initialize(member:, discriminant:)
|
22
|
+
@member = member
|
23
|
+
@discriminant = discriminant
|
24
|
+
end
|
25
|
+
|
26
|
+
# Deserialize a JSON object to an instance of KnowledgeBasesDeleteResponse
|
27
|
+
#
|
28
|
+
# @param json_object [String]
|
29
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
30
|
+
def self.from_json(json_object:)
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
32
|
+
member = case struct.provider
|
33
|
+
when "trieve"
|
34
|
+
Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
|
35
|
+
when "custom-knowledge-base"
|
36
|
+
Vapi::CustomKnowledgeBase.from_json(json_object: json_object)
|
37
|
+
else
|
38
|
+
Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
|
39
|
+
end
|
40
|
+
new(member: member, discriminant: struct.provider)
|
41
|
+
end
|
42
|
+
|
43
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
44
|
+
#
|
45
|
+
# @return [String]
|
46
|
+
def to_json(*_args)
|
47
|
+
case @discriminant
|
48
|
+
when "trieve"
|
49
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
50
|
+
when "custom-knowledge-base"
|
51
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
52
|
+
else
|
53
|
+
{ "provider": @discriminant, value: @member }.to_json
|
54
|
+
end
|
55
|
+
@member.to_json
|
56
|
+
end
|
57
|
+
|
58
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
59
|
+
# hash and check each fields type against the current object's property
|
60
|
+
# definitions.
|
61
|
+
#
|
62
|
+
# @param obj [Object]
|
63
|
+
# @return [Void]
|
64
|
+
def self.validate_raw(obj:)
|
65
|
+
case obj.provider
|
66
|
+
when "trieve"
|
67
|
+
Vapi::TrieveKnowledgeBase.validate_raw(obj: obj)
|
68
|
+
when "custom-knowledge-base"
|
69
|
+
Vapi::CustomKnowledgeBase.validate_raw(obj: obj)
|
70
|
+
else
|
71
|
+
raise("Passed value matched no type within the union, validation failed.")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
76
|
+
#
|
77
|
+
# @param obj [Object]
|
78
|
+
# @return [Boolean]
|
79
|
+
def is_a?(obj)
|
80
|
+
@member.is_a?(obj)
|
81
|
+
end
|
82
|
+
|
83
|
+
# @param member [Vapi::TrieveKnowledgeBase]
|
84
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
85
|
+
def self.trieve(member:)
|
86
|
+
new(member: member, discriminant: "trieve")
|
87
|
+
end
|
88
|
+
|
89
|
+
# @param member [Vapi::CustomKnowledgeBase]
|
90
|
+
# @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
|
91
|
+
def self.custom_knowledge_base(member:)
|
92
|
+
new(member: member, discriminant: "custom-knowledge-base")
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|