vapi_server_sdk 0.0.0.pre.alpha7

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 (541) hide show
  1. checksums.yaml +7 -0
  2. data/lib/core/file_utilities.rb +26 -0
  3. data/lib/environment.rb +7 -0
  4. data/lib/gemconfig.rb +14 -0
  5. data/lib/requests.rb +174 -0
  6. data/lib/types_export.rb +526 -0
  7. data/lib/vapi_server_sdk/analytics/client.rb +115 -0
  8. data/lib/vapi_server_sdk/assistants/client.rb +949 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +12 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +22 -0
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_first_message_mode.rb +21 -0
  12. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +201 -0
  13. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +23 -0
  14. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +110 -0
  15. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +188 -0
  16. data/lib/vapi_server_sdk/blocks/client.rb +552 -0
  17. data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +109 -0
  18. data/lib/vapi_server_sdk/blocks/types/blocks_create_response.rb +109 -0
  19. data/lib/vapi_server_sdk/blocks/types/blocks_delete_response.rb +109 -0
  20. data/lib/vapi_server_sdk/blocks/types/blocks_get_response.rb +109 -0
  21. data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +109 -0
  22. data/lib/vapi_server_sdk/blocks/types/blocks_update_response.rb +109 -0
  23. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +96 -0
  24. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +96 -0
  25. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +163 -0
  26. data/lib/vapi_server_sdk/calls/client.rb +966 -0
  27. data/lib/vapi_server_sdk/files/client.rb +347 -0
  28. data/lib/vapi_server_sdk/logs/client.rb +174 -0
  29. data/lib/vapi_server_sdk/logs/types/logs_get_request_sort_order.rb +10 -0
  30. data/lib/vapi_server_sdk/logs/types/logs_get_request_type.rb +12 -0
  31. data/lib/vapi_server_sdk/phone_numbers/client.rb +455 -0
  32. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +122 -0
  33. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +122 -0
  34. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +122 -0
  35. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +122 -0
  36. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +122 -0
  37. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +122 -0
  38. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +103 -0
  39. data/lib/vapi_server_sdk/squads/client.rb +1050 -0
  40. data/lib/vapi_server_sdk/tools/client.rb +473 -0
  41. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +161 -0
  42. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +161 -0
  43. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +161 -0
  44. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +161 -0
  45. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +161 -0
  46. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +161 -0
  47. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +122 -0
  48. data/lib/vapi_server_sdk/types/add_voice_to_provider_dto.rb +78 -0
  49. data/lib/vapi_server_sdk/types/analysis.rb +88 -0
  50. data/lib/vapi_server_sdk/types/analysis_cost.rb +93 -0
  51. data/lib/vapi_server_sdk/types/analysis_cost_analysis_type.rb +10 -0
  52. data/lib/vapi_server_sdk/types/analysis_cost_breakdown.rb +137 -0
  53. data/lib/vapi_server_sdk/types/analysis_plan.rb +103 -0
  54. data/lib/vapi_server_sdk/types/analytics_operation.rb +76 -0
  55. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +17 -0
  56. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +12 -0
  57. data/lib/vapi_server_sdk/types/analytics_query.rb +107 -0
  58. data/lib/vapi_server_sdk/types/analytics_query_group_by_item.rb +11 -0
  59. data/lib/vapi_server_sdk/types/analytics_query_result.rb +96 -0
  60. data/lib/vapi_server_sdk/types/anthropic_credential.rb +101 -0
  61. data/lib/vapi_server_sdk/types/anthropic_model.rb +170 -0
  62. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +11 -0
  63. data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +159 -0
  64. data/lib/vapi_server_sdk/types/anyscale_credential.rb +101 -0
  65. data/lib/vapi_server_sdk/types/anyscale_model.rb +169 -0
  66. data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +159 -0
  67. data/lib/vapi_server_sdk/types/artifact.rb +133 -0
  68. data/lib/vapi_server_sdk/types/artifact_messages_item.rb +96 -0
  69. data/lib/vapi_server_sdk/types/artifact_plan.rb +139 -0
  70. data/lib/vapi_server_sdk/types/assignment_mutation.rb +189 -0
  71. data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +94 -0
  72. data/lib/vapi_server_sdk/types/assistant.rb +562 -0
  73. data/lib/vapi_server_sdk/types/assistant_background_sound.rb +10 -0
  74. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +20 -0
  75. data/lib/vapi_server_sdk/types/assistant_first_message_mode.rb +19 -0
  76. data/lib/vapi_server_sdk/types/assistant_model.rb +199 -0
  77. data/lib/vapi_server_sdk/types/assistant_overrides.rb +539 -0
  78. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +10 -0
  79. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +20 -0
  80. data/lib/vapi_server_sdk/types/assistant_overrides_first_message_mode.rb +19 -0
  81. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +199 -0
  82. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +21 -0
  83. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +108 -0
  84. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +186 -0
  85. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +21 -0
  86. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +108 -0
  87. data/lib/vapi_server_sdk/types/assistant_voice.rb +186 -0
  88. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +128 -0
  89. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +14 -0
  90. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +21 -0
  91. data/lib/vapi_server_sdk/types/azure_voice.rb +104 -0
  92. data/lib/vapi_server_sdk/types/azure_voice_id.rb +53 -0
  93. data/lib/vapi_server_sdk/types/azure_voice_id_enum.rb +9 -0
  94. data/lib/vapi_server_sdk/types/block_complete_message.rb +73 -0
  95. data/lib/vapi_server_sdk/types/block_complete_message_conditions_item.rb +94 -0
  96. data/lib/vapi_server_sdk/types/block_start_message.rb +73 -0
  97. data/lib/vapi_server_sdk/types/block_start_message_conditions_item.rb +94 -0
  98. data/lib/vapi_server_sdk/types/bot_message.rb +111 -0
  99. data/lib/vapi_server_sdk/types/bucket_plan.rb +139 -0
  100. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +151 -0
  101. data/lib/vapi_server_sdk/types/buy_phone_number_dto_fallback_destination.rb +100 -0
  102. data/lib/vapi_server_sdk/types/byo_phone_number.rb +224 -0
  103. data/lib/vapi_server_sdk/types/byo_phone_number_fallback_destination.rb +100 -0
  104. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +166 -0
  105. data/lib/vapi_server_sdk/types/call.rb +425 -0
  106. data/lib/vapi_server_sdk/types/call_costs_item.rb +146 -0
  107. data/lib/vapi_server_sdk/types/call_destination.rb +96 -0
  108. data/lib/vapi_server_sdk/types/call_ended_reason.rb +175 -0
  109. data/lib/vapi_server_sdk/types/call_messages_item.rb +96 -0
  110. data/lib/vapi_server_sdk/types/call_paginated_response.rb +75 -0
  111. data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +11 -0
  112. data/lib/vapi_server_sdk/types/call_phone_call_transport.rb +10 -0
  113. data/lib/vapi_server_sdk/types/call_status.rb +12 -0
  114. data/lib/vapi_server_sdk/types/call_type.rb +10 -0
  115. data/lib/vapi_server_sdk/types/callback_step.rb +204 -0
  116. data/lib/vapi_server_sdk/types/callback_step_block.rb +108 -0
  117. data/lib/vapi_server_sdk/types/cartesia_credential.rb +101 -0
  118. data/lib/vapi_server_sdk/types/cartesia_voice.rb +113 -0
  119. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +15 -0
  120. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +10 -0
  121. data/lib/vapi_server_sdk/types/chunk_plan.rb +128 -0
  122. data/lib/vapi_server_sdk/types/client_inbound_message.rb +63 -0
  123. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +61 -0
  124. data/lib/vapi_server_sdk/types/client_inbound_message_control.rb +56 -0
  125. data/lib/vapi_server_sdk/types/client_inbound_message_control_control.rb +10 -0
  126. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +109 -0
  127. data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +67 -0
  128. data/lib/vapi_server_sdk/types/client_message.rb +65 -0
  129. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +79 -0
  130. data/lib/vapi_server_sdk/types/client_message_conversation_update_messages_item.rb +97 -0
  131. data/lib/vapi_server_sdk/types/client_message_hang.rb +47 -0
  132. data/lib/vapi_server_sdk/types/client_message_language_changed.rb +55 -0
  133. data/lib/vapi_server_sdk/types/client_message_message.rb +214 -0
  134. data/lib/vapi_server_sdk/types/client_message_metadata.rb +55 -0
  135. data/lib/vapi_server_sdk/types/client_message_model_output.rb +55 -0
  136. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +67 -0
  137. data/lib/vapi_server_sdk/types/client_message_speech_update_role.rb +9 -0
  138. data/lib/vapi_server_sdk/types/client_message_speech_update_status.rb +9 -0
  139. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +75 -0
  140. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +55 -0
  141. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
  142. data/lib/vapi_server_sdk/types/client_message_transcript.rb +74 -0
  143. data/lib/vapi_server_sdk/types/client_message_transcript_role.rb +9 -0
  144. data/lib/vapi_server_sdk/types/client_message_transcript_transcript_type.rb +9 -0
  145. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +47 -0
  146. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +55 -0
  147. data/lib/vapi_server_sdk/types/clone_voice_dto.rb +83 -0
  148. data/lib/vapi_server_sdk/types/condition.rb +73 -0
  149. data/lib/vapi_server_sdk/types/condition_operator.rb +13 -0
  150. data/lib/vapi_server_sdk/types/conversation_block.rb +239 -0
  151. data/lib/vapi_server_sdk/types/conversation_block_messages_item.rb +94 -0
  152. data/lib/vapi_server_sdk/types/cost_breakdown.rb +141 -0
  153. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +65 -0
  154. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +65 -0
  155. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +529 -0
  156. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +10 -0
  157. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +20 -0
  158. data/lib/vapi_server_sdk/types/create_assistant_dto_first_message_mode.rb +19 -0
  159. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +199 -0
  160. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +21 -0
  161. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +108 -0
  162. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +186 -0
  163. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +94 -0
  164. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +14 -0
  165. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +21 -0
  166. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +191 -0
  167. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto_fallback_destination.rb +101 -0
  168. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +133 -0
  169. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +65 -0
  170. data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +206 -0
  171. data/lib/vapi_server_sdk/types/create_conversation_block_dto_messages_item.rb +95 -0
  172. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +65 -0
  173. data/lib/vapi_server_sdk/types/create_customer_dto.rb +117 -0
  174. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +65 -0
  175. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +76 -0
  176. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +139 -0
  177. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto_messages_item.rb +120 -0
  178. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +65 -0
  179. data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +139 -0
  180. data/lib/vapi_server_sdk/types/create_end_call_tool_dto_messages_item.rb +120 -0
  181. data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +139 -0
  182. data/lib/vapi_server_sdk/types/create_function_tool_dto_messages_item.rb +120 -0
  183. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +104 -0
  184. data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +158 -0
  185. data/lib/vapi_server_sdk/types/create_ghl_tool_dto_messages_item.rb +120 -0
  186. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +65 -0
  187. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +65 -0
  188. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +65 -0
  189. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +65 -0
  190. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +79 -0
  191. data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +158 -0
  192. data/lib/vapi_server_sdk/types/create_make_tool_dto_messages_item.rb +120 -0
  193. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +65 -0
  194. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +65 -0
  195. data/lib/vapi_server_sdk/types/create_org_dto.rb +129 -0
  196. data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +191 -0
  197. data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +139 -0
  198. data/lib/vapi_server_sdk/types/create_output_tool_dto_messages_item.rb +120 -0
  199. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +72 -0
  201. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +65 -0
  202. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +65 -0
  203. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +101 -0
  204. data/lib/vapi_server_sdk/types/create_squad_dto.rb +94 -0
  205. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +65 -0
  206. data/lib/vapi_server_sdk/types/create_token_dto.rb +81 -0
  207. data/lib/vapi_server_sdk/types/create_token_dto_tag.rb +9 -0
  208. data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +168 -0
  209. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +94 -0
  210. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +161 -0
  211. data/lib/vapi_server_sdk/types/create_tool_template_dto.rb +131 -0
  212. data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +159 -0
  213. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider.rb +9 -0
  214. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +107 -0
  215. data/lib/vapi_server_sdk/types/create_tool_template_dto_visibility.rb +8 -0
  216. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +161 -0
  217. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +121 -0
  218. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_messages_item.rb +121 -0
  219. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +72 -0
  220. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +167 -0
  221. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto_fallback_destination.rb +101 -0
  222. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +155 -0
  223. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto_fallback_destination.rb +101 -0
  224. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +139 -0
  225. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto_messages_item.rb +120 -0
  226. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +72 -0
  227. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +161 -0
  228. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto_fallback_destination.rb +101 -0
  229. data/lib/vapi_server_sdk/types/create_web_call_dto.rb +123 -0
  230. data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +154 -0
  231. data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +94 -0
  232. data/lib/vapi_server_sdk/types/create_workflow_block_dto_steps_item.rb +94 -0
  233. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +101 -0
  234. data/lib/vapi_server_sdk/types/custom_llm_model.rb +204 -0
  235. data/lib/vapi_server_sdk/types/custom_llm_model_metadata_send_mode.rb +18 -0
  236. data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +159 -0
  237. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +101 -0
  238. data/lib/vapi_server_sdk/types/deep_infra_model.rb +169 -0
  239. data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +159 -0
  240. data/lib/vapi_server_sdk/types/deepgram_credential.rb +114 -0
  241. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +143 -0
  242. data/lib/vapi_server_sdk/types/deepgram_transcriber_language.rb +62 -0
  243. data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +34 -0
  244. data/lib/vapi_server_sdk/types/deepgram_voice.rb +96 -0
  245. data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +53 -0
  246. data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +18 -0
  247. data/lib/vapi_server_sdk/types/dtmf_tool.rb +178 -0
  248. data/lib/vapi_server_sdk/types/dtmf_tool_messages_item.rb +120 -0
  249. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +101 -0
  250. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +176 -0
  251. data/lib/vapi_server_sdk/types/eleven_labs_voice_id.rb +54 -0
  252. data/lib/vapi_server_sdk/types/eleven_labs_voice_id_enum.rb +21 -0
  253. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +12 -0
  254. data/lib/vapi_server_sdk/types/end_call_tool.rb +178 -0
  255. data/lib/vapi_server_sdk/types/end_call_tool_messages_item.rb +120 -0
  256. data/lib/vapi_server_sdk/types/error.rb +55 -0
  257. data/lib/vapi_server_sdk/types/exact_replacement.rb +65 -0
  258. data/lib/vapi_server_sdk/types/file.rb +185 -0
  259. data/lib/vapi_server_sdk/types/file_status.rb +8 -0
  260. data/lib/vapi_server_sdk/types/format_plan.rb +130 -0
  261. data/lib/vapi_server_sdk/types/format_plan_replacements_item.rb +94 -0
  262. data/lib/vapi_server_sdk/types/function_tool.rb +178 -0
  263. data/lib/vapi_server_sdk/types/function_tool_messages_item.rb +120 -0
  264. data/lib/vapi_server_sdk/types/function_tool_provider_details.rb +71 -0
  265. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +158 -0
  266. data/lib/vapi_server_sdk/types/function_tool_with_tool_call_messages_item.rb +120 -0
  267. data/lib/vapi_server_sdk/types/gcp_credential.rb +138 -0
  268. data/lib/vapi_server_sdk/types/gcp_key.rb +143 -0
  269. data/lib/vapi_server_sdk/types/ghl_tool.rb +192 -0
  270. data/lib/vapi_server_sdk/types/ghl_tool_messages_item.rb +120 -0
  271. data/lib/vapi_server_sdk/types/ghl_tool_metadata.rb +67 -0
  272. data/lib/vapi_server_sdk/types/ghl_tool_provider_details.rb +115 -0
  273. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +173 -0
  274. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call_messages_item.rb +120 -0
  275. data/lib/vapi_server_sdk/types/gladia_credential.rb +101 -0
  276. data/lib/vapi_server_sdk/types/gladia_transcriber.rb +122 -0
  277. data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +108 -0
  278. data/lib/vapi_server_sdk/types/gladia_transcriber_language_behaviour.rb +9 -0
  279. data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +8 -0
  280. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +101 -0
  281. data/lib/vapi_server_sdk/types/groq_credential.rb +101 -0
  282. data/lib/vapi_server_sdk/types/groq_model.rb +170 -0
  283. data/lib/vapi_server_sdk/types/groq_model_model.rb +17 -0
  284. data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +159 -0
  285. data/lib/vapi_server_sdk/types/handoff_step.rb +204 -0
  286. data/lib/vapi_server_sdk/types/handoff_step_block.rb +108 -0
  287. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +167 -0
  288. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto_fallback_destination.rb +101 -0
  289. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +165 -0
  290. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto_fallback_destination.rb +101 -0
  291. data/lib/vapi_server_sdk/types/invite_user_dto.rb +66 -0
  292. data/lib/vapi_server_sdk/types/invite_user_dto_role.rb +9 -0
  293. data/lib/vapi_server_sdk/types/json_schema.rb +125 -0
  294. data/lib/vapi_server_sdk/types/json_schema_type.rb +21 -0
  295. data/lib/vapi_server_sdk/types/knowledge_base.rb +74 -0
  296. data/lib/vapi_server_sdk/types/lmnt_credential.rb +101 -0
  297. data/lib/vapi_server_sdk/types/lmnt_voice.rb +104 -0
  298. data/lib/vapi_server_sdk/types/lmnt_voice_id.rb +53 -0
  299. data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +8 -0
  300. data/lib/vapi_server_sdk/types/log.rb +248 -0
  301. data/lib/vapi_server_sdk/types/log_request_http_method.rb +12 -0
  302. data/lib/vapi_server_sdk/types/log_resource.rb +15 -0
  303. data/lib/vapi_server_sdk/types/log_type.rb +11 -0
  304. data/lib/vapi_server_sdk/types/logs_paginated_response.rb +75 -0
  305. data/lib/vapi_server_sdk/types/make_credential.rb +118 -0
  306. data/lib/vapi_server_sdk/types/make_tool.rb +192 -0
  307. data/lib/vapi_server_sdk/types/make_tool_messages_item.rb +120 -0
  308. data/lib/vapi_server_sdk/types/make_tool_metadata.rb +67 -0
  309. data/lib/vapi_server_sdk/types/make_tool_provider_details.rb +107 -0
  310. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +173 -0
  311. data/lib/vapi_server_sdk/types/make_tool_with_tool_call_messages_item.rb +120 -0
  312. data/lib/vapi_server_sdk/types/message_plan.rb +107 -0
  313. data/lib/vapi_server_sdk/types/metrics.rb +165 -0
  314. data/lib/vapi_server_sdk/types/model_based_condition.rb +117 -0
  315. data/lib/vapi_server_sdk/types/model_cost.rb +106 -0
  316. data/lib/vapi_server_sdk/types/monitor.rb +71 -0
  317. data/lib/vapi_server_sdk/types/monitor_plan.rb +85 -0
  318. data/lib/vapi_server_sdk/types/neets_voice.rb +96 -0
  319. data/lib/vapi_server_sdk/types/neets_voice_id.rb +53 -0
  320. data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +7 -0
  321. data/lib/vapi_server_sdk/types/open_ai_credential.rb +101 -0
  322. data/lib/vapi_server_sdk/types/open_ai_function.rb +96 -0
  323. data/lib/vapi_server_sdk/types/open_ai_function_parameters.rb +85 -0
  324. data/lib/vapi_server_sdk/types/open_ai_message.rb +68 -0
  325. data/lib/vapi_server_sdk/types/open_ai_message_role.rb +11 -0
  326. data/lib/vapi_server_sdk/types/open_ai_model.rb +191 -0
  327. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +23 -0
  328. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +24 -0
  329. data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +159 -0
  330. data/lib/vapi_server_sdk/types/open_ai_voice.rb +99 -0
  331. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +13 -0
  332. data/lib/vapi_server_sdk/types/open_router_credential.rb +101 -0
  333. data/lib/vapi_server_sdk/types/open_router_model.rb +169 -0
  334. data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +159 -0
  335. data/lib/vapi_server_sdk/types/org.rb +212 -0
  336. data/lib/vapi_server_sdk/types/org_plan.rb +79 -0
  337. data/lib/vapi_server_sdk/types/output_tool.rb +178 -0
  338. data/lib/vapi_server_sdk/types/output_tool_messages_item.rb +120 -0
  339. data/lib/vapi_server_sdk/types/pagination_meta.rb +72 -0
  340. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +101 -0
  341. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +169 -0
  342. data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +159 -0
  343. data/lib/vapi_server_sdk/types/play_ht_credential.rb +109 -0
  344. data/lib/vapi_server_sdk/types/play_ht_voice.rb +166 -0
  345. data/lib/vapi_server_sdk/types/play_ht_voice_emotion.rb +19 -0
  346. data/lib/vapi_server_sdk/types/play_ht_voice_id.rb +53 -0
  347. data/lib/vapi_server_sdk/types/play_ht_voice_id_enum.rb +16 -0
  348. data/lib/vapi_server_sdk/types/punctuation_boundary.rb +21 -0
  349. data/lib/vapi_server_sdk/types/regex_option.rb +74 -0
  350. data/lib/vapi_server_sdk/types/regex_option_type.rb +13 -0
  351. data/lib/vapi_server_sdk/types/regex_replacement.rb +82 -0
  352. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +101 -0
  353. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +114 -0
  354. data/lib/vapi_server_sdk/types/rime_ai_voice_id.rb +53 -0
  355. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +87 -0
  356. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +9 -0
  357. data/lib/vapi_server_sdk/types/rule_based_condition.rb +195 -0
  358. data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +14 -0
  359. data/lib/vapi_server_sdk/types/runpod_credential.rb +101 -0
  360. data/lib/vapi_server_sdk/types/s_3_credential.rb +134 -0
  361. data/lib/vapi_server_sdk/types/sbc_configuration.rb +47 -0
  362. data/lib/vapi_server_sdk/types/server.rb +82 -0
  363. data/lib/vapi_server_sdk/types/server_message.rb +77 -0
  364. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +169 -0
  365. data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +125 -0
  366. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +197 -0
  367. data/lib/vapi_server_sdk/types/server_message_conversation_update_messages_item.rb +97 -0
  368. data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +125 -0
  369. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +241 -0
  370. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +147 -0
  371. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +176 -0
  372. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +125 -0
  373. data/lib/vapi_server_sdk/types/server_message_hang.rb +169 -0
  374. data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +124 -0
  375. data/lib/vapi_server_sdk/types/server_message_language_changed.rb +177 -0
  376. data/lib/vapi_server_sdk/types/server_message_language_changed_phone_number.rb +125 -0
  377. data/lib/vapi_server_sdk/types/server_message_message.rb +285 -0
  378. data/lib/vapi_server_sdk/types/server_message_model_output.rb +177 -0
  379. data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +124 -0
  380. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +192 -0
  381. data/lib/vapi_server_sdk/types/server_message_phone_call_control_destination.rb +96 -0
  382. data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +125 -0
  383. data/lib/vapi_server_sdk/types/server_message_phone_call_control_request.rb +9 -0
  384. data/lib/vapi_server_sdk/types/server_message_response.rb +65 -0
  385. data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +162 -0
  386. data/lib/vapi_server_sdk/types/server_message_response_assistant_request_destination.rb +98 -0
  387. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +85 -0
  388. data/lib/vapi_server_sdk/types/server_message_response_tool_calls.rb +71 -0
  389. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +75 -0
  390. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +122 -0
  391. data/lib/vapi_server_sdk/types/server_message_response_voice_request.rb +97 -0
  392. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +187 -0
  393. data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +124 -0
  394. data/lib/vapi_server_sdk/types/server_message_speech_update_role.rb +9 -0
  395. data/lib/vapi_server_sdk/types/server_message_speech_update_status.rb +9 -0
  396. data/lib/vapi_server_sdk/types/server_message_status_update.rb +255 -0
  397. data/lib/vapi_server_sdk/types/server_message_status_update_destination.rb +96 -0
  398. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +175 -0
  399. data/lib/vapi_server_sdk/types/server_message_status_update_messages_item.rb +97 -0
  400. data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +124 -0
  401. data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +12 -0
  402. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +195 -0
  403. data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +124 -0
  404. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
  405. data/lib/vapi_server_sdk/types/server_message_transcript.rb +195 -0
  406. data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +124 -0
  407. data/lib/vapi_server_sdk/types/server_message_transcript_role.rb +9 -0
  408. data/lib/vapi_server_sdk/types/server_message_transcript_transcript_type.rb +9 -0
  409. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +171 -0
  410. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +125 -0
  411. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +213 -0
  412. data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +122 -0
  413. data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +125 -0
  414. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +169 -0
  415. data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +125 -0
  416. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +177 -0
  417. data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +124 -0
  418. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +185 -0
  419. data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +124 -0
  420. data/lib/vapi_server_sdk/types/sip_trunk_gateway.rb +138 -0
  421. data/lib/vapi_server_sdk/types/sip_trunk_gateway_outbound_protocol.rb +12 -0
  422. data/lib/vapi_server_sdk/types/sip_trunk_outbound_authentication_plan.rb +86 -0
  423. data/lib/vapi_server_sdk/types/sip_trunk_outbound_sip_register_plan.rb +74 -0
  424. data/lib/vapi_server_sdk/types/squad.rb +132 -0
  425. data/lib/vapi_server_sdk/types/squad_member_dto.rb +113 -0
  426. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +119 -0
  427. data/lib/vapi_server_sdk/types/step_destination.rb +82 -0
  428. data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +94 -0
  429. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +120 -0
  430. data/lib/vapi_server_sdk/types/structured_data_plan.rb +140 -0
  431. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +161 -0
  432. data/lib/vapi_server_sdk/types/success_evaluation_plan_rubric.rb +29 -0
  433. data/lib/vapi_server_sdk/types/summary_plan.rb +110 -0
  434. data/lib/vapi_server_sdk/types/sync_voice_library_dto.rb +58 -0
  435. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +16 -0
  436. data/lib/vapi_server_sdk/types/system_message.rb +79 -0
  437. data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +72 -0
  438. data/lib/vapi_server_sdk/types/talkscriber_transcriber_language.rb +109 -0
  439. data/lib/vapi_server_sdk/types/template.rb +164 -0
  440. data/lib/vapi_server_sdk/types/template_details.rb +159 -0
  441. data/lib/vapi_server_sdk/types/template_provider.rb +9 -0
  442. data/lib/vapi_server_sdk/types/template_provider_details.rb +107 -0
  443. data/lib/vapi_server_sdk/types/template_visibility.rb +8 -0
  444. data/lib/vapi_server_sdk/types/time_range.rb +91 -0
  445. data/lib/vapi_server_sdk/types/time_range_step.rb +18 -0
  446. data/lib/vapi_server_sdk/types/together_ai_credential.rb +101 -0
  447. data/lib/vapi_server_sdk/types/together_ai_model.rb +169 -0
  448. data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +159 -0
  449. data/lib/vapi_server_sdk/types/token.rb +127 -0
  450. data/lib/vapi_server_sdk/types/token_restrictions.rb +103 -0
  451. data/lib/vapi_server_sdk/types/token_tag.rb +9 -0
  452. data/lib/vapi_server_sdk/types/tool_call.rb +78 -0
  453. data/lib/vapi_server_sdk/types/tool_call_block.rb +201 -0
  454. data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +94 -0
  455. data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +161 -0
  456. data/lib/vapi_server_sdk/types/tool_call_function.rb +65 -0
  457. data/lib/vapi_server_sdk/types/tool_call_message.rb +92 -0
  458. data/lib/vapi_server_sdk/types/tool_call_result.rb +126 -0
  459. data/lib/vapi_server_sdk/types/tool_call_result_message.rb +100 -0
  460. data/lib/vapi_server_sdk/types/tool_call_result_message_item.rb +94 -0
  461. data/lib/vapi_server_sdk/types/tool_message_complete.rb +130 -0
  462. data/lib/vapi_server_sdk/types/tool_message_complete_role.rb +24 -0
  463. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +86 -0
  464. data/lib/vapi_server_sdk/types/tool_message_failed.rb +88 -0
  465. data/lib/vapi_server_sdk/types/tool_message_start.rb +73 -0
  466. data/lib/vapi_server_sdk/types/tool_template_metadata.rb +78 -0
  467. data/lib/vapi_server_sdk/types/tool_template_setup.rb +86 -0
  468. data/lib/vapi_server_sdk/types/transcriber_cost.rb +90 -0
  469. data/lib/vapi_server_sdk/types/transcript_plan.rb +122 -0
  470. data/lib/vapi_server_sdk/types/transcription_endpointing_plan.rb +109 -0
  471. data/lib/vapi_server_sdk/types/transfer_call_tool.rb +194 -0
  472. data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +120 -0
  473. data/lib/vapi_server_sdk/types/transfer_call_tool_messages_item.rb +120 -0
  474. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +181 -0
  475. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +163 -0
  476. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +90 -0
  477. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +90 -0
  478. data/lib/vapi_server_sdk/types/transfer_mode.rb +8 -0
  479. data/lib/vapi_server_sdk/types/transport_configuration_twilio.rb +125 -0
  480. data/lib/vapi_server_sdk/types/transport_configuration_twilio_recording_channels.rb +16 -0
  481. data/lib/vapi_server_sdk/types/transport_cost.rb +67 -0
  482. data/lib/vapi_server_sdk/types/twilio_credential.rb +110 -0
  483. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +200 -0
  484. data/lib/vapi_server_sdk/types/twilio_phone_number_fallback_destination.rb +100 -0
  485. data/lib/vapi_server_sdk/types/twilio_voicemail_detection.rb +248 -0
  486. data/lib/vapi_server_sdk/types/twilio_voicemail_detection_voicemail_detection_types_item.rb +13 -0
  487. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +65 -0
  488. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +65 -0
  489. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +94 -0
  490. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +14 -0
  491. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +21 -0
  492. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +133 -0
  493. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +65 -0
  494. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +65 -0
  495. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +65 -0
  496. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +76 -0
  497. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +65 -0
  498. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +104 -0
  499. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +65 -0
  500. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +65 -0
  501. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +65 -0
  502. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +65 -0
  503. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +79 -0
  504. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +65 -0
  505. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +65 -0
  506. data/lib/vapi_server_sdk/types/update_org_dto.rb +129 -0
  507. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +65 -0
  508. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +72 -0
  509. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +65 -0
  510. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +65 -0
  511. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +101 -0
  512. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +65 -0
  513. data/lib/vapi_server_sdk/types/update_tool_template_dto.rb +131 -0
  514. data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +159 -0
  515. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider.rb +9 -0
  516. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +107 -0
  517. data/lib/vapi_server_sdk/types/update_tool_template_dto_visibility.rb +8 -0
  518. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +72 -0
  519. data/lib/vapi_server_sdk/types/update_user_role_dto.rb +66 -0
  520. data/lib/vapi_server_sdk/types/update_user_role_dto_role.rb +9 -0
  521. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +72 -0
  522. data/lib/vapi_server_sdk/types/user.rb +95 -0
  523. data/lib/vapi_server_sdk/types/user_message.rb +102 -0
  524. data/lib/vapi_server_sdk/types/vapi_cost.rb +67 -0
  525. data/lib/vapi_server_sdk/types/vapi_model.rb +181 -0
  526. data/lib/vapi_server_sdk/types/vapi_model_steps_item.rb +94 -0
  527. data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +159 -0
  528. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +188 -0
  529. data/lib/vapi_server_sdk/types/vapi_phone_number_fallback_destination.rb +100 -0
  530. data/lib/vapi_server_sdk/types/voice_cost.rb +90 -0
  531. data/lib/vapi_server_sdk/types/voice_library.rb +209 -0
  532. data/lib/vapi_server_sdk/types/voice_library_gender.rb +9 -0
  533. data/lib/vapi_server_sdk/types/voice_library_voice_response.rb +111 -0
  534. data/lib/vapi_server_sdk/types/vonage_credential.rb +128 -0
  535. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +194 -0
  536. data/lib/vapi_server_sdk/types/vonage_phone_number_fallback_destination.rb +100 -0
  537. data/lib/vapi_server_sdk/types/workflow_block.rb +187 -0
  538. data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +94 -0
  539. data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +94 -0
  540. data/lib/vapi_server_sdk.rb +110 -0
  541. metadata +697 -0
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "create_byo_phone_number_dto"
5
+ require_relative "create_twilio_phone_number_dto"
6
+ require_relative "create_vonage_phone_number_dto"
7
+ require_relative "create_vapi_phone_number_dto"
8
+
9
+ module Vapi
10
+ # This is the phone number associated with the call.
11
+ # This matches one of the following:
12
+ # - `call.phoneNumber`,
13
+ # - `call.phoneNumberId`.
14
+ class ServerMessageTranscriptPhoneNumber
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::ServerMessageTranscriptPhoneNumber]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of ServerMessageTranscriptPhoneNumber
32
+ #
33
+ # @param json_object [String]
34
+ # @return [Vapi::ServerMessageTranscriptPhoneNumber]
35
+ def self.from_json(json_object:)
36
+ struct = JSON.parse(json_object, object_class: OpenStruct)
37
+ member = case struct.provider
38
+ when "byo-phone-number"
39
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
40
+ when "twilio"
41
+ Vapi::CreateTwilioPhoneNumberDto.from_json(json_object: json_object)
42
+ when "vonage"
43
+ Vapi::CreateVonagePhoneNumberDto.from_json(json_object: json_object)
44
+ when "vapi"
45
+ Vapi::CreateVapiPhoneNumberDto.from_json(json_object: json_object)
46
+ else
47
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
48
+ end
49
+ new(member: member, discriminant: struct.provider)
50
+ end
51
+
52
+ # For Union Types, to_json functionality is delegated to the wrapped member.
53
+ #
54
+ # @return [String]
55
+ def to_json(*_args)
56
+ case @discriminant
57
+ when "byo-phone-number"
58
+ { **@member.to_json, provider: @discriminant }.to_json
59
+ when "twilio"
60
+ { **@member.to_json, provider: @discriminant }.to_json
61
+ when "vonage"
62
+ { **@member.to_json, provider: @discriminant }.to_json
63
+ when "vapi"
64
+ { **@member.to_json, provider: @discriminant }.to_json
65
+ else
66
+ { "provider": @discriminant, value: @member }.to_json
67
+ end
68
+ @member.to_json
69
+ end
70
+
71
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
72
+ # hash and check each fields type against the current object's property
73
+ # definitions.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ case obj.provider
79
+ when "byo-phone-number"
80
+ Vapi::CreateByoPhoneNumberDto.validate_raw(obj: obj)
81
+ when "twilio"
82
+ Vapi::CreateTwilioPhoneNumberDto.validate_raw(obj: obj)
83
+ when "vonage"
84
+ Vapi::CreateVonagePhoneNumberDto.validate_raw(obj: obj)
85
+ when "vapi"
86
+ Vapi::CreateVapiPhoneNumberDto.validate_raw(obj: obj)
87
+ else
88
+ raise("Passed value matched no type within the union, validation failed.")
89
+ end
90
+ end
91
+
92
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
93
+ #
94
+ # @param obj [Object]
95
+ # @return [Boolean]
96
+ def is_a?(obj)
97
+ @member.is_a?(obj)
98
+ end
99
+
100
+ # @param member [Vapi::CreateByoPhoneNumberDto]
101
+ # @return [Vapi::ServerMessageTranscriptPhoneNumber]
102
+ def self.byo_phone_number(member:)
103
+ new(member: member, discriminant: "byo-phone-number")
104
+ end
105
+
106
+ # @param member [Vapi::CreateTwilioPhoneNumberDto]
107
+ # @return [Vapi::ServerMessageTranscriptPhoneNumber]
108
+ def self.twilio(member:)
109
+ new(member: member, discriminant: "twilio")
110
+ end
111
+
112
+ # @param member [Vapi::CreateVonagePhoneNumberDto]
113
+ # @return [Vapi::ServerMessageTranscriptPhoneNumber]
114
+ def self.vonage(member:)
115
+ new(member: member, discriminant: "vonage")
116
+ end
117
+
118
+ # @param member [Vapi::CreateVapiPhoneNumberDto]
119
+ # @return [Vapi::ServerMessageTranscriptPhoneNumber]
120
+ def self.vapi(member:)
121
+ new(member: member, discriminant: "vapi")
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the role for which the transcript is for.
5
+ class ServerMessageTranscriptRole
6
+ ASSISTANT = "assistant"
7
+ USER = "user"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the type of the transcript.
5
+ class ServerMessageTranscriptTranscriptType
6
+ PARTIAL = "partial"
7
+ FINAL = "final"
8
+ end
9
+ end
@@ -0,0 +1,171 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "server_message_transfer_destination_request_phone_number"
4
+ require_relative "artifact"
5
+ require_relative "create_assistant_dto"
6
+ require_relative "create_customer_dto"
7
+ require_relative "call"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module Vapi
12
+ class ServerMessageTransferDestinationRequest
13
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber] This is the phone number associated with the call.
14
+ # This matches one of the following:
15
+ # - `call.phoneNumber`,
16
+ # - `call.phoneNumberId`.
17
+ attr_reader :phone_number
18
+ # @return [String] This is the ISO-8601 formatted timestamp of when the message was sent.
19
+ attr_reader :timestamp
20
+ # @return [Vapi::Artifact] This is a live version of the `call.artifact`.
21
+ # This matches what is stored on `call.artifact` after the call.
22
+ attr_reader :artifact
23
+ # @return [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
24
+ # convenience.
25
+ # This matches one of the following:
26
+ # - `call.assistant`,
27
+ # - `call.assistantId`,
28
+ # - `call.squad[n].assistant`,
29
+ # - `call.squad[n].assistantId`,
30
+ # - `call.squadId->[n].assistant`,
31
+ # - `call.squadId->[n].assistantId`.
32
+ attr_reader :assistant
33
+ # @return [Vapi::CreateCustomerDto] This is the customer associated with the call.
34
+ # This matches one of the following:
35
+ # - `call.customer`,
36
+ # - `call.customerId`.
37
+ attr_reader :customer
38
+ # @return [Vapi::Call] This is the call object.
39
+ # This matches what was returned in POST /call.
40
+ # Note: This might get stale during the call. To get the latest call object,
41
+ # especially after the call is ended, use GET /call/:id.
42
+ attr_reader :call
43
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
44
+ attr_reader :additional_properties
45
+ # @return [Object]
46
+ attr_reader :_field_set
47
+ protected :_field_set
48
+
49
+ OMIT = Object.new
50
+
51
+ # @param phone_number [Vapi::ServerMessageTransferDestinationRequestPhoneNumber] This is the phone number associated with the call.
52
+ # This matches one of the following:
53
+ # - `call.phoneNumber`,
54
+ # - `call.phoneNumberId`.
55
+ # @param timestamp [String] This is the ISO-8601 formatted timestamp of when the message was sent.
56
+ # @param artifact [Vapi::Artifact] This is a live version of the `call.artifact`.
57
+ # This matches what is stored on `call.artifact` after the call.
58
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
59
+ # convenience.
60
+ # This matches one of the following:
61
+ # - `call.assistant`,
62
+ # - `call.assistantId`,
63
+ # - `call.squad[n].assistant`,
64
+ # - `call.squad[n].assistantId`,
65
+ # - `call.squadId->[n].assistant`,
66
+ # - `call.squadId->[n].assistantId`.
67
+ # @param customer [Vapi::CreateCustomerDto] This is the customer associated with the call.
68
+ # This matches one of the following:
69
+ # - `call.customer`,
70
+ # - `call.customerId`.
71
+ # @param call [Vapi::Call] This is the call object.
72
+ # This matches what was returned in POST /call.
73
+ # Note: This might get stale during the call. To get the latest call object,
74
+ # especially after the call is ended, use GET /call/:id.
75
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
76
+ # @return [Vapi::ServerMessageTransferDestinationRequest]
77
+ def initialize(phone_number: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT, customer: OMIT, call: OMIT,
78
+ additional_properties: nil)
79
+ @phone_number = phone_number if phone_number != OMIT
80
+ @timestamp = timestamp if timestamp != OMIT
81
+ @artifact = artifact if artifact != OMIT
82
+ @assistant = assistant if assistant != OMIT
83
+ @customer = customer if customer != OMIT
84
+ @call = call if call != OMIT
85
+ @additional_properties = additional_properties
86
+ @_field_set = {
87
+ "phoneNumber": phone_number,
88
+ "timestamp": timestamp,
89
+ "artifact": artifact,
90
+ "assistant": assistant,
91
+ "customer": customer,
92
+ "call": call
93
+ }.reject do |_k, v|
94
+ v == OMIT
95
+ end
96
+ end
97
+
98
+ # Deserialize a JSON object to an instance of
99
+ # ServerMessageTransferDestinationRequest
100
+ #
101
+ # @param json_object [String]
102
+ # @return [Vapi::ServerMessageTransferDestinationRequest]
103
+ def self.from_json(json_object:)
104
+ struct = JSON.parse(json_object, object_class: OpenStruct)
105
+ parsed_json = JSON.parse(json_object)
106
+ if parsed_json["phoneNumber"].nil?
107
+ phone_number = nil
108
+ else
109
+ phone_number = parsed_json["phoneNumber"].to_json
110
+ phone_number = Vapi::ServerMessageTransferDestinationRequestPhoneNumber.from_json(json_object: phone_number)
111
+ end
112
+ timestamp = parsed_json["timestamp"]
113
+ if parsed_json["artifact"].nil?
114
+ artifact = nil
115
+ else
116
+ artifact = parsed_json["artifact"].to_json
117
+ artifact = Vapi::Artifact.from_json(json_object: artifact)
118
+ end
119
+ if parsed_json["assistant"].nil?
120
+ assistant = nil
121
+ else
122
+ assistant = parsed_json["assistant"].to_json
123
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
124
+ end
125
+ if parsed_json["customer"].nil?
126
+ customer = nil
127
+ else
128
+ customer = parsed_json["customer"].to_json
129
+ customer = Vapi::CreateCustomerDto.from_json(json_object: customer)
130
+ end
131
+ if parsed_json["call"].nil?
132
+ call = nil
133
+ else
134
+ call = parsed_json["call"].to_json
135
+ call = Vapi::Call.from_json(json_object: call)
136
+ end
137
+ new(
138
+ phone_number: phone_number,
139
+ timestamp: timestamp,
140
+ artifact: artifact,
141
+ assistant: assistant,
142
+ customer: customer,
143
+ call: call,
144
+ additional_properties: struct
145
+ )
146
+ end
147
+
148
+ # Serialize an instance of ServerMessageTransferDestinationRequest to a JSON
149
+ # object
150
+ #
151
+ # @return [String]
152
+ def to_json(*_args)
153
+ @_field_set&.to_json
154
+ end
155
+
156
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
157
+ # hash and check each fields type against the current object's property
158
+ # definitions.
159
+ #
160
+ # @param obj [Object]
161
+ # @return [Void]
162
+ def self.validate_raw(obj:)
163
+ obj.phone_number.nil? || Vapi::ServerMessageTransferDestinationRequestPhoneNumber.validate_raw(obj: obj.phone_number)
164
+ obj.timestamp&.is_a?(String) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
165
+ obj.artifact.nil? || Vapi::Artifact.validate_raw(obj: obj.artifact)
166
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
167
+ obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
168
+ obj.call.nil? || Vapi::Call.validate_raw(obj: obj.call)
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "create_byo_phone_number_dto"
5
+ require_relative "create_twilio_phone_number_dto"
6
+ require_relative "create_vonage_phone_number_dto"
7
+ require_relative "create_vapi_phone_number_dto"
8
+
9
+ module Vapi
10
+ # This is the phone number associated with the call.
11
+ # This matches one of the following:
12
+ # - `call.phoneNumber`,
13
+ # - `call.phoneNumberId`.
14
+ class ServerMessageTransferDestinationRequestPhoneNumber
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::ServerMessageTransferDestinationRequestPhoneNumber]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of
32
+ # ServerMessageTransferDestinationRequestPhoneNumber
33
+ #
34
+ # @param json_object [String]
35
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ member = case struct.provider
39
+ when "byo-phone-number"
40
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
41
+ when "twilio"
42
+ Vapi::CreateTwilioPhoneNumberDto.from_json(json_object: json_object)
43
+ when "vonage"
44
+ Vapi::CreateVonagePhoneNumberDto.from_json(json_object: json_object)
45
+ when "vapi"
46
+ Vapi::CreateVapiPhoneNumberDto.from_json(json_object: json_object)
47
+ else
48
+ Vapi::CreateByoPhoneNumberDto.from_json(json_object: json_object)
49
+ end
50
+ new(member: member, discriminant: struct.provider)
51
+ end
52
+
53
+ # For Union Types, to_json functionality is delegated to the wrapped member.
54
+ #
55
+ # @return [String]
56
+ def to_json(*_args)
57
+ case @discriminant
58
+ when "byo-phone-number"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "twilio"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ when "vonage"
63
+ { **@member.to_json, provider: @discriminant }.to_json
64
+ when "vapi"
65
+ { **@member.to_json, provider: @discriminant }.to_json
66
+ else
67
+ { "provider": @discriminant, value: @member }.to_json
68
+ end
69
+ @member.to_json
70
+ end
71
+
72
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
73
+ # hash and check each fields type against the current object's property
74
+ # definitions.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Void]
78
+ def self.validate_raw(obj:)
79
+ case obj.provider
80
+ when "byo-phone-number"
81
+ Vapi::CreateByoPhoneNumberDto.validate_raw(obj: obj)
82
+ when "twilio"
83
+ Vapi::CreateTwilioPhoneNumberDto.validate_raw(obj: obj)
84
+ when "vonage"
85
+ Vapi::CreateVonagePhoneNumberDto.validate_raw(obj: obj)
86
+ when "vapi"
87
+ Vapi::CreateVapiPhoneNumberDto.validate_raw(obj: obj)
88
+ else
89
+ raise("Passed value matched no type within the union, validation failed.")
90
+ end
91
+ end
92
+
93
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
94
+ #
95
+ # @param obj [Object]
96
+ # @return [Boolean]
97
+ def is_a?(obj)
98
+ @member.is_a?(obj)
99
+ end
100
+
101
+ # @param member [Vapi::CreateByoPhoneNumberDto]
102
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber]
103
+ def self.byo_phone_number(member:)
104
+ new(member: member, discriminant: "byo-phone-number")
105
+ end
106
+
107
+ # @param member [Vapi::CreateTwilioPhoneNumberDto]
108
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber]
109
+ def self.twilio(member:)
110
+ new(member: member, discriminant: "twilio")
111
+ end
112
+
113
+ # @param member [Vapi::CreateVonagePhoneNumberDto]
114
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber]
115
+ def self.vonage(member:)
116
+ new(member: member, discriminant: "vonage")
117
+ end
118
+
119
+ # @param member [Vapi::CreateVapiPhoneNumberDto]
120
+ # @return [Vapi::ServerMessageTransferDestinationRequestPhoneNumber]
121
+ def self.vapi(member:)
122
+ new(member: member, discriminant: "vapi")
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,213 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "server_message_transfer_update_phone_number"
4
+ require_relative "server_message_transfer_update_destination"
5
+ require_relative "artifact"
6
+ require_relative "create_assistant_dto"
7
+ require_relative "create_customer_dto"
8
+ require_relative "call"
9
+ require "ostruct"
10
+ require "json"
11
+
12
+ module Vapi
13
+ class ServerMessageTransferUpdate
14
+ # @return [Vapi::ServerMessageTransferUpdatePhoneNumber] This is the phone number associated with the call.
15
+ # This matches one of the following:
16
+ # - `call.phoneNumber`,
17
+ # - `call.phoneNumberId`.
18
+ attr_reader :phone_number
19
+ # @return [Vapi::ServerMessageTransferUpdateDestination] This is the destination of the transfer.
20
+ attr_reader :destination
21
+ # @return [String] This is the ISO-8601 formatted timestamp of when the message was sent.
22
+ attr_reader :timestamp
23
+ # @return [Vapi::Artifact] This is a live version of the `call.artifact`.
24
+ # This matches what is stored on `call.artifact` after the call.
25
+ attr_reader :artifact
26
+ # @return [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
27
+ # convenience.
28
+ # This matches one of the following:
29
+ # - `call.assistant`,
30
+ # - `call.assistantId`,
31
+ # - `call.squad[n].assistant`,
32
+ # - `call.squad[n].assistantId`,
33
+ # - `call.squadId->[n].assistant`,
34
+ # - `call.squadId->[n].assistantId`.
35
+ attr_reader :assistant
36
+ # @return [Vapi::CreateCustomerDto] This is the customer associated with the call.
37
+ # This matches one of the following:
38
+ # - `call.customer`,
39
+ # - `call.customerId`.
40
+ attr_reader :customer
41
+ # @return [Vapi::Call] This is the call object.
42
+ # This matches what was returned in POST /call.
43
+ # Note: This might get stale during the call. To get the latest call object,
44
+ # especially after the call is ended, use GET /call/:id.
45
+ attr_reader :call
46
+ # @return [Vapi::CreateAssistantDto] This is the assistant that the call is being transferred to. This is only sent
47
+ # if `destination.type` is "assistant".
48
+ attr_reader :to_assistant
49
+ # @return [Vapi::CreateAssistantDto] This is the assistant that the call is being transferred from. This is only sent
50
+ # if `destination.type` is "assistant".
51
+ attr_reader :from_assistant
52
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
53
+ attr_reader :additional_properties
54
+ # @return [Object]
55
+ attr_reader :_field_set
56
+ protected :_field_set
57
+
58
+ OMIT = Object.new
59
+
60
+ # @param phone_number [Vapi::ServerMessageTransferUpdatePhoneNumber] This is the phone number associated with the call.
61
+ # This matches one of the following:
62
+ # - `call.phoneNumber`,
63
+ # - `call.phoneNumberId`.
64
+ # @param destination [Vapi::ServerMessageTransferUpdateDestination] This is the destination of the transfer.
65
+ # @param timestamp [String] This is the ISO-8601 formatted timestamp of when the message was sent.
66
+ # @param artifact [Vapi::Artifact] This is a live version of the `call.artifact`.
67
+ # This matches what is stored on `call.artifact` after the call.
68
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
69
+ # convenience.
70
+ # This matches one of the following:
71
+ # - `call.assistant`,
72
+ # - `call.assistantId`,
73
+ # - `call.squad[n].assistant`,
74
+ # - `call.squad[n].assistantId`,
75
+ # - `call.squadId->[n].assistant`,
76
+ # - `call.squadId->[n].assistantId`.
77
+ # @param customer [Vapi::CreateCustomerDto] This is the customer associated with the call.
78
+ # This matches one of the following:
79
+ # - `call.customer`,
80
+ # - `call.customerId`.
81
+ # @param call [Vapi::Call] This is the call object.
82
+ # This matches what was returned in POST /call.
83
+ # Note: This might get stale during the call. To get the latest call object,
84
+ # especially after the call is ended, use GET /call/:id.
85
+ # @param to_assistant [Vapi::CreateAssistantDto] This is the assistant that the call is being transferred to. This is only sent
86
+ # if `destination.type` is "assistant".
87
+ # @param from_assistant [Vapi::CreateAssistantDto] This is the assistant that the call is being transferred from. This is only sent
88
+ # if `destination.type` is "assistant".
89
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
90
+ # @return [Vapi::ServerMessageTransferUpdate]
91
+ def initialize(phone_number: OMIT, destination: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT,
92
+ customer: OMIT, call: OMIT, to_assistant: OMIT, from_assistant: OMIT, additional_properties: nil)
93
+ @phone_number = phone_number if phone_number != OMIT
94
+ @destination = destination if destination != OMIT
95
+ @timestamp = timestamp if timestamp != OMIT
96
+ @artifact = artifact if artifact != OMIT
97
+ @assistant = assistant if assistant != OMIT
98
+ @customer = customer if customer != OMIT
99
+ @call = call if call != OMIT
100
+ @to_assistant = to_assistant if to_assistant != OMIT
101
+ @from_assistant = from_assistant if from_assistant != OMIT
102
+ @additional_properties = additional_properties
103
+ @_field_set = {
104
+ "phoneNumber": phone_number,
105
+ "destination": destination,
106
+ "timestamp": timestamp,
107
+ "artifact": artifact,
108
+ "assistant": assistant,
109
+ "customer": customer,
110
+ "call": call,
111
+ "toAssistant": to_assistant,
112
+ "fromAssistant": from_assistant
113
+ }.reject do |_k, v|
114
+ v == OMIT
115
+ end
116
+ end
117
+
118
+ # Deserialize a JSON object to an instance of ServerMessageTransferUpdate
119
+ #
120
+ # @param json_object [String]
121
+ # @return [Vapi::ServerMessageTransferUpdate]
122
+ def self.from_json(json_object:)
123
+ struct = JSON.parse(json_object, object_class: OpenStruct)
124
+ parsed_json = JSON.parse(json_object)
125
+ if parsed_json["phoneNumber"].nil?
126
+ phone_number = nil
127
+ else
128
+ phone_number = parsed_json["phoneNumber"].to_json
129
+ phone_number = Vapi::ServerMessageTransferUpdatePhoneNumber.from_json(json_object: phone_number)
130
+ end
131
+ if parsed_json["destination"].nil?
132
+ destination = nil
133
+ else
134
+ destination = parsed_json["destination"].to_json
135
+ destination = Vapi::ServerMessageTransferUpdateDestination.from_json(json_object: destination)
136
+ end
137
+ timestamp = parsed_json["timestamp"]
138
+ if parsed_json["artifact"].nil?
139
+ artifact = nil
140
+ else
141
+ artifact = parsed_json["artifact"].to_json
142
+ artifact = Vapi::Artifact.from_json(json_object: artifact)
143
+ end
144
+ if parsed_json["assistant"].nil?
145
+ assistant = nil
146
+ else
147
+ assistant = parsed_json["assistant"].to_json
148
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
149
+ end
150
+ if parsed_json["customer"].nil?
151
+ customer = nil
152
+ else
153
+ customer = parsed_json["customer"].to_json
154
+ customer = Vapi::CreateCustomerDto.from_json(json_object: customer)
155
+ end
156
+ if parsed_json["call"].nil?
157
+ call = nil
158
+ else
159
+ call = parsed_json["call"].to_json
160
+ call = Vapi::Call.from_json(json_object: call)
161
+ end
162
+ if parsed_json["toAssistant"].nil?
163
+ to_assistant = nil
164
+ else
165
+ to_assistant = parsed_json["toAssistant"].to_json
166
+ to_assistant = Vapi::CreateAssistantDto.from_json(json_object: to_assistant)
167
+ end
168
+ if parsed_json["fromAssistant"].nil?
169
+ from_assistant = nil
170
+ else
171
+ from_assistant = parsed_json["fromAssistant"].to_json
172
+ from_assistant = Vapi::CreateAssistantDto.from_json(json_object: from_assistant)
173
+ end
174
+ new(
175
+ phone_number: phone_number,
176
+ destination: destination,
177
+ timestamp: timestamp,
178
+ artifact: artifact,
179
+ assistant: assistant,
180
+ customer: customer,
181
+ call: call,
182
+ to_assistant: to_assistant,
183
+ from_assistant: from_assistant,
184
+ additional_properties: struct
185
+ )
186
+ end
187
+
188
+ # Serialize an instance of ServerMessageTransferUpdate to a JSON object
189
+ #
190
+ # @return [String]
191
+ def to_json(*_args)
192
+ @_field_set&.to_json
193
+ end
194
+
195
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
196
+ # hash and check each fields type against the current object's property
197
+ # definitions.
198
+ #
199
+ # @param obj [Object]
200
+ # @return [Void]
201
+ def self.validate_raw(obj:)
202
+ obj.phone_number.nil? || Vapi::ServerMessageTransferUpdatePhoneNumber.validate_raw(obj: obj.phone_number)
203
+ obj.destination.nil? || Vapi::ServerMessageTransferUpdateDestination.validate_raw(obj: obj.destination)
204
+ obj.timestamp&.is_a?(String) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
205
+ obj.artifact.nil? || Vapi::Artifact.validate_raw(obj: obj.artifact)
206
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
207
+ obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
208
+ obj.call.nil? || Vapi::Call.validate_raw(obj: obj.call)
209
+ obj.to_assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.to_assistant)
210
+ obj.from_assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.from_assistant)
211
+ end
212
+ end
213
+ end