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 "handoff_step"
5
+ require_relative "callback_step"
6
+
7
+ module Vapi
8
+ class UpdateWorkflowBlockDtoStepsItem
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::UpdateWorkflowBlockDtoStepsItem]
20
+ def initialize(member:, discriminant:)
21
+ @member = member
22
+ @discriminant = discriminant
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of UpdateWorkflowBlockDtoStepsItem
26
+ #
27
+ # @param json_object [String]
28
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ member = case struct.type
32
+ when "handoff"
33
+ Vapi::HandoffStep.from_json(json_object: json_object)
34
+ when "callback"
35
+ Vapi::CallbackStep.from_json(json_object: json_object)
36
+ else
37
+ Vapi::HandoffStep.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 "handoff"
48
+ { **@member.to_json, type: @discriminant }.to_json
49
+ when "callback"
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 "handoff"
66
+ Vapi::HandoffStep.validate_raw(obj: obj)
67
+ when "callback"
68
+ Vapi::CallbackStep.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::HandoffStep]
83
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
84
+ def self.handoff(member:)
85
+ new(member: member, discriminant: "handoff")
86
+ end
87
+
88
+ # @param member [Vapi::CallbackStep]
89
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
90
+ def self.callback(member:)
91
+ new(member: member, discriminant: "callback")
92
+ end
93
+ end
94
+ end
@@ -5,9 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class UpdateXAiCredentialDto
8
- # @return [String] This is the api key for Grok in XAi's console. Get it from here:
9
- # https://console.x.ai
10
- attr_reader :provider
11
8
  # @return [String] This is not returned in the API.
12
9
  attr_reader :api_key
13
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -20,18 +17,15 @@ module Vapi
20
17
 
21
18
  OMIT = Object.new
22
19
 
23
- # @param provider [String] This is the api key for Grok in XAi's console. Get it from here:
24
- # https://console.x.ai
25
20
  # @param api_key [String] This is not returned in the API.
26
21
  # @param name [String] This is the name of credential. This is just for your reference.
27
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
23
  # @return [Vapi::UpdateXAiCredentialDto]
29
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
30
- @provider = provider
31
- @api_key = api_key
24
+ def initialize(api_key: OMIT, name: OMIT, additional_properties: nil)
25
+ @api_key = api_key if api_key != OMIT
32
26
  @name = name if name != OMIT
33
27
  @additional_properties = additional_properties
34
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
35
29
  v == OMIT
36
30
  end
37
31
  end
@@ -43,11 +37,9 @@ module Vapi
43
37
  def self.from_json(json_object:)
44
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
45
39
  parsed_json = JSON.parse(json_object)
46
- provider = parsed_json["provider"]
47
40
  api_key = parsed_json["apiKey"]
48
41
  name = parsed_json["name"]
49
42
  new(
50
- provider: provider,
51
43
  api_key: api_key,
52
44
  name: name,
53
45
  additional_properties: struct
@@ -68,8 +60,7 @@ module Vapi
68
60
  # @param obj [Object]
69
61
  # @return [Void]
70
62
  def self.validate_raw(obj:)
71
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
72
- obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
63
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
73
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
74
65
  end
75
66
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "vapi_phone_number_fallback_destination"
4
4
  require "date"
5
+ require_relative "server"
5
6
  require_relative "sip_authentication"
6
7
  require "ostruct"
7
8
  require "json"
@@ -35,16 +36,13 @@ module Vapi
35
36
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
36
37
  # shape of the message and response that is expected.
37
38
  attr_reader :squad_id
38
- # @return [String] This is the server URL where messages will be sent for calls on this number.
39
- # This includes the `assistant-request` message.
40
- # You can see the shape of the messages sent in `ServerMessage`.
41
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
42
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
43
- attr_reader :server_url
44
- # @return [String] This is the secret Vapi will send with every message to your server. It's sent
45
- # as a header called x-vapi-secret.
46
- # Same precedence logic as serverUrl.
47
- attr_reader :server_url_secret
39
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
40
+ # with their shape in ServerMessage schema.
41
+ # The order of precedence is:
42
+ # 1. assistant.server
43
+ # 2. phoneNumber.server
44
+ # 3. org.server
45
+ attr_reader :server
48
46
  # @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
49
47
  # attached to this number will answer.
50
48
  # This is case-insensitive.
@@ -80,14 +78,12 @@ module Vapi
80
78
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
81
79
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
82
80
  # shape of the message and response that is expected.
83
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
84
- # This includes the `assistant-request` message.
85
- # You can see the shape of the messages sent in `ServerMessage`.
86
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
87
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
88
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
89
- # as a header called x-vapi-secret.
90
- # Same precedence logic as serverUrl.
81
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
82
+ # with their shape in ServerMessage schema.
83
+ # The order of precedence is:
84
+ # 1. assistant.server
85
+ # 2. phoneNumber.server
86
+ # 3. org.server
91
87
  # @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
92
88
  # attached to this number will answer.
93
89
  # This is case-insensitive.
@@ -97,7 +93,7 @@ module Vapi
97
93
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
98
94
  # @return [Vapi::VapiPhoneNumber]
99
95
  def initialize(id:, org_id:, created_at:, updated_at:, sip_uri:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
100
- squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, authentication: OMIT, additional_properties: nil)
96
+ squad_id: OMIT, server: OMIT, authentication: OMIT, additional_properties: nil)
101
97
  @fallback_destination = fallback_destination if fallback_destination != OMIT
