vapi_server_sdk 0.2.0 → 0.4.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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +160 -68
  4. data/lib/vapi_server_sdk/analytics/client.rb +0 -14
  5. data/lib/vapi_server_sdk/assistants/client.rb +19 -72
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  10. data/lib/vapi_server_sdk/blocks/client.rb +7 -236
  11. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  12. data/lib/vapi_server_sdk/calls/client.rb +22 -74
  13. data/lib/vapi_server_sdk/files/client.rb +0 -70
  14. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -78
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  16. data/lib/vapi_server_sdk/logs/client.rb +75 -22
  17. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  18. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -139
  19. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  20. data/lib/vapi_server_sdk/squads/client.rb +16 -70
  21. data/lib/vapi_server_sdk/tools/client.rb +7 -161
  22. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  23. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  27. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  28. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  30. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  31. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  32. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  33. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  34. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  35. data/lib/vapi_server_sdk/types/azure_credential_region.rb +5 -3
  36. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  37. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  38. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +5 -3
  39. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  40. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  41. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  42. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  43. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  44. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  45. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  46. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  47. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  48. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  49. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  50. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  51. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  52. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  53. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  54. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  55. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  56. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  57. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  58. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  59. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  60. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  61. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  62. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  63. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  64. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  65. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  66. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +5 -3
  67. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  68. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  69. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +5 -3
  70. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  71. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  72. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  74. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  75. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  76. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  77. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  79. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  80. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  82. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  85. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  86. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  88. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  89. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  90. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  91. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  92. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  93. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  94. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  95. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  96. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  97. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  98. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  99. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  100. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  101. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  102. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  103. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  104. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  105. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  106. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  107. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +87 -0
  108. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +81 -0
  109. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  110. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  111. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  112. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  113. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  114. data/lib/vapi_server_sdk/types/edge.rb +80 -0
  115. data/lib/vapi_server_sdk/types/edge_condition.rb +94 -0
  116. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  117. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  118. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  119. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  122. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  123. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  124. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  125. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  126. data/lib/vapi_server_sdk/types/gather.rb +87 -0
  127. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  128. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  129. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  130. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  131. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  132. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  133. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  134. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  135. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  136. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  137. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  138. data/lib/vapi_server_sdk/types/json_schema.rb +13 -2
  139. data/lib/vapi_server_sdk/types/log.rb +18 -18
  140. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  141. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  142. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  143. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  144. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  145. data/lib/vapi_server_sdk/types/org.rb +25 -25
  146. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  147. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_remove_dto.rb → programmatic_edge_condition.rb} +16 -14
  148. data/lib/vapi_server_sdk/types/say.rb +72 -0
  149. data/lib/vapi_server_sdk/types/{payment_retry_dto.rb → semantic_edge_condition.rb} +16 -14
  150. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  151. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  152. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  153. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  154. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  155. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  156. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  157. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  158. data/lib/vapi_server_sdk/types/subscription.rb +13 -11
  159. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  160. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  161. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  162. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  163. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  164. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  165. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  166. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  167. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  168. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_buy_dto.rb → trieve_knowledge_base_import.rb} +14 -14
  169. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +9 -11
  170. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan_search_type.rb → trieve_knowledge_base_search_plan_search_type.rb} +1 -1
  171. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  172. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  173. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  175. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  176. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +5 -3
  177. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  178. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  179. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +5 -3
  180. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  181. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  182. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  183. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  184. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  185. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  187. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  188. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  189. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  190. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  191. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  192. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +137 -0
  193. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  194. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  196. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  197. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  198. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  199. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  200. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  201. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  202. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  203. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  204. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  206. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  207. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  208. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  209. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  210. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  211. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  212. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  213. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  214. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  215. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  216. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  217. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  218. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  219. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  220. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  221. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  222. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  223. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  224. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  225. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  226. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  227. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  228. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  229. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  230. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  231. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  232. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  233. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  234. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  235. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  236. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  237. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  238. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  239. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  240. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +96 -0
  241. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  242. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  243. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  244. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  245. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  246. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  247. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  248. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  249. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  250. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  251. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  252. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  253. data/lib/vapi_server_sdk/types/update_workflow_dto.rb +82 -0
  254. data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +81 -0
  255. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  256. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  257. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  258. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  259. data/lib/vapi_server_sdk/types/workflow.rb +125 -0
  260. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +81 -0
  261. metadata +116 -24
  262. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  263. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  264. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  265. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  266. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  267. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  268. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  269. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  270. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  271. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  272. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  273. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -0,0 +1,169 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_vapi_phone_number_dto_fallback_destination"
