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.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +129 -62
  4. data/lib/vapi_server_sdk/assistants/client.rb +15 -2
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  9. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  10. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +16 -4
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -8
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  14. data/lib/vapi_server_sdk/logs/client.rb +84 -0
  15. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  16. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  17. data/lib/vapi_server_sdk/squads/client.rb +8 -0
  18. data/lib/vapi_server_sdk/tools/client.rb +7 -91
  19. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  20. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  21. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  22. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  23. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  27. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  28. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  30. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  31. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  32. data/lib/vapi_server_sdk/types/azure_credential_region.rb +1 -1
  33. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  34. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  35. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -1
  36. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  37. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  38. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  39. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  40. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  41. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  42. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  43. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  44. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  45. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  46. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  47. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  48. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  49. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  50. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  51. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  52. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  53. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  54. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  55. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  56. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +1 -1
  57. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  58. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  59. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -1
  60. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  61. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  62. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  63. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  64. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  65. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  66. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  67. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  68. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  69. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  70. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  71. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  72. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  74. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  75. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  76. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  77. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  79. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  80. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  82. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  85. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  86. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  88. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  89. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  90. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  91. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  92. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  93. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  94. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  95. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  96. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  97. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  98. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  99. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  100. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  101. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  102. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  103. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  104. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  105. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  106. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  107. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  108. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  109. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  110. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  111. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  112. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  113. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  114. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  115. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  116. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  117. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  118. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  119. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/org.rb +25 -25
  122. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  123. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  124. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  125. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  126. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  127. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  128. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  129. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  130. data/lib/vapi_server_sdk/types/subscription.rb +2 -2
  131. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  132. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  133. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  134. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  135. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  136. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  137. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  138. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  139. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +1 -1
  140. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  141. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  142. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -1
  143. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  144. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  145. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  146. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  147. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  148. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  149. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  150. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  151. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  152. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  153. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  154. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  155. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  156. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  157. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  158. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  159. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  160. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  161. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  162. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  163. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  164. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  165. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  166. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  167. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  168. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  169. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  170. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  171. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  172. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  173. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  175. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  176. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  177. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  178. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  179. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  180. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  181. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  182. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  183. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  184. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  185. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  187. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  188. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  189. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  190. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  191. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  192. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  193. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  194. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  196. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  197. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  198. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  199. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  200. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  201. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  202. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  203. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  204. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  206. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  207. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  208. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  209. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  210. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  211. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  212. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  213. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  214. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  215. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  216. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  217. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  218. metadata +88 -21
  219. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  220. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  221. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  222. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  223. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  224. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  225. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  226. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  227. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +0 -55
  228. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  229. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  230. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +0 -55
  231. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +0 -55
  232. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  233. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "block_start_message"