102
98
  @id = id
103
99
  @org_id = org_id
@@ -106,8 +102,7 @@ module Vapi
106
102
  @name = name if name != OMIT
107
103
  @assistant_id = assistant_id if assistant_id != OMIT
108
104
  @squad_id = squad_id if squad_id != OMIT
109
- @server_url = server_url if server_url != OMIT
110
- @server_url_secret = server_url_secret if server_url_secret != OMIT
105
+ @server = server if server != OMIT
111
106
  @sip_uri = sip_uri
112
107
  @authentication = authentication if authentication != OMIT
113
108
  @additional_properties = additional_properties
@@ -120,8 +115,7 @@ module Vapi
120
115
  "name": name,
121
116
  "assistantId": assistant_id,
122
117
  "squadId": squad_id,
123
- "serverUrl": server_url,
124
- "serverUrlSecret": server_url_secret,
118
+ "server": server,
125
119
  "sipUri": sip_uri,
126
120
  "authentication": authentication
127
121
  }.reject do |_k, v|
@@ -149,8 +143,12 @@ module Vapi
149
143
  name = parsed_json["name"]
150
144
  assistant_id = parsed_json["assistantId"]
151
145
  squad_id = parsed_json["squadId"]
152
- server_url = parsed_json["serverUrl"]
153
- server_url_secret = parsed_json["serverUrlSecret"]
146
+ if parsed_json["server"].nil?
147
+ server = nil
148
+ else
149
+ server = parsed_json["server"].to_json
150
+ server = Vapi::Server.from_json(json_object: server)
151
+ end
154
152
  sip_uri = parsed_json["sipUri"]
155
153
  if parsed_json["authentication"].nil?
156
154
  authentication = nil
@@ -167,8 +165,7 @@ module Vapi
167
165
  name: name,
168
166
  assistant_id: assistant_id,
169
167
  squad_id: squad_id,
170
- server_url: server_url,
171
- server_url_secret: server_url_secret,
168
+ server: server,
172
169
  sip_uri: sip_uri,
173
170
  authentication: authentication,
174
171
  additional_properties: struct
@@ -197,8 +194,7 @@ module Vapi
197
194
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
198
195
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
199
196
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
200
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
201
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
197
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
202
198
  obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
203
199
  obj.authentication.nil? || Vapi::SipAuthentication.validate_raw(obj: obj.authentication)
204
200
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "vonage_phone_number_fallback_destination"
4
4
  require "date"
5
+ require_relative "server"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
@@ -34,16 +35,13 @@ module Vapi
34
35
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
35
36
  # shape of the message and response that is expected.
36
37
  attr_reader :squad_id
37
- # @return [String] This is the server URL where messages will be sent for calls on this number.
38
- # This includes the `assistant-request` message.
39
- # You can see the shape of the messages sent in `ServerMessage`.
40
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
41
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
42
- attr_reader :server_url
43
- # @return [String] This is the secret Vapi will send with every message to your server. It's sent
44
- # as a header called x-vapi-secret.
45
- # Same precedence logic as serverUrl.
46
- attr_reader :server_url_secret
38
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
39
+ # with their shape in ServerMessage schema.
40
+ # The order of precedence is:
41
+ # 1. assistant.server
42
+ # 2. phoneNumber.server
43
+ # 3. org.server
44
+ attr_reader :server
47
45
  # @return [String] These are the digits of the phone number you own on your Vonage.