4
+ require_relative "server"
5
+ require_relative "sip_authentication"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class UpdateVapiPhoneNumberDto
11
+ # @return [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
12
+ # 1. `assistantId` is not set
13
+ # 2. `squadId` is not set
14
+ # 3. and, `assistant-request` message to the `serverUrl` fails
15
+ # If this is not set and above conditions are met, the inbound call is hung up
16
+ # with an error message.
17
+ attr_reader :fallback_destination
18
+ # @return [String] This is the name of the phone number. This is just for your own reference.
19
+ attr_reader :name
20
+ # @return [String] This is the assistant that will be used for incoming calls to this phone number.
21
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
22
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
23
+ # shape of the message and response that is expected.
24
+ attr_reader :assistant_id
25
+ # @return [String] This is the squad that will be used for incoming calls to this phone number.
26
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
27
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
28
+ # shape of the message and response that is expected.
29
+ attr_reader :squad_id
30
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
31
+ # with their shape in ServerMessage schema.
32
+ # The order of precedence is:
33
+ # 1. assistant.server
34
+ # 2. phoneNumber.server
35
+ # 3. org.server
36
+ attr_reader :server
37
+ # @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
38
+ # attached to this number will answer.
39
+ # This is case-insensitive.
40
+ attr_reader :sip_uri
41
+ # @return [Vapi::SipAuthentication] This enables authentication for incoming SIP INVITE requests to the `sipUri`.
42
+ # If not set, any username/password to the 401 challenge of the SIP INVITE will be
43
+ # accepted.
44
+ attr_reader :authentication
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 fallback_destination [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
54
+ # 1. `assistantId` is not set
55
+ # 2. `squadId` is not set
56
+ # 3. and, `assistant-request` message to the `serverUrl` fails
57
+ # If this is not set and above conditions are met, the inbound call is hung up
58
+ # with an error message.
59
+ # @param name [String] This is the name of the phone number. This is just for your own reference.
60
+ # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
61
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
62
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
63
+ # shape of the message and response that is expected.
64
+ # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
65
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
66
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
67
+ # shape of the message and response that is expected.
68
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
69
+ # with their shape in ServerMessage schema.
70
+ # The order of precedence is:
71
+ # 1. assistant.server
72
+ # 2. phoneNumber.server
73
+ # 3. org.server
74
+ # @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
75
+ # attached to this number will answer.
76
+ # This is case-insensitive.
77
+ # @param authentication [Vapi::SipAuthentication] This enables authentication for incoming SIP INVITE requests to the `sipUri`.
78
+ # If not set, any username/password to the 401 challenge of the SIP INVITE will be
79
+ # accepted.
80
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
81
+ # @return [Vapi::UpdateVapiPhoneNumberDto]
82
+ def initialize(fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT, server: OMIT,
83
+ sip_uri: OMIT, authentication: OMIT, additional_properties: nil)
84
+ @fallback_destination = fallback_destination if fallback_destination != OMIT
85
+ @name = name if name != OMIT
86
+ @assistant_id = assistant_id if assistant_id != OMIT
87
+ @squad_id = squad_id if squad_id != OMIT
88
+ @server = server if server != OMIT
89
+ @sip_uri = sip_uri if sip_uri != OMIT
90
+ @authentication = authentication if authentication != OMIT
91
+ @additional_properties = additional_properties
92
+ @_field_set = {
93
+ "fallbackDestination": fallback_destination,
94
+ "name": name,
95
+ "assistantId": assistant_id,
96
+ "squadId": squad_id,
97
+ "server": server,
98
+ "sipUri": sip_uri,
99
+ "authentication": authentication
100
+ }.reject do |_k, v|
101
+ v == OMIT
102
+ end
103
+ end
104
+
105
+ # Deserialize a JSON object to an instance of UpdateVapiPhoneNumberDto
106
+ #
107
+ # @param json_object [String]
108
+ # @return [Vapi::UpdateVapiPhoneNumberDto]
109
+ def self.from_json(json_object:)
110
+ struct = JSON.parse(json_object, object_class: OpenStruct)
111
+ parsed_json = JSON.parse(json_object)
112
+ if parsed_json["fallbackDestination"].nil?
113
+ fallback_destination = nil
114
+ else
115
+ fallback_destination = parsed_json["fallbackDestination"].to_json
116
+ fallback_destination = Vapi::UpdateVapiPhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
117
+ end
118
+ name = parsed_json["name"]
119
+ assistant_id = parsed_json["assistantId"]
120
+ squad_id = parsed_json["squadId"]
121
+ if parsed_json["server"].nil?
122
+ server = nil
123
+ else
124
+ server = parsed_json["server"].to_json
125
+ server = Vapi::Server.from_json(json_object: server)
126
+ end
127
+ sip_uri = parsed_json["sipUri"]
128
+ if parsed_json["authentication"].nil?
129
+ authentication = nil
130
+ else
131
+ authentication = parsed_json["authentication"].to_json
132
+ authentication = Vapi::SipAuthentication.from_json(json_object: authentication)
133
+ end
134
+ new(
135
+ fallback_destination: fallback_destination,
136
+ name: name,
137
+ assistant_id: assistant_id,
138
+ squad_id: squad_id,
139
+ server: server,
140
+ sip_uri: sip_uri,
141
+ authentication: authentication,
142
+ additional_properties: struct
143
+ )
144
+ end
145
+
146
+ # Serialize an instance of UpdateVapiPhoneNumberDto to a JSON object
147
+ #
148
+ # @return [String]
149
+ def to_json(*_args)
150
+ @_field_set&.to_json
151
+ end
152
+
153
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
154
+ # hash and check each fields type against the current object's property
155
+ # definitions.
156
+ #
157
+ # @param obj [Object]
158
+ # @return [Void]
159
+ def self.validate_raw(obj:)
160
+ obj.fallback_destination.nil? || Vapi::UpdateVapiPhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
161
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
162
+ obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
163
+ obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
164
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
165
+ obj.sip_uri&.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
166
+ obj.authentication.nil? || Vapi::SipAuthentication.validate_raw(obj: obj.authentication)
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_number"
5
+ require_relative "transfer_destination_sip"
6
+
7
+ module Vapi
8
+ # This is the fallback destination an inbound call will be transferred to if:
9
+ # 1. `assistantId` is not set
10
+ # 2. `squadId` is not set
11
+ # 3. and, `assistant-request` message to the `serverUrl` fails
12
+ # If this is not set and above conditions are met, the inbound call is hung up
13
+ # with an error message.
14
+ class UpdateVapiPhoneNumberDtoFallbackDestination
15
+ # @return [Object]
16
+ attr_reader :member
17
+ # @return [String]
18
+ attr_reader :discriminant
19
+
20
+ private_class_method :new
21
+ alias kind_of? is_a?
22
+
23
+ # @param member [Object]
24
+ # @param discriminant [String]
25
+ # @return [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of
32
+ # UpdateVapiPhoneNumberDtoFallbackDestination
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ member = case struct.type
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::TransferDestinationNumber.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 "number"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "sip"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ else
59
+ { "type": @discriminant, value: @member }.to_json
60
+ end
61
+ @member.to_json
62
+ end
63
+
64
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
65
+ # hash and check each fields type against the current object's property
66
+ # definitions.
67
+ #
68
+ # @param obj [Object]
69
+ # @return [Void]
70
+ def self.validate_raw(obj:)
71
+ case obj.type
72
+ when "number"
73
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
74
+ when "sip"
75
+ Vapi::TransferDestinationSip.validate_raw(obj: obj)
76
+ else
77
+ raise("Passed value matched no type within the union, validation failed.")
78
+ end
79
+ end
80
+
81
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
82
+ #
83
+ # @param obj [Object]
84
+ # @return [Boolean]
85
+ def is_a?(obj)
86
+ @member.is_a?(obj)
87
+ end
88
+
89
+ # @param member [Vapi::TransferDestinationNumber]
90
+ # @return [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination]
91
+ def self.number(member:)
92
+ new(member: member, discriminant: "number")
93
+ end
94
+
95
+ # @param member [Vapi::TransferDestinationSip]
96
+ # @return [Vapi::UpdateVapiPhoneNumberDtoFallbackDestination]
97
+ def self.sip(member:)
98
+ new(member: member, discriminant: "sip")
99
+ end
100
+ end
101
+ end
@@ -5,14 +5,12 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class UpdateVonageCredentialDto
8
- # @return [String]
9
- attr_reader :provider
10
8
  # @return [String] This is not returned in the API.
11
9
  attr_reader :api_secret
12
- # @return [String]
13
- attr_reader :api_key
14
10
  # @return [String] This is the name of credential. This is just for your reference.
15
11
  attr_reader :name
12
+ # @return [String]
13
+ attr_reader :api_key
16
14
  # @return [OpenStruct] Additional properties unmapped to the current class definition
17
15
  attr_reader :additional_properties
18
16
  # @return [Object]
@@ -21,24 +19,17 @@ module Vapi
21
19
 
22
20
  OMIT = Object.new
23
21
 
24
- # @param provider [String]
25
22
  # @param api_secret [String] This is not returned in the API.
26
- # @param api_key [String]
27
23
  # @param name [String] This is the name of credential. This is just for your reference.
24
+ # @param api_key [String]
28
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
26
  # @return [Vapi::UpdateVonageCredentialDto]
30
- def initialize(provider:, api_secret:, api_key:, name: OMIT, additional_properties: nil)
31
- @provider = provider
32
- @api_secret = api_secret
33
- @api_key = api_key
27
+ def initialize(api_secret: OMIT, name: OMIT, api_key: OMIT, additional_properties: nil)
28
+ @api_secret = api_secret if api_secret != OMIT
34
29
  @name = name if name != OMIT
30
+ @api_key = api_key if api_key != OMIT
35
31
  @additional_properties = additional_properties
36
- @_field_set = {
37
- "provider": provider,
38
- "apiSecret": api_secret,
39
- "apiKey": api_key,
40
- "name": name
41
- }.reject do |_k, v|
32
+ @_field_set = { "apiSecret": api_secret, "name": name, "apiKey": api_key }.reject do |_k, v|
42
33
  v == OMIT
43
34
  end
44
35
  end
@@ -50,15 +41,13 @@ module Vapi
50
41
  def self.from_json(json_object:)
51
42
  struct = JSON.parse(json_object, object_class: OpenStruct)
52
43
  parsed_json = JSON.parse(json_object)
53
- provider = parsed_json["provider"]
54
44
  api_secret = parsed_json["apiSecret"]
55
- api_key = parsed_json["apiKey"]
56
45
  name = parsed_json["name"]
46
+ api_key = parsed_json["apiKey"]
57
47
  new(
58
- provider: provider,
59
48
  api_secret: api_secret,
60
- api_key: api_key,
61
49
  name: name,
50
+ api_key: api_key,
62
51
  additional_properties: struct
63
52
  )
64
53
  end
@@ -77,10 +66,9 @@ module Vapi
77
66
  # @param obj [Object]
78
67
  # @return [Void]
79
68
  def self.validate_raw(obj:)
80
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
81
- obj.api_secret.is_a?(String) != false || raise("Passed value for field obj.api_secret is not the expected type, validation failed.")
82
- obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
69
+ obj.api_secret&.is_a?(String) != false || raise("Passed value for field obj.api_secret is not the expected type, validation failed.")
83
70
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
71
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
84
72
  end
85
73
  end
86
74
  end
@@ -0,0 +1,157 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_vonage_phone_number_dto_fallback_destination"
4
+ require_relative "server"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class UpdateVonagePhoneNumberDto
10
+ # @return [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
11
+ # 1. `assistantId` is not set
12
+ # 2. `squadId` is not set
13
+ # 3. and, `assistant-request` message to the `serverUrl` fails
14
+ # If this is not set and above conditions are met, the inbound call is hung up
15
+ # with an error message.
16
+ attr_reader :fallback_destination
17
+ # @return [String] This is the name of the phone number. This is just for your own reference.
18
+ attr_reader :name
19
+ # @return [String] This is the assistant that will be used for incoming calls to this phone number.
20
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
21
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
22
+ # shape of the message and response that is expected.
23
+ attr_reader :assistant_id
24
+ # @return [String] This is the squad that will be used for incoming calls to this phone number.
25
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
26
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
27
+ # shape of the message and response that is expected.
28
+ attr_reader :squad_id
29
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
30
+ # with their shape in ServerMessage schema.
31
+ # The order of precedence is:
32
+ # 1. assistant.server
33
+ # 2. phoneNumber.server
34
+ # 3. org.server
35
+ attr_reader :server
36
+ # @return [String] These are the digits of the phone number you own on your Vonage.
37
+ attr_reader :number
38
+ # @return [String] This is the credential that is used to make outgoing calls, and do operations
39
+ # like call transfer and hang up.
40
+ attr_reader :credential_id
41
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
42
+ attr_reader :additional_properties
43
+ # @return [Object]
44
+ attr_reader :_field_set
45
+ protected :_field_set
46
+
47
+ OMIT = Object.new
48
+
49
+ # @param fallback_destination [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination] This is the fallback destination an inbound call will be transferred to if:
50
+ # 1. `assistantId` is not set
51
+ # 2. `squadId` is not set
52
+ # 3. and, `assistant-request` message to the `serverUrl` fails
53
+ # If this is not set and above conditions are met, the inbound call is hung up
54
+ # with an error message.
55
+ # @param name [String] This is the name of the phone number. This is just for your own reference.
56
+ # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
57
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
58
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
59
+ # shape of the message and response that is expected.
60
+ # @param squad_id [String] This is the squad that will be used for incoming calls to this phone number.
61
+ # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
62
+ # to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the
63
+ # shape of the message and response that is expected.
64
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
65
+ # with their shape in ServerMessage schema.
66
+ # The order of precedence is:
67
+ # 1. assistant.server
68
+ # 2. phoneNumber.server
69
+ # 3. org.server
70
+ # @param number [String] These are the digits of the phone number you own on your Vonage.
71
+ # @param credential_id [String] This is the credential that is used to make outgoing calls, and do operations
72
+ # like call transfer and hang up.
73
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
74
+ # @return [Vapi::UpdateVonagePhoneNumberDto]
75
+ def initialize(fallback_destination: OMIT, name: OMIT, assistant_id: OMIT, squad_id: OMIT, server: OMIT,
76
+ number: OMIT, credential_id: OMIT, additional_properties: nil)
77
+ @fallback_destination = fallback_destination if fallback_destination != OMIT
78
+ @name = name if name != OMIT
79
+ @assistant_id = assistant_id if assistant_id != OMIT
80
+ @squad_id = squad_id if squad_id != OMIT
81
+ @server = server if server != OMIT
82
+ @number = number if number != OMIT
83
+ @credential_id = credential_id if credential_id != OMIT
84
+ @additional_properties = additional_properties
85
+ @_field_set = {
86
+ "fallbackDestination": fallback_destination,
87
+ "name": name,
88
+ "assistantId": assistant_id,
89
+ "squadId": squad_id,
90
+ "server": server,
91
+ "number": number,
92
+ "credentialId": credential_id
93
+ }.reject do |_k, v|
94
+ v == OMIT
95
+ end
96
+ end
97
+
98
+ # Deserialize a JSON object to an instance of UpdateVonagePhoneNumberDto
99
+ #
100
+ # @param json_object [String]
101
+ # @return [Vapi::UpdateVonagePhoneNumberDto]
102
+ def self.from_json(json_object:)
103
+ struct = JSON.parse(json_object, object_class: OpenStruct)
104
+ parsed_json = JSON.parse(json_object)
105
+ if parsed_json["fallbackDestination"].nil?
106
+ fallback_destination = nil
107
+ else
108
+ fallback_destination = parsed_json["fallbackDestination"].to_json
109
+ fallback_destination = Vapi::UpdateVonagePhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
110
+ end
111
+ name = parsed_json["name"]
112
+ assistant_id = parsed_json["assistantId"]
113
+ squad_id = parsed_json["squadId"]
114
+ if parsed_json["server"].nil?
115
+ server = nil
116
+ else
117
+ server = parsed_json["server"].to_json
118
+ server = Vapi::Server.from_json(json_object: server)
119
+ end
120
+ number = parsed_json["number"]
121
+ credential_id = parsed_json["credentialId"]
122
+ new(
123
+ fallback_destination: fallback_destination,
124
+ name: name,
125
+ assistant_id: assistant_id,
126
+ squad_id: squad_id,
127
+ server: server,
128
+ number: number,
129
+ credential_id: credential_id,
130
+ additional_properties: struct
131
+ )
132
+ end
133
+
134
+ # Serialize an instance of UpdateVonagePhoneNumberDto to a JSON object
135
+ #
136
+ # @return [String]
137
+ def to_json(*_args)
138
+ @_field_set&.to_json
139
+ end
140
+
141
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
142
+ # hash and check each fields type against the current object's property
143
+ # definitions.
144
+ #
145
+ # @param obj [Object]
146
+ # @return [Void]
147
+ def self.validate_raw(obj:)
148
+ obj.fallback_destination.nil? || Vapi::UpdateVonagePhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
149
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
150
+ obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
151
+ obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
152
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
153
+ obj.number&.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
154
+ obj.credential_id&.is_a?(String) != false || raise("Passed value for field obj.credential_id is not the expected type, validation failed.")
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_number"
5
+ require_relative "transfer_destination_sip"
6
+
7
+ module Vapi
8
+ # This is the fallback destination an inbound call will be transferred to if:
9
+ # 1. `assistantId` is not set
10
+ # 2. `squadId` is not set
11
+ # 3. and, `assistant-request` message to the `serverUrl` fails
12
+ # If this is not set and above conditions are met, the inbound call is hung up
13
+ # with an error message.
14
+ class UpdateVonagePhoneNumberDtoFallbackDestination
15
+ # @return [Object]
16
+ attr_reader :member
17
+ # @return [String]
18
+ attr_reader :discriminant
19
+
20
+ private_class_method :new
21
+ alias kind_of? is_a?
22
+
23
+ # @param member [Object]
24
+ # @param discriminant [String]
25
+ # @return [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of
32
+ # UpdateVonagePhoneNumberDtoFallbackDestination
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ member = case struct.type
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::TransferDestinationNumber.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 "number"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "sip"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ else
59
+ { "type": @discriminant, value: @member }.to_json
60
+ end
61
+ @member.to_json
62
+ end
63
+
64
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
65
+ # hash and check each fields type against the current object's property
66
+ # definitions.
67
+ #
68
+ # @param obj [Object]
69
+ # @return [Void]
70
+ def self.validate_raw(obj:)
71
+ case obj.type
72
+ when "number"
73
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
74
+ when "sip"
75
+ Vapi::TransferDestinationSip.validate_raw(obj: obj)
76
+ else
77
+ raise("Passed value matched no type within the union, validation failed.")
78
+ end
79
+ end
80
+
81
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
82
+ #
83
+ # @param obj [Object]
84
+ # @return [Boolean]
85
+ def is_a?(obj)
86
+ @member.is_a?(obj)
87
+ end
88
+
89
+ # @param member [Vapi::TransferDestinationNumber]
90
+ # @return [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination]
91
+ def self.number(member:)
92
+ new(member: member, discriminant: "number")
93
+ end
94
+
95
+ # @param member [Vapi::TransferDestinationSip]
96
+ # @return [Vapi::UpdateVonagePhoneNumberDtoFallbackDestination]
97
+ def self.sip(member:)
98
+ new(member: member, discriminant: "sip")
99
+ end
100
+ end
101
+ end