vapi_server_sdk 0.2.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 +129 -62
- data/lib/vapi_server_sdk/assistants/client.rb +15 -2
- 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 +13 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -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 +16 -4
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -8
- data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
- data/lib/vapi_server_sdk/logs/client.rb +84 -0
- 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 +8 -0
- data/lib/vapi_server_sdk/tools/client.rb +7 -91
- data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
- data/lib/vapi_server_sdk/types/assistant.rb +19 -1
- data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
- data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
- data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
- data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
- data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +1 -1
- data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -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/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/call_ended_reason.rb +44 -29
- 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/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
- 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/create_anthropic_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
- 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 +13 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +1 -1
- 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 +10 -9
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -1
- 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 +1 -9
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
- data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -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 +2 -9
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
- data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
- 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 +2 -9
- data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
- data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
- 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 +25 -29
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
- 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 +2 -13
- data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
- 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/eleven_labs_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
- data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
- data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -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/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/google_model.rb +17 -1
- data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
- 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/open_ai_model_fallback_models_item.rb +6 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
- data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
- data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
- data/lib/vapi_server_sdk/types/org.rb +25 -25
- data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
- 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 +44 -29
- 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/subscription.rb +2 -2
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
- data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
- data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +1 -1
- 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 +25 -24
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -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 +13 -21
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -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 +4 -16
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -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 -18
- 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 +11 -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 +11 -23
- 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 +4 -11
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
- data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
- 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 +4 -11
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
- 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 +4 -11
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
- 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 +4 -11
- 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 +4 -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 +11 -23
- 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 +11 -23
- 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 +4 -13
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
- metadata +88 -21
- 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
- data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
- data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
- data/lib/vapi_server_sdk/types/payment.rb +0 -167
- data/lib/vapi_server_sdk/types/payment_retry_dto.rb +0 -55
- data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
- data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
- data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +0 -55
- data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +0 -55
- data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
- data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -8,7 +8,7 @@ require_relative "types/phone_numbers_create_request"
|
|
8
8
|
require_relative "types/phone_numbers_create_response"
|
9
9
|
require_relative "types/phone_numbers_get_response"
|
10
10
|
require_relative "types/phone_numbers_delete_response"
|
11
|
-
require_relative "types/
|
11
|
+
require_relative "types/phone_numbers_update_request"
|
12
12
|
require_relative "types/phone_numbers_update_response"
|
13
13
|
require "async"
|
14
14
|
|
@@ -168,29 +168,7 @@ module Vapi
|
|
168
168
|
end
|
169
169
|
|
170
170
|
# @param id [String]
|
171
|
-
# @param
|
172
|
-
# 1. `assistantId` is not set
|
173
|
-
# 2. `squadId` is not set
|
174
|
-
# 3. and, `assistant-request` message to the `serverUrl` fails
|
175
|
-
# If this is not set and above conditions are met, the inbound call is hung up
|
176
|
-
# with an error message.
|
177
|
-
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
178
|
-
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
179
|
-
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
180
|
-
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
181
|
-
# shape of the message and response that is expected.
|
182
|
-
# @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
|
183
|
-
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
184
|
-
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
185
|
-
# shape of the message and response that is expected.
|
186
|
-
# @param server_url [String] This is the server URL where messages will be sent for calls on this number.
|
187
|
-
# This includes the `assistant-request` message.
|
188
|
-
# You can see the shape of the messages sent in `ServerMessage`.
|
189
|
-
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
190
|
-
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
191
|
-
# @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
|
192
|
-
# as a header called x-vapi-secret.
|
193
|
-
# Same precedence logic as serverUrl.
|
171
|
+
# @param request [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
194
172
|
# @param request_options [Vapi::RequestOptions]
|
195
173
|
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
|
196
174
|
# @example
|
@@ -200,8 +178,7 @@ module Vapi
|
|
200
178
|
# token: "YOUR_AUTH_TOKEN"
|
201
179
|
# )
|
202
180
|
# api.phone_numbers.update(id: "id")
|
203
|
-
def update(id:,
|
204
|
-
server_url_secret: nil, request_options: nil)
|
181
|
+
def update(id:, request:, request_options: nil)
|
205
182
|
response = @request_client.conn.patch do |req|
|
206
183
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
207
184
|
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
@@ -213,15 +190,7 @@ module Vapi
|
|
213
190
|
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
214
191
|
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
215
192
|
end
|
216
|
-
req.body = {
|
217
|
-
**(request_options&.additional_body_parameters || {}),
|
218
|
-
fallbackDestination: fallback_destination,
|
219
|
-
name: name,
|
220
|
-
assistantId: assistant_id,
|
221
|
-
squadId: squad_id,
|
222
|
-
serverUrl: server_url,
|
223
|
-
serverUrlSecret: server_url_secret
|
224
|
-
}.compact
|
193
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
225
194
|
req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
|
226
195
|
end
|
227
196
|
Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
|
@@ -391,29 +360,7 @@ module Vapi
|
|
391
360
|
end
|
392
361
|
|
393
362
|
# @param id [String]
|
394
|
-
# @param
|
395
|
-
# 1. `assistantId` is not set
|
396
|
-
# 2. `squadId` is not set
|
397
|
-
# 3. and, `assistant-request` message to the `serverUrl` fails
|
398
|
-
# If this is not set and above conditions are met, the inbound call is hung up
|
399
|
-
# with an error message.
|
400
|
-
# @param name [String] This is the name of the phone number. This is just for your own reference.
|
401
|
-
# @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
|
402
|
-
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
403
|
-
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
404
|
-
# shape of the message and response that is expected.
|
405
|
-
# @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
|
406
|
-
# If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
|
407
|
-
# to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
|
408
|
-
# shape of the message and response that is expected.
|
409
|
-
# @param server_url [String] This is the server URL where messages will be sent for calls on this number.
|
410
|
-
# This includes the `assistant-request` message.
|
411
|
-
# You can see the shape of the messages sent in `ServerMessage`.
|
412
|
-
# This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
|
413
|
-
# assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
414
|
-
# @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
|
415
|
-
# as a header called x-vapi-secret.
|
416
|
-
# Same precedence logic as serverUrl.
|
363
|
+
# @param request [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
417
364
|
# @param request_options [Vapi::RequestOptions]
|
418
365
|
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateResponse]
|
419
366
|
# @example
|
@@ -423,8 +370,7 @@ module Vapi
|
|
423
370
|
# token: "YOUR_AUTH_TOKEN"
|
424
371
|
# )
|
425
372
|
# api.phone_numbers.update(id: "id")
|
426
|
-
def update(id:,
|
427
|
-
server_url_secret: nil, request_options: nil)
|
373
|
+
def update(id:, request:, request_options: nil)
|
428
374
|
Async do
|
429
375
|
response = @request_client.conn.patch do |req|
|
430
376
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -437,15 +383,7 @@ module Vapi
|
|
437
383
|
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
438
384
|
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
439
385
|
end
|
440
|
-
req.body = {
|
441
|
-
**(request_options&.additional_body_parameters || {}),
|
442
|
-
fallbackDestination: fallback_destination,
|
443
|
-
name: name,
|
444
|
-
assistantId: assistant_id,
|
445
|
-
squadId: squad_id,
|
446
|
-
serverUrl: server_url,
|
447
|
-
serverUrlSecret: server_url_secret
|
448
|
-
}.compact
|
386
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
449
387
|
req.url "#{@request_client.get_url(request_options: request_options)}/phone-number/#{id}"
|
450
388
|
end
|
451
389
|
Vapi::PhoneNumbers::PhoneNumbersUpdateResponse.from_json(json_object: response.body)
|
@@ -0,0 +1,122 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "../../types/update_byo_phone_number_dto"
|
5
|
+
require_relative "../../types/update_twilio_phone_number_dto"
|
6
|
+
require_relative "../../types/update_vonage_phone_number_dto"
|
7
|
+
require_relative "../../types/update_vapi_phone_number_dto"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class PhoneNumbers
|
11
|
+
class PhoneNumbersUpdateRequest
|
12
|
+
# @return [Object]
|
13
|
+
attr_reader :member
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :discriminant
|
16
|
+
|
17
|
+
private_class_method :new
|
18
|
+
alias kind_of? is_a?
|
19
|
+
|
20
|
+
# @param member [Object]
|
21
|
+
# @param discriminant [String]
|
22
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
23
|
+
def initialize(member:, discriminant:)
|
24
|
+
@member = member
|
25
|
+
@discriminant = discriminant
|
26
|
+
end
|
27
|
+
|
28
|
+
# Deserialize a JSON object to an instance of PhoneNumbersUpdateRequest
|
29
|
+
#
|
30
|
+
# @param json_object [String]
|
31
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
32
|
+
def self.from_json(json_object:)
|
33
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
34
|
+
member = case struct.provider
|
35
|
+
when "byo-phone-number"
|
36
|
+
Vapi::UpdateByoPhoneNumberDto.from_json(json_object: json_object)
|
37
|
+
when "twilio"
|
38
|
+
Vapi::UpdateTwilioPhoneNumberDto.from_json(json_object: json_object)
|
39
|
+
when "vonage"
|
40
|
+
Vapi::UpdateVonagePhoneNumberDto.from_json(json_object: json_object)
|
41
|
+
when "vapi"
|
42
|
+
Vapi::UpdateVapiPhoneNumberDto.from_json(json_object: json_object)
|
43
|
+
else
|
44
|
+
Vapi::UpdateByoPhoneNumberDto.from_json(json_object: json_object)
|
45
|
+
end
|
46
|
+
new(member: member, discriminant: struct.provider)
|
47
|
+
end
|
48
|
+
|
49
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
50
|
+
#
|
51
|
+
# @return [String]
|
52
|
+
def to_json(*_args)
|
53
|
+
case @discriminant
|
54
|
+
when "byo-phone-number"
|
55
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
56
|
+
when "twilio"
|
57
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
58
|
+
when "vonage"
|
59
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
60
|
+
when "vapi"
|
61
|
+
{ **@member.to_json, provider: @discriminant }.to_json
|
62
|
+
else
|
63
|
+
{ "provider": @discriminant, value: @member }.to_json
|
64
|
+
end
|
65
|
+
@member.to_json
|
66
|
+
end
|
67
|
+
|
68
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
69
|
+
# hash and check each fields type against the current object's property
|
70
|
+
# definitions.
|
71
|
+
#
|
72
|
+
# @param obj [Object]
|
73
|
+
# @return [Void]
|
74
|
+
def self.validate_raw(obj:)
|
75
|
+
case obj.provider
|
76
|
+
when "byo-phone-number"
|
77
|
+
Vapi::UpdateByoPhoneNumberDto.validate_raw(obj: obj)
|
78
|
+
when "twilio"
|
79
|
+
Vapi::UpdateTwilioPhoneNumberDto.validate_raw(obj: obj)
|
80
|
+
when "vonage"
|
81
|
+
Vapi::UpdateVonagePhoneNumberDto.validate_raw(obj: obj)
|
82
|
+
when "vapi"
|
83
|
+
Vapi::UpdateVapiPhoneNumberDto.validate_raw(obj: obj)
|
84
|
+
else
|
85
|
+
raise("Passed value matched no type within the union, validation failed.")
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
90
|
+
#
|
91
|
+
# @param obj [Object]
|
92
|
+
# @return [Boolean]
|
93
|
+
def is_a?(obj)
|
94
|
+
@member.is_a?(obj)
|
95
|
+
end
|
96
|
+
|
97
|
+
# @param member [Vapi::UpdateByoPhoneNumberDto]
|
98
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
99
|
+
def self.byo_phone_number(member:)
|
100
|
+
new(member: member, discriminant: "byo-phone-number")
|
101
|
+
end
|
102
|
+
|
103
|
+
# @param member [Vapi::UpdateTwilioPhoneNumberDto]
|
104
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
105
|
+
def self.twilio(member:)
|
106
|
+
new(member: member, discriminant: "twilio")
|
107
|
+
end
|
108
|
+
|
109
|
+
# @param member [Vapi::UpdateVonagePhoneNumberDto]
|
110
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
111
|
+
def self.vonage(member:)
|
112
|
+
new(member: member, discriminant: "vonage")
|
113
|
+
end
|
114
|
+
|
115
|
+
# @param member [Vapi::UpdateVapiPhoneNumberDto]
|
116
|
+
# @return [Vapi::PhoneNumbers::PhoneNumbersUpdateRequest]
|
117
|
+
def self.vapi(member:)
|
118
|
+
new(member: member, discriminant: "vapi")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -94,6 +94,7 @@ module Vapi
|
|
94
94
|
# * :background_denoising_enabled (Boolean)
|
95
95
|
# * :model_output_in_messages_enabled (Boolean)
|
96
96
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
97
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
97
98
|
# * :variable_values (Hash{String => Object})
|
98
99
|
# * :name (String)
|
99
100
|
# * :voicemail_detection (Hash)
|
@@ -268,6 +269,7 @@ module Vapi
|
|
268
269
|
# * :background_denoising_enabled (Boolean)
|
269
270
|
# * :model_output_in_messages_enabled (Boolean)
|
270
271
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
272
|
+
# * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
|
271
273
|
# * :name (String)
|
272
274
|
# * :voicemail_detection (Hash)
|
273
275
|
# * :provider (String)
|
@@ -349,6 +351,7 @@ module Vapi
|
|
349
351
|
# * :background_denoising_enabled (Boolean)
|
350
352
|
# * :model_output_in_messages_enabled (Boolean)
|
351
353
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
354
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
352
355
|
# * :variable_values (Hash{String => Object})
|
353
356
|
# * :name (String)
|
354
357
|
# * :voicemail_detection (Hash)
|
@@ -436,6 +439,7 @@ module Vapi
|
|
436
439
|
# * :background_denoising_enabled (Boolean)
|
437
440
|
# * :model_output_in_messages_enabled (Boolean)
|
438
441
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
442
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
439
443
|
# * :variable_values (Hash{String => Object})
|
440
444
|
# * :name (String)
|
441
445
|
# * :voicemail_detection (Hash)
|
@@ -622,6 +626,7 @@ module Vapi
|
|
622
626
|
# * :background_denoising_enabled (Boolean)
|
623
627
|
# * :model_output_in_messages_enabled (Boolean)
|
624
628
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
629
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
625
630
|
# * :variable_values (Hash{String => Object})
|
626
631
|
# * :name (String)
|
627
632
|
# * :voicemail_detection (Hash)
|
@@ -802,6 +807,7 @@ module Vapi
|
|
802
807
|
# * :background_denoising_enabled (Boolean)
|
803
808
|
# * :model_output_in_messages_enabled (Boolean)
|
804
809
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
810
|
+
# * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
|
805
811
|
# * :name (String)
|
806
812
|
# * :voicemail_detection (Hash)
|
807
813
|
# * :provider (String)
|
@@ -883,6 +889,7 @@ module Vapi
|
|
883
889
|
# * :background_denoising_enabled (Boolean)
|
884
890
|
# * :model_output_in_messages_enabled (Boolean)
|
885
891
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
892
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
886
893
|
# * :variable_values (Hash{String => Object})
|
887
894
|
# * :name (String)
|
888
895
|
# * :voicemail_detection (Hash)
|
@@ -970,6 +977,7 @@ module Vapi
|
|
970
977
|
# * :background_denoising_enabled (Boolean)
|
971
978
|
# * :model_output_in_messages_enabled (Boolean)
|
972
979
|
# * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
|
980
|
+
# * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
|
973
981
|
# * :variable_values (Hash{String => Object})
|
974
982
|
# * :name (String)
|
975
983
|
# * :voicemail_detection (Hash)
|
@@ -8,9 +8,7 @@ require_relative "types/tools_create_request"
|
|
8
8
|
require_relative "types/tools_create_response"
|
9
9
|
require_relative "types/tools_get_response"
|
10
10
|
require_relative "types/tools_delete_response"
|
11
|
-
require_relative "types/
|
12
|
-
require_relative "../types/open_ai_function"
|
13
|
-
require_relative "../types/server"
|
11
|
+
require_relative "types/tools_update_request"
|
14
12
|
require_relative "types/tools_update_response"
|
15
13
|
require "async"
|
16
14
|
|
@@ -170,42 +168,7 @@ module Vapi
|
|
170
168
|
end
|
171
169
|
|
172
170
|
# @param id [String]
|
173
|
-
# @param
|
174
|
-
# If async, the assistant will move forward without waiting for your server to
|
175
|
-
# respond. This is useful if you just want to trigger something on your server.
|
176
|
-
# If sync, the assistant will wait for your server to respond. This is useful if
|
177
|
-
# want assistant to respond with the result from your server.
|
178
|
-
# Defaults to synchronous (`false`).
|
179
|
-
# @param messages [Array<Hash>] These are the messages that will be spoken to the user as the tool is running.
|
180
|
-
# For some tools, this is auto-filled based on special fields like
|
181
|
-
# `tool.destinations`. For others like the function tool, these can be custom
|
182
|
-
# configured.Request of type Array<Vapi::Tools::UpdateToolDtoMessagesItem>, as a Hash
|
183
|
-
# @param function [Hash] This is the function definition of the tool.
|
184
|
-
# For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
|
185
|
-
# tool-specific fields like `tool.destinations`. But, even in those cases, you can
|
186
|
-
# provide a custom function definition for advanced use cases.
|
187
|
-
# An example of an advanced use case is if you want to customize the message
|
188
|
-
# that's spoken for `endCall` tool. You can specify a function where it returns an
|
189
|
-
# argument "reason". Then, in `messages` array, you can have many
|
190
|
-
# "request-complete" messages. One of these messages will be triggered if the
|
191
|
-
# `messages[].conditions` matches the "reason" argument.Request of type Vapi::OpenAiFunction, as a Hash
|
192
|
-
# * :strict (Boolean)
|
193
|
-
# * :name (String)
|
194
|
-
# * :description (String)
|
195
|
-
# * :parameters (Hash)
|
196
|
-
# * :type (String)
|
197
|
-
# * :properties (Hash{String => Vapi::JsonSchema})
|
198
|
-
# * :required (Array<String>)
|
199
|
-
# @param server [Hash] This is the server that will be hit when this tool is requested by the model.
|
200
|
-
# All requests will be sent with the call object among other things. You can find
|
201
|
-
# more details in the Server URL documentation.
|
202
|
-
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
203
|
-
# precedence: highest tool.server.url, then assistant.serverUrl, then
|
204
|
-
# phoneNumber.serverUrl, then org.serverUrl.Request of type Vapi::Server, as a Hash
|
205
|
-
# * :timeout_seconds (Float)
|
206
|
-
# * :url (String)
|
207
|
-
# * :secret (String)
|
208
|
-
# * :headers (Hash{String => Object})
|
171
|
+
# @param request [Vapi::Tools::ToolsUpdateRequest]
|
209
172
|
# @param request_options [Vapi::RequestOptions]
|
210
173
|
# @return [Vapi::Tools::ToolsUpdateResponse]
|
211
174
|
# @example
|
@@ -215,7 +178,7 @@ module Vapi
|
|
215
178
|
# token: "YOUR_AUTH_TOKEN"
|
216
179
|
# )
|
217
180
|
# api.tools.update(id: "id")
|
218
|
-
def update(id:,
|
181
|
+
def update(id:, request:, request_options: nil)
|
219
182
|
response = @request_client.conn.patch do |req|
|
220
183
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
221
184
|
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
@@ -227,13 +190,7 @@ module Vapi
|
|
227
190
|
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
228
191
|
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
229
192
|
end
|
230
|
-
req.body = {
|
231
|
-
**(request_options&.additional_body_parameters || {}),
|
232
|
-
async: async,
|
233
|
-
messages: messages,
|
234
|
-
function: function,
|
235
|
-
server: server
|
236
|
-
}.compact
|
193
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
237
194
|
req.url "#{@request_client.get_url(request_options: request_options)}/tool/#{id}"
|
238
195
|
end
|
239
196
|
Vapi::Tools::ToolsUpdateResponse.from_json(json_object: response.body)
|
@@ -403,42 +360,7 @@ module Vapi
|
|
403
360
|
end
|
404
361
|
|
405
362
|
# @param id [String]
|
406
|
-
# @param
|
407
|
-
# If async, the assistant will move forward without waiting for your server to
|
408
|
-
# respond. This is useful if you just want to trigger something on your server.
|
409
|
-
# If sync, the assistant will wait for your server to respond. This is useful if
|
410
|
-
# want assistant to respond with the result from your server.
|
411
|
-
# Defaults to synchronous (`false`).
|
412
|
-
# @param messages [Array<Hash>] These are the messages that will be spoken to the user as the tool is running.
|
413
|
-
# For some tools, this is auto-filled based on special fields like
|
414
|
-
# `tool.destinations`. For others like the function tool, these can be custom
|
415
|
-
# configured.Request of type Array<Vapi::Tools::UpdateToolDtoMessagesItem>, as a Hash
|
416
|
-
# @param function [Hash] This is the function definition of the tool.
|
417
|
-
# For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
|
418
|
-
# tool-specific fields like `tool.destinations`. But, even in those cases, you can
|
419
|
-
# provide a custom function definition for advanced use cases.
|
420
|
-
# An example of an advanced use case is if you want to customize the message
|
421
|
-
# that's spoken for `endCall` tool. You can specify a function where it returns an
|
422
|
-
# argument "reason". Then, in `messages` array, you can have many
|
423
|
-
# "request-complete" messages. One of these messages will be triggered if the
|
424
|
-
# `messages[].conditions` matches the "reason" argument.Request of type Vapi::OpenAiFunction, as a Hash
|
425
|
-
# * :strict (Boolean)
|
426
|
-
# * :name (String)
|
427
|
-
# * :description (String)
|
428
|
-
# * :parameters (Hash)
|
429
|
-
# * :type (String)
|
430
|
-
# * :properties (Hash{String => Vapi::JsonSchema})
|
431
|
-
# * :required (Array<String>)
|
432
|
-
# @param server [Hash] This is the server that will be hit when this tool is requested by the model.
|
433
|
-
# All requests will be sent with the call object among other things. You can find
|
434
|
-
# more details in the Server URL documentation.
|
435
|
-
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
436
|
-
# precedence: highest tool.server.url, then assistant.serverUrl, then
|
437
|
-
# phoneNumber.serverUrl, then org.serverUrl.Request of type Vapi::Server, as a Hash
|
438
|
-
# * :timeout_seconds (Float)
|
439
|
-
# * :url (String)
|
440
|
-
# * :secret (String)
|
441
|
-
# * :headers (Hash{String => Object})
|
363
|
+
# @param request [Vapi::Tools::ToolsUpdateRequest]
|
442
364
|
# @param request_options [Vapi::RequestOptions]
|
443
365
|
# @return [Vapi::Tools::ToolsUpdateResponse]
|
444
366
|
# @example
|
@@ -448,7 +370,7 @@ module Vapi
|
|
448
370
|
# token: "YOUR_AUTH_TOKEN"
|
449
371
|
# )
|
450
372
|
# api.tools.update(id: "id")
|
451
|
-
def update(id:,
|
373
|
+
def update(id:, request:, request_options: nil)
|
452
374
|
Async do
|
453
375
|
response = @request_client.conn.patch do |req|
|
454
376
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -461,13 +383,7 @@ module Vapi
|
|
461
383
|
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
462
384
|
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
463
385
|
end
|
464
|
-
req.body = {
|
465
|
-
**(request_options&.additional_body_parameters || {}),
|
466
|
-
async: async,
|
467
|
-
messages: messages,
|
468
|
-
function: function,
|
469
|
-
server: server
|
470
|
-
}.compact
|
386
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
471
387
|
req.url "#{@request_client.get_url(request_options: request_options)}/tool/#{id}"
|
472
388
|
end
|
473
389
|
Vapi::Tools::ToolsUpdateResponse.from_json(json_object: response.body)
|
@@ -0,0 +1,200 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "../../types/update_dtmf_tool_dto"
|
5
|
+
require_relative "../../types/update_end_call_tool_dto"
|
6
|
+
require_relative "../../types/update_function_tool_dto"
|
7
|
+
require_relative "../../types/update_ghl_tool_dto"
|
8
|
+
require_relative "../../types/update_make_tool_dto"
|
9
|
+
require_relative "../../types/update_transfer_call_tool_dto"
|
10
|
+
require_relative "../../types/update_output_tool_dto"
|
11
|
+
require_relative "../../types/update_bash_tool_dto"
|
12
|
+
require_relative "../../types/update_computer_tool_dto"
|
13
|
+
require_relative "../../types/update_text_editor_tool_dto"
|
14
|
+
|
15
|
+
module Vapi
|
16
|
+
class Tools
|
17
|
+
class ToolsUpdateRequest
|
18
|
+
# @return [Object]
|
19
|
+
attr_reader :member
|
20
|
+
# @return [String]
|
21
|
+
attr_reader :discriminant
|
22
|
+
|
23
|
+
private_class_method :new
|
24
|
+
alias kind_of? is_a?
|
25
|
+
|
26
|
+
# @param member [Object]
|
27
|
+
# @param discriminant [String]
|
28
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
29
|
+
def initialize(member:, discriminant:)
|
30
|
+
@member = member
|
31
|
+
@discriminant = discriminant
|
32
|
+
end
|
33
|
+
|
34
|
+
# Deserialize a JSON object to an instance of ToolsUpdateRequest
|
35
|
+
#
|
36
|
+
# @param json_object [String]
|
37
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
38
|
+
def self.from_json(json_object:)
|
39
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
40
|
+
member = case struct.type
|
41
|
+
when "dtmf"
|
42
|
+
Vapi::UpdateDtmfToolDto.from_json(json_object: json_object)
|
43
|
+
when "endCall"
|
44
|
+
Vapi::UpdateEndCallToolDto.from_json(json_object: json_object)
|
45
|
+
when "function"
|
46
|
+
Vapi::UpdateFunctionToolDto.from_json(json_object: json_object)
|
47
|
+
when "ghl"
|
48
|
+
Vapi::UpdateGhlToolDto.from_json(json_object: json_object)
|
49
|
+
when "make"
|
50
|
+
Vapi::UpdateMakeToolDto.from_json(json_object: json_object)
|
51
|
+
when "transferCall"
|
52
|
+
Vapi::UpdateTransferCallToolDto.from_json(json_object: json_object)
|
53
|
+
when "output"
|
54
|
+
Vapi::UpdateOutputToolDto.from_json(json_object: json_object)
|
55
|
+
when "bash"
|
56
|
+
Vapi::UpdateBashToolDto.from_json(json_object: json_object)
|
57
|
+
when "computer"
|
58
|
+
Vapi::UpdateComputerToolDto.from_json(json_object: json_object)
|
59
|
+
when "textEditor"
|
60
|
+
Vapi::UpdateTextEditorToolDto.from_json(json_object: json_object)
|
61
|
+
else
|
62
|
+
Vapi::UpdateDtmfToolDto.from_json(json_object: json_object)
|
63
|
+
end
|
64
|
+
new(member: member, discriminant: struct.type)
|
65
|
+
end
|
66
|
+
|
67
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
68
|
+
#
|
69
|
+
# @return [String]
|
70
|
+
def to_json(*_args)
|
71
|
+
case @discriminant
|
72
|
+
when "dtmf"
|
73
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
74
|
+
when "endCall"
|
75
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
76
|
+
when "function"
|
77
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
78
|
+
when "ghl"
|
79
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
80
|
+
when "make"
|
81
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
82
|
+
when "transferCall"
|
83
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
84
|
+
when "output"
|
85
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
86
|
+
when "bash"
|
87
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
88
|
+
when "computer"
|
89
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
90
|
+
when "textEditor"
|
91
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
92
|
+
else
|
93
|
+
{ "type": @discriminant, value: @member }.to_json
|
94
|
+
end
|
95
|
+
@member.to_json
|
96
|
+
end
|
97
|
+
|
98
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
99
|
+
# hash and check each fields type against the current object's property
|
100
|
+
# definitions.
|
101
|
+
#
|
102
|
+
# @param obj [Object]
|
103
|
+
# @return [Void]
|
104
|
+
def self.validate_raw(obj:)
|
105
|
+
case obj.type
|
106
|
+
when "dtmf"
|
107
|
+
Vapi::UpdateDtmfToolDto.validate_raw(obj: obj)
|
108
|
+
when "endCall"
|
109
|
+
Vapi::UpdateEndCallToolDto.validate_raw(obj: obj)
|
110
|
+
when "function"
|
111
|
+
Vapi::UpdateFunctionToolDto.validate_raw(obj: obj)
|
112
|
+
when "ghl"
|
113
|
+
Vapi::UpdateGhlToolDto.validate_raw(obj: obj)
|
114
|
+
when "make"
|
115
|
+
Vapi::UpdateMakeToolDto.validate_raw(obj: obj)
|
116
|
+
when "transferCall"
|
117
|
+
Vapi::UpdateTransferCallToolDto.validate_raw(obj: obj)
|
118
|
+
when "output"
|
119
|
+
Vapi::UpdateOutputToolDto.validate_raw(obj: obj)
|
120
|
+
when "bash"
|
121
|
+
Vapi::UpdateBashToolDto.validate_raw(obj: obj)
|
122
|
+
when "computer"
|
123
|
+
Vapi::UpdateComputerToolDto.validate_raw(obj: obj)
|
124
|
+
when "textEditor"
|
125
|
+
Vapi::UpdateTextEditorToolDto.validate_raw(obj: obj)
|
126
|
+
else
|
127
|
+
raise("Passed value matched no type within the union, validation failed.")
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
132
|
+
#
|
133
|
+
# @param obj [Object]
|
134
|
+
# @return [Boolean]
|
135
|
+
def is_a?(obj)
|
136
|
+
@member.is_a?(obj)
|
137
|
+
end
|
138
|
+
|
139
|
+
# @param member [Vapi::UpdateDtmfToolDto]
|
140
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
141
|
+
def self.dtmf(member:)
|
142
|
+
new(member: member, discriminant: "dtmf")
|
143
|
+
end
|
144
|
+
|
145
|
+
# @param member [Vapi::UpdateEndCallToolDto]
|
146
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
147
|
+
def self.end_call(member:)
|
148
|
+
new(member: member, discriminant: "endCall")
|
149
|
+
end
|
150
|
+
|
151
|
+
# @param member [Vapi::UpdateFunctionToolDto]
|
152
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
153
|
+
def self.function(member:)
|
154
|
+
new(member: member, discriminant: "function")
|
155
|
+
end
|
156
|
+
|
157
|
+
# @param member [Vapi::UpdateGhlToolDto]
|
158
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
159
|
+
def self.ghl(member:)
|
160
|
+
new(member: member, discriminant: "ghl")
|
161
|
+
end
|
162
|
+
|
163
|
+
# @param member [Vapi::UpdateMakeToolDto]
|
164
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
165
|
+
def self.make(member:)
|
166
|
+
new(member: member, discriminant: "make")
|
167
|
+
end
|
168
|
+
|
169
|
+
# @param member [Vapi::UpdateTransferCallToolDto]
|
170
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
171
|
+
def self.transfer_call(member:)
|
172
|
+
new(member: member, discriminant: "transferCall")
|
173
|
+
end
|
174
|
+
|
175
|
+
# @param member [Vapi::UpdateOutputToolDto]
|
176
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
177
|
+
def self.output(member:)
|
178
|
+
new(member: member, discriminant: "output")
|
179
|
+
end
|
180
|
+
|
181
|
+
# @param member [Vapi::UpdateBashToolDto]
|
182
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
183
|
+
def self.bash(member:)
|
184
|
+
new(member: member, discriminant: "bash")
|
185
|
+
end
|
186
|
+
|
187
|
+
# @param member [Vapi::UpdateComputerToolDto]
|
188
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
189
|
+
def self.computer(member:)
|
190
|
+
new(member: member, discriminant: "computer")
|
191
|
+
end
|
192
|
+
|
193
|
+
# @param member [Vapi::UpdateTextEditorToolDto]
|
194
|
+
# @return [Vapi::Tools::ToolsUpdateRequest]
|
195
|
+
def self.text_editor(member:)
|
196
|
+
new(member: member, discriminant: "textEditor")
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|