48
46
  attr_reader :number
49
47
  # @return [String] This is the credential that is used to make outgoing calls, and do operations
@@ -76,21 +74,19 @@ module Vapi
76
74
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
77
75
  # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
78
76
  # shape of the message and response that is expected.
79
- # @param server_url [String] This is the server URL where messages will be sent for calls on this number.
80
- # This includes the `assistant-request` message.
81
- # You can see the shape of the messages sent in `ServerMessage`.
82
- # This overrides the `org.serverUrl`. Order of precedence: tool.server.url >
83
- # assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
84
- # @param server_url_secret [String] This is the secret Vapi will send with every message to your server. It's sent
85
- # as a header called x-vapi-secret.
86
- # Same precedence logic as serverUrl.
77
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
78
+ # with their shape in ServerMessage schema.
79
+ # The order of precedence is:
80
+ # 1. assistant.server
81
+ # 2. phoneNumber.server
82
+ # 3. org.server
87
83
  # @param number [String] These are the digits of the phone number you own on your Vonage.
88
84
  # @param credential_id [String] This is the credential that is used to make outgoing calls, and do operations
89
85
  # like call transfer and hang up.
90
86
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
91
87
  # @return [Vapi::VonagePhoneNumber]
92
88
  def initialize(id:, org_id:, created_at:, updated_at:, number:, credential_id:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
93
- squad_id: OMIT, server_url: OMIT, server_url_secret: OMIT, additional_properties: nil)
89
+ squad_id: OMIT, server: OMIT, additional_properties: nil)
94
90
  @fallback_destination = fallback_destination if fallback_destination != OMIT
95
91
  @id = id
96
92
  @org_id = org_id
@@ -99,8 +95,7 @@ module Vapi
99
95
  @name = name if name != OMIT
100
96
  @assistant_id = assistant_id if assistant_id != OMIT
101
97
  @squad_id = squad_id if squad_id != OMIT
102
- @server_url = server_url if server_url != OMIT
103
- @server_url_secret = server_url_secret if server_url_secret != OMIT
98
+ @server = server if server != OMIT
104
99
  @number = number
105
100
  @credential_id = credential_id
106
101
  @additional_properties = additional_properties
@@ -113,8 +108,7 @@ module Vapi
113
108
  "name": name,
114
109
  "assistantId": assistant_id,
115
110
  "squadId": squad_id,
116
- "serverUrl": server_url,
117
- "serverUrlSecret": server_url_secret,
111
+ "server": server,
118
112
  "number": number,
119
113
  "credentialId": credential_id
120
114
  }.reject do |_k, v|
@@ -142,8 +136,12 @@ module Vapi
142
136
  name = parsed_json["name"]
143
137
  assistant_id = parsed_json["assistantId"]
144
138
  squad_id = parsed_json["squadId"]
145
- server_url = parsed_json["serverUrl"]
146
- server_url_secret = parsed_json["serverUrlSecret"]
139
+ if parsed_json["server"].nil?
140
+ server = nil
141
+ else
142
+ server = parsed_json["server"].to_json
143
+ server = Vapi::Server.from_json(json_object: server)
144
+ end
147
145
  number = parsed_json["number"]
148
146
  credential_id = parsed_json["credentialId"]
149
147
  new(
@@ -155,8 +153,7 @@ module Vapi
155
153
  name: name,
156
154
  assistant_id: assistant_id,
157
155
  squad_id: squad_id,
158
- server_url: server_url,
159
- server_url_secret: server_url_secret,
156
+ server: server,
160
157
  number: number,
161
158
  credential_id: credential_id,
162
159
  additional_properties: struct
@@ -185,8 +182,7 @@ module Vapi
185
182
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
186
183
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
187
184
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
188
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
189
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
185
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
190
186
  obj.number.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
191
187
  obj.credential_id.is_a?(String) != false || raise("Passed value for field obj.credential_id is not the expected type, validation failed.")
192
188
  end