5
+ require_relative "block_complete_message"
6
+
7
+ module Vapi
8
+ class UpdateToolCallBlockDtoMessagesItem
9
+ # @return [Object]
10
+ attr_reader :member
11
+ # @return [String]
12
+ attr_reader :discriminant
13
+
14
+ private_class_method :new
15
+ alias kind_of? is_a?
16
+
17
+ # @param member [Object]
18
+ # @param discriminant [String]
19
+ # @return [Vapi::UpdateToolCallBlockDtoMessagesItem]
20
+ def initialize(member:, discriminant:)
21
+ @member = member
22
+ @discriminant = discriminant
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of UpdateToolCallBlockDtoMessagesItem
26
+ #
27
+ # @param json_object [String]
28
+ # @return [Vapi::UpdateToolCallBlockDtoMessagesItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ member = case struct.type
32
+ when "block-start"
33
+ Vapi::BlockStartMessage.from_json(json_object: json_object)
34
+ when "block-complete"
35
+ Vapi::BlockCompleteMessage.from_json(json_object: json_object)
36
+ else
37
+ Vapi::BlockStartMessage.from_json(json_object: json_object)
38
+ end
39
+ new(member: member, discriminant: struct.type)
40
+ end
41
+
42
+ # For Union Types, to_json functionality is delegated to the wrapped member.
43
+ #
44
+ # @return [String]
45
+ def to_json(*_args)
46
+ case @discriminant
47
+ when "block-start"
48
+ { **@member.to_json, type: @discriminant }.to_json
49
+ when "block-complete"
50
+ { **@member.to_json, type: @discriminant }.to_json
51
+ else
52
+ { "type": @discriminant, value: @member }.to_json
53
+ end
54
+ @member.to_json
55
+ end
56
+
57
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
58
+ # hash and check each fields type against the current object's property
59
+ # definitions.
60
+ #
61
+ # @param obj [Object]
62
+ # @return [Void]
63
+ def self.validate_raw(obj:)
64
+ case obj.type
65
+ when "block-start"
66
+ Vapi::BlockStartMessage.validate_raw(obj: obj)
67
+ when "block-complete"
68
+ Vapi::BlockCompleteMessage.validate_raw(obj: obj)
69
+ else
70
+ raise("Passed value matched no type within the union, validation failed.")
71
+ end
72
+ end
73
+
74
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Boolean]
78
+ def is_a?(obj)
79
+ @member.is_a?(obj)
80
+ end
81
+
82
+ # @param member [Vapi::BlockStartMessage]
83
+ # @return [Vapi::UpdateToolCallBlockDtoMessagesItem]
84
+ def self.block_start(member:)
85
+ new(member: member, discriminant: "block-start")
86
+ end
87
+
88
+ # @param member [Vapi::BlockCompleteMessage]
89
+ # @return [Vapi::UpdateToolCallBlockDtoMessagesItem]
90
+ def self.block_complete(member:)
91
+ new(member: member, discriminant: "block-complete")
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "create_dtmf_tool_dto"
5
+ require_relative "create_end_call_tool_dto"
6
+ require_relative "create_voicemail_tool_dto"
7
+ require_relative "create_function_tool_dto"
8
+ require_relative "create_ghl_tool_dto"
9
+ require_relative "create_make_tool_dto"
10
+ require_relative "create_transfer_call_tool_dto"
11
+
12
+ module Vapi
13
+ # This is the tool that the block will call. To use an existing tool, use
14
+ # `toolId`.
15
+ class UpdateToolCallBlockDtoTool
16
+ # @return [Object]
17
+ attr_reader :member
18
+ # @return [String]
19
+ attr_reader :discriminant
20
+
21
+ private_class_method :new
22
+ alias kind_of? is_a?
23
+
24
+ # @param member [Object]
25
+ # @param discriminant [String]
26
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
27
+ def initialize(member:, discriminant:)
28
+ @member = member
29
+ @discriminant = discriminant
30
+ end
31
+
32
+ # Deserialize a JSON object to an instance of UpdateToolCallBlockDtoTool
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ member = case struct.type
39
+ when "dtmf"
40
+ Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
41
+ when "endCall"
42
+ Vapi::CreateEndCallToolDto.from_json(json_object: json_object)
43
+ when "voicemail"
44
+ Vapi::CreateVoicemailToolDto.from_json(json_object: json_object)
45
+ when "function"
46
+ Vapi::CreateFunctionToolDto.from_json(json_object: json_object)
47
+ when "ghl"
48
+ Vapi::CreateGhlToolDto.from_json(json_object: json_object)
49
+ when "make"
50
+ Vapi::CreateMakeToolDto.from_json(json_object: json_object)
51
+ when "transferCall"
52
+ Vapi::CreateTransferCallToolDto.from_json(json_object: json_object)
53
+ else
54
+ Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
55
+ end
56
+ new(member: member, discriminant: struct.type)
57
+ end
58
+
59
+ # For Union Types, to_json functionality is delegated to the wrapped member.
60
+ #
61
+ # @return [String]
62
+ def to_json(*_args)
63
+ case @discriminant
64
+ when "dtmf"
65
+ { **@member.to_json, type: @discriminant }.to_json
66
+ when "endCall"
67
+ { **@member.to_json, type: @discriminant }.to_json
68
+ when "voicemail"
69
+ { **@member.to_json, type: @discriminant }.to_json
70
+ when "function"
71
+ { **@member.to_json, type: @discriminant }.to_json
72
+ when "ghl"
73
+ { **@member.to_json, type: @discriminant }.to_json
74
+ when "make"
75
+ { **@member.to_json, type: @discriminant }.to_json
76
+ when "transferCall"
77
+ { **@member.to_json, type: @discriminant }.to_json
78
+ else
79
+ { "type": @discriminant, value: @member }.to_json
80
+ end
81
+ @member.to_json
82
+ end
83
+
84
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
85
+ # hash and check each fields type against the current object's property
86
+ # definitions.
87
+ #
88
+ # @param obj [Object]
89
+ # @return [Void]
90
+ def self.validate_raw(obj:)
91
+ case obj.type
92
+ when "dtmf"
93
+ Vapi::CreateDtmfToolDto.validate_raw(obj: obj)
94
+ when "endCall"
95
+ Vapi::CreateEndCallToolDto.validate_raw(obj: obj)
96
+ when "voicemail"
97
+ Vapi::CreateVoicemailToolDto.validate_raw(obj: obj)
98
+ when "function"
99
+ Vapi::CreateFunctionToolDto.validate_raw(obj: obj)
100
+ when "ghl"
101
+ Vapi::CreateGhlToolDto.validate_raw(obj: obj)
102
+ when "make"
103
+ Vapi::CreateMakeToolDto.validate_raw(obj: obj)
104
+ when "transferCall"
105
+ Vapi::CreateTransferCallToolDto.validate_raw(obj: obj)
106
+ else
107
+ raise("Passed value matched no type within the union, validation failed.")
108
+ end
109
+ end
110
+
111
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
112
+ #
113
+ # @param obj [Object]
114
+ # @return [Boolean]
115
+ def is_a?(obj)
116
+ @member.is_a?(obj)
117
+ end
118
+
119
+ # @param member [Vapi::CreateDtmfToolDto]
120
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
121
+ def self.dtmf(member:)
122
+ new(member: member, discriminant: "dtmf")
123
+ end
124
+
125
+ # @param member [Vapi::CreateEndCallToolDto]
126
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
127
+ def self.end_call(member:)
128
+ new(member: member, discriminant: "endCall")
129
+ end
130
+
131
+ # @param member [Vapi::CreateVoicemailToolDto]
132
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
133
+ def self.voicemail(member:)
134
+ new(member: member, discriminant: "voicemail")
135
+ end
136
+
137
+ # @param member [Vapi::CreateFunctionToolDto]
138
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
139
+ def self.function(member:)
140
+ new(member: member, discriminant: "function")
141
+ end
142
+
143
+ # @param member [Vapi::CreateGhlToolDto]
144
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
145
+ def self.ghl(member:)
146
+ new(member: member, discriminant: "ghl")
147
+ end
148
+
149
+ # @param member [Vapi::CreateMakeToolDto]
150
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
151
+ def self.make(member:)
152
+ new(member: member, discriminant: "make")
153
+ end
154
+
155
+ # @param member [Vapi::CreateTransferCallToolDto]
156
+ # @return [Vapi::UpdateToolCallBlockDtoTool]
157
+ def self.transfer_call(member:)
158
+ new(member: member, discriminant: "transferCall")
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_transfer_call_tool_dto_messages_item"
4
+ require_relative "update_transfer_call_tool_dto_destinations_item"
5
+ require_relative "open_ai_function"
6
+ require_relative "server"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Vapi
11
+ class UpdateTransferCallToolDto
12
+ # @return [Boolean] This determines if the tool is async.
13
+ # If async, the assistant will move forward without waiting for your server to
14
+ # respond. This is useful if you just want to trigger something on your server.
15
+ # If sync, the assistant will wait for your server to respond. This is useful if
16
+ # want assistant to respond with the result from your server.
17
+ # Defaults to synchronous (`false`).
18
+ attr_reader :async
19
+ # @return [Array<Vapi::UpdateTransferCallToolDtoMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
20
+ # For some tools, this is auto-filled based on special fields like
21
+ # `tool.destinations`. For others like the function tool, these can be custom
22
+ # configured.
23
+ attr_reader :messages
24
+ # @return [Array<Vapi::UpdateTransferCallToolDtoDestinationsItem>] These are the destinations that the call can be transferred to. If no
25
+ # destinations are provided, server.url will be used to get the transfer
26
+ # destination once the tool is called.
27
+ attr_reader :destinations
28
+ # @return [Vapi::OpenAiFunction] This is the function definition of the tool.
29
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
30
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
31
+ # provide a custom function definition for advanced use cases.
32
+ # An example of an advanced use case is if you want to customize the message
33
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
34
+ # argument "reason". Then, in `messages` array, you can have many
35
+ # "request-complete" messages. One of these messages will be triggered if the
36
+ # `messages[].conditions` matches the "reason" argument.
37
+ attr_reader :function
38
+ # @return [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
39
+ # All requests will be sent with the call object among other things. You can find
40
+ # more details in the Server URL documentation.
41
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
42
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
43
+ # phoneNumber.serverUrl, then org.serverUrl.
44
+ attr_reader :server
45
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
46
+ attr_reader :additional_properties
47
+ # @return [Object]
48
+ attr_reader :_field_set
49
+ protected :_field_set
50
+
51
+ OMIT = Object.new
52
+
53
+ # @param async [Boolean] This determines if the tool is async.
54
+ # If async, the assistant will move forward without waiting for your server to
55
+ # respond. This is useful if you just want to trigger something on your server.
56
+ # If sync, the assistant will wait for your server to respond. This is useful if
57
+ # want assistant to respond with the result from your server.
58
+ # Defaults to synchronous (`false`).
59
+ # @param messages [Array<Vapi::UpdateTransferCallToolDtoMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
60
+ # For some tools, this is auto-filled based on special fields like
61
+ # `tool.destinations`. For others like the function tool, these can be custom
62
+ # configured.
63
+ # @param destinations [Array<Vapi::UpdateTransferCallToolDtoDestinationsItem>] These are the destinations that the call can be transferred to. If no
64
+ # destinations are provided, server.url will be used to get the transfer
65
+ # destination once the tool is called.
66
+ # @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
67
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
68
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
69
+ # provide a custom function definition for advanced use cases.
70
+ # An example of an advanced use case is if you want to customize the message
71
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
72
+ # argument "reason". Then, in `messages` array, you can have many
73
+ # "request-complete" messages. One of these messages will be triggered if the
74
+ # `messages[].conditions` matches the "reason" argument.
75
+ # @param server [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
76
+ # All requests will be sent with the call object among other things. You can find
77
+ # more details in the Server URL documentation.
78
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
79
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
80
+ # phoneNumber.serverUrl, then org.serverUrl.
81
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
+ # @return [Vapi::UpdateTransferCallToolDto]
83
+ def initialize(async: OMIT, messages: OMIT, destinations: OMIT, function: OMIT, server: OMIT,
84
+ additional_properties: nil)
85
+ @async = async if async != OMIT
86
+ @messages = messages if messages != OMIT
87
+ @destinations = destinations if destinations != OMIT
88
+ @function = function if function != OMIT
89
+ @server = server if server != OMIT
90
+ @additional_properties = additional_properties
91
+ @_field_set = {
92
+ "async": async,
93
+ "messages": messages,
94
+ "destinations": destinations,
95
+ "function": function,
96
+ "server": server
97
+ }.reject do |_k, v|
98
+ v == OMIT
99
+ end
100
+ end
101
+
102
+ # Deserialize a JSON object to an instance of UpdateTransferCallToolDto
103
+ #
104
+ # @param json_object [String]
105
+ # @return [Vapi::UpdateTransferCallToolDto]
106
+ def self.from_json(json_object:)
107
+ struct = JSON.parse(json_object, object_class: OpenStruct)
108
+ parsed_json = JSON.parse(json_object)
109
+ async = parsed_json["async"]
110
+ messages = parsed_json["messages"]&.map do |item|
111
+ item = item.to_json
112
+ Vapi::UpdateTransferCallToolDtoMessagesItem.from_json(json_object: item)
113
+ end
114
+ destinations = parsed_json["destinations"]&.map do |item|
115
+ item = item.to_json
116
+ Vapi::UpdateTransferCallToolDtoDestinationsItem.from_json(json_object: item)
117
+ end
118
+ if parsed_json["function"].nil?
119
+ function = nil
120
+ else
121
+ function = parsed_json["function"].to_json
122
+ function = Vapi::OpenAiFunction.from_json(json_object: function)
123
+ end
124
+ if parsed_json["server"].nil?
125
+ server = nil
126
+ else
127
+ server = parsed_json["server"].to_json
128
+ server = Vapi::Server.from_json(json_object: server)
129
+ end
130
+ new(
131
+ async: async,
132
+ messages: messages,
133
+ destinations: destinations,
134
+ function: function,
135
+ server: server,
136
+ additional_properties: struct
137
+ )
138
+ end
139
+
140
+ # Serialize an instance of UpdateTransferCallToolDto to a JSON object
141
+ #
142
+ # @return [String]
143
+ def to_json(*_args)
144
+ @_field_set&.to_json
145
+ end
146
+
147
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
148
+ # hash and check each fields type against the current object's property
149
+ # definitions.
150
+ #
151
+ # @param obj [Object]
152
+ # @return [Void]
153
+ def self.validate_raw(obj:)
154
+ obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
155
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
156
+ obj.destinations&.is_a?(Array) != false || raise("Passed value for field obj.destinations is not the expected type, validation failed.")
157
+ obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
158
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_assistant"
5
+ require_relative "transfer_destination_step"
6
+ require_relative "transfer_destination_number"
7
+ require_relative "transfer_destination_sip"
8
+
9
+ module Vapi
10
+ class UpdateTransferCallToolDtoDestinationsItem
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # UpdateTransferCallToolDtoDestinationsItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "assistant"
36
+ Vapi::TransferDestinationAssistant.from_json(json_object: json_object)
37
+ when "step"
38
+ Vapi::TransferDestinationStep.from_json(json_object: json_object)
39
+ when "number"
40
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
41
+ when "sip"
42
+ Vapi::TransferDestinationSip.from_json(json_object: json_object)
43
+ else
44
+ Vapi::TransferDestinationAssistant.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.type)
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 "assistant"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "step"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ when "number"
59
+ { **@member.to_json, type: @discriminant }.to_json
60
+ when "sip"
61
+ { **@member.to_json, type: @discriminant }.to_json
62
+ else
63
+ { "type": @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.type
76
+ when "assistant"
77
+ Vapi::TransferDestinationAssistant.validate_raw(obj: obj)
78
+ when "step"
79
+ Vapi::TransferDestinationStep.validate_raw(obj: obj)
80
+ when "number"
81
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
82
+ when "sip"
83
+ Vapi::TransferDestinationSip.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::TransferDestinationAssistant]
98
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
99
+ def self.assistant(member:)
100
+ new(member: member, discriminant: "assistant")
101
+ end
102
+
103
+ # @param member [Vapi::TransferDestinationStep]
104
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
105
+ def self.step(member:)
106
+ new(member: member, discriminant: "step")
107
+ end
108
+
109
+ # @param member [Vapi::TransferDestinationNumber]
110
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
111
+ def self.number(member:)
112
+ new(member: member, discriminant: "number")
113
+ end
114
+
115
+ # @param member [Vapi::TransferDestinationSip]
116
+ # @return [Vapi::UpdateTransferCallToolDtoDestinationsItem]
117
+ def self.sip(member:)
118
+ new(member: member, discriminant: "sip")
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "tool_message_start"
5
+ require_relative "tool_message_complete"
6
+ require_relative "tool_message_failed"
7
+ require_relative "tool_message_delayed"
8
+
9
+ module Vapi
10
+ class UpdateTransferCallToolDtoMessagesItem
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # UpdateTransferCallToolDtoMessagesItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "request-start"
36
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
37
+ when "request-complete"
38
+ Vapi::ToolMessageComplete.from_json(json_object: json_object)
39
+ when "request-failed"
40
+ Vapi::ToolMessageFailed.from_json(json_object: json_object)
41
+ when "request-response-delayed"
42
+ Vapi::ToolMessageDelayed.from_json(json_object: json_object)
43
+ else
44
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.type)
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 "request-start"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "request-complete"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ when "request-failed"
59
+ { **@member.to_json, type: @discriminant }.to_json
60
+ when "request-response-delayed"
61
+ { **@member.to_json, type: @discriminant }.to_json
62
+ else
63
+ { "type": @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.type
76
+ when "request-start"
77
+ Vapi::ToolMessageStart.validate_raw(obj: obj)
78
+ when "request-complete"
79
+ Vapi::ToolMessageComplete.validate_raw(obj: obj)
80
+ when "request-failed"
81
+ Vapi::ToolMessageFailed.validate_raw(obj: obj)
82
+ when "request-response-delayed"
83
+ Vapi::ToolMessageDelayed.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::ToolMessageStart]
98
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
99
+ def self.request_start(member:)
100
+ new(member: member, discriminant: "request-start")
101
+ end
102
+
103
+ # @param member [Vapi::ToolMessageComplete]
104
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
105
+ def self.request_complete(member:)
106
+ new(member: member, discriminant: "request-complete")
107
+ end
108
+
109
+ # @param member [Vapi::ToolMessageFailed]
110
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
111
+ def self.request_failed(member:)
112
+ new(member: member, discriminant: "request-failed")
113
+ end
114
+
115
+ # @param member [Vapi::ToolMessageDelayed]
116
+ # @return [Vapi::UpdateTransferCallToolDtoMessagesItem]
117
+ def self.request_response_delayed(member:)
118
+ new(member: member, discriminant: "request-response-delayed")
119
+ end
120
+ end
121
+ end