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,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class ServerMessageResponseVoiceRequest
8
+ # @return [String] DO NOT respond to a `voice-request` webhook with this schema of { data }. This
9
+ # schema just exists to document what the response should look like. Follow these
10
+ # instructions:
11
+ # Here is what the request will look like:
12
+ # POST https://{assistant.voice.server.url}
13
+ # Content-Type: application/json
14
+ # {
15
+ # "messsage": {
16
+ # "type": "voice-request",
17
+ # "text": "Hello, world!",
18
+ # "sampleRate": 24000,
19
+ # ...other metadata about the call...
20
+ # }
21
+ # }
22
+ # The expected response is 1-channel 16-bit raw PCM audio at the sample rate
23
+ # specified in the request. Here is how the response will be piped to the
24
+ # transport:
25
+ # ```
26
+ # response.on('data', (chunk: Buffer) => {
27
+ # outputStream.write(chunk);
28
+ # });
29
+ # ```
30
+ attr_reader :data
31
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
32
+ attr_reader :additional_properties
33
+ # @return [Object]
34
+ attr_reader :_field_set
35
+ protected :_field_set
36
+
37
+ OMIT = Object.new
38
+
39
+ # @param data [String] DO NOT respond to a `voice-request` webhook with this schema of { data }. This
40
+ # schema just exists to document what the response should look like. Follow these
41
+ # instructions:
42
+ # Here is what the request will look like:
43
+ # POST https://{assistant.voice.server.url}
44
+ # Content-Type: application/json
45
+ # {
46
+ # "messsage": {
47
+ # "type": "voice-request",
48
+ # "text": "Hello, world!",
49
+ # "sampleRate": 24000,
50
+ # ...other metadata about the call...
51
+ # }
52
+ # }
53
+ # The expected response is 1-channel 16-bit raw PCM audio at the sample rate
54
+ # specified in the request. Here is how the response will be piped to the
55
+ # transport:
56
+ # ```
57
+ # response.on('data', (chunk: Buffer) => {
58
+ # outputStream.write(chunk);
59
+ # });
60
+ # ```
61
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
62
+ # @return [Vapi::ServerMessageResponseVoiceRequest]
63
+ def initialize(data:, additional_properties: nil)
64
+ @data = data
65
+ @additional_properties = additional_properties
66
+ @_field_set = { "data": data }
67
+ end
68
+
69
+ # Deserialize a JSON object to an instance of ServerMessageResponseVoiceRequest
70
+ #
71
+ # @param json_object [String]
72
+ # @return [Vapi::ServerMessageResponseVoiceRequest]
73
+ def self.from_json(json_object:)
74
+ struct = JSON.parse(json_object, object_class: OpenStruct)
75
+ parsed_json = JSON.parse(json_object)
76
+ data = parsed_json["data"]
77
+ new(data: data, additional_properties: struct)
78
+ end
79
+
80
+ # Serialize an instance of ServerMessageResponseVoiceRequest to a JSON object
81
+ #
82
+ # @return [String]
83
+ def to_json(*_args)
84
+ @_field_set&.to_json
85
+ end
86
+
87
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
88
+ # hash and check each fields type against the current object's property
89
+ # definitions.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Void]
93
+ def self.validate_raw(obj:)
94
+ obj.data.is_a?(String) != false || raise("Passed value for field obj.data is not the expected type, validation failed.")
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "server_message_speech_update_phone_number"
4
+ require_relative "server_message_speech_update_status"
5
+ require_relative "server_message_speech_update_role"
6
+ require_relative "artifact"
7
+ require_relative "create_assistant_dto"
8
+ require_relative "create_customer_dto"
9
+ require_relative "call"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Vapi
14
+ class ServerMessageSpeechUpdate
15
+ # @return [Vapi::ServerMessageSpeechUpdatePhoneNumber] This is the phone number associated with the call.
16
+ # This matches one of the following:
17
+ # - `call.phoneNumber`,
18
+ # - `call.phoneNumberId`.
19
+ attr_reader :phone_number
20
+ # @return [Vapi::ServerMessageSpeechUpdateStatus] This is the status of the speech update.
21
+ attr_reader :status
22
+ # @return [Vapi::ServerMessageSpeechUpdateRole] This is the role which the speech update is for.
23
+ attr_reader :role
24
+ # @return [String] This is the ISO-8601 formatted timestamp of when the message was sent.
25
+ attr_reader :timestamp
26
+ # @return [Vapi::Artifact] This is a live version of the `call.artifact`.
27
+ # This matches what is stored on `call.artifact` after the call.
28
+ attr_reader :artifact
29
+ # @return [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
30
+ # convenience.
31
+ # This matches one of the following:
32
+ # - `call.assistant`,
33
+ # - `call.assistantId`,
34
+ # - `call.squad[n].assistant`,
35
+ # - `call.squad[n].assistantId`,
36
+ # - `call.squadId->[n].assistant`,
37
+ # - `call.squadId->[n].assistantId`.
38
+ attr_reader :assistant
39
+ # @return [Vapi::CreateCustomerDto] This is the customer associated with the call.
40
+ # This matches one of the following:
41
+ # - `call.customer`,
42
+ # - `call.customerId`.
43
+ attr_reader :customer
44
+ # @return [Vapi::Call] This is the call object.
45
+ # This matches what was returned in POST /call.
46
+ # Note: This might get stale during the call. To get the latest call object,
47
+ # especially after the call is ended, use GET /call/:id.
48
+ attr_reader :call
49
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
50
+ attr_reader :additional_properties
51
+ # @return [Object]
52
+ attr_reader :_field_set
53
+ protected :_field_set
54
+
55
+ OMIT = Object.new
56
+
57
+ # @param phone_number [Vapi::ServerMessageSpeechUpdatePhoneNumber] This is the phone number associated with the call.
58
+ # This matches one of the following:
59
+ # - `call.phoneNumber`,
60
+ # - `call.phoneNumberId`.
61
+ # @param status [Vapi::ServerMessageSpeechUpdateStatus] This is the status of the speech update.
62
+ # @param role [Vapi::ServerMessageSpeechUpdateRole] This is the role which the speech update is for.
63
+ # @param timestamp [String] This is the ISO-8601 formatted timestamp of when the message was sent.
64
+ # @param artifact [Vapi::Artifact] This is a live version of the `call.artifact`.
65
+ # This matches what is stored on `call.artifact` after the call.
66
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
67
+ # convenience.
68
+ # This matches one of the following:
69
+ # - `call.assistant`,
70
+ # - `call.assistantId`,
71
+ # - `call.squad[n].assistant`,
72
+ # - `call.squad[n].assistantId`,
73
+ # - `call.squadId->[n].assistant`,
74
+ # - `call.squadId->[n].assistantId`.
75
+ # @param customer [Vapi::CreateCustomerDto] This is the customer associated with the call.
76
+ # This matches one of the following:
77
+ # - `call.customer`,
78
+ # - `call.customerId`.
79
+ # @param call [Vapi::Call] This is the call object.
80
+ # This matches what was returned in POST /call.
81
+ # Note: This might get stale during the call. To get the latest call object,
82
+ # especially after the call is ended, use GET /call/:id.
83
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
84
+ # @return [Vapi::ServerMessageSpeechUpdate]
85
+ def initialize(status:, role:, phone_number: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT,
86
+ customer: OMIT, call: OMIT, additional_properties: nil)
87
+ @phone_number = phone_number if phone_number != OMIT
88
+ @status = status
89
+ @role = role
90
+ @timestamp = timestamp if timestamp != OMIT
91
+ @artifact = artifact if artifact != OMIT
92
+ @assistant = assistant if assistant != OMIT
93
+ @customer = customer if customer != OMIT
94
+ @call = call if call != OMIT
95
+ @additional_properties = additional_properties
96
+ @_field_set = {
97
+ "phoneNumber": phone_number,
98
+ "status": status,
99
+ "role": role,
100
+ "timestamp": timestamp,
101
+ "artifact": artifact,
102
+ "assistant": assistant,
103
+ "customer": customer,
104
+ "call": call
105
+ }.reject do |_k, v|
106
+ v == OMIT
107
+ end
108
+ end
109
+
110
+ # Deserialize a JSON object to an instance of ServerMessageSpeechUpdate
111
+ #
112
+ # @param json_object [String]
113
+ # @return [Vapi::ServerMessageSpeechUpdate]
114
+ def self.from_json(json_object:)
115
+ struct = JSON.parse(json_object, object_class: OpenStruct)
116
+ parsed_json = JSON.parse(json_object)
117
+ if parsed_json["phoneNumber"].nil?
118
+ phone_number = nil
119
+ else
120
+ phone_number = parsed_json["phoneNumber"].to_json
121
+ phone_number = Vapi::ServerMessageSpeechUpdatePhoneNumber.from_json(json_object: phone_number)
122
+ end
123
+ status = parsed_json["status"]
124
+ role = parsed_json["role"]
125
+ timestamp = parsed_json["timestamp"]
126
+ if parsed_json["artifact"].nil?
127
+ artifact = nil
128
+ else
129
+ artifact = parsed_json["artifact"].to_json
130
+ artifact = Vapi::Artifact.from_json(json_object: artifact)
131
+ end
132
+ if parsed_json["assistant"].nil?
133
+ assistant = nil
134
+ else
135
+ assistant = parsed_json["assistant"].to_json
136
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
137
+ end
138
+ if parsed_json["customer"].nil?
139
+ customer = nil
140
+ else
141
+ customer = parsed_json["customer"].to_json
142
+ customer = Vapi::CreateCustomerDto.from_json(json_object: customer)
143
+ end
144
+ if parsed_json["call"].nil?
145
+ call = nil
146
+ else
147
+ call = parsed_json["call"].to_json
148
+ call = Vapi::Call.from_json(json_object: call)
149
+ end
150
+ new(
151
+ phone_number: phone_number,
152
+ status: status,
153
+ role: role,
154
+ timestamp: timestamp,
155
+ artifact: artifact,
156
+ assistant: assistant,
157
+ customer: customer,
158
+ call: call,
159
+ additional_properties: struct
160
+ )
161
+ end
162
+
163
+ # Serialize an instance of ServerMessageSpeechUpdate to a JSON object
164
+ #
165
+ # @return [String]
166
+ def to_json(*_args)
167
+ @_field_set&.to_json
168
+ end
169
+
170
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
171
+ # hash and check each fields type against the current object's property
172
+ # definitions.
173
+ #
174
+ # @param obj [Object]
175
+ # @return [Void]
176
+ def self.validate_raw(obj:)
177
+ obj.phone_number.nil? || Vapi::ServerMessageSpeechUpdatePhoneNumber.validate_raw(obj: obj.phone_number)
178
+ obj.status.is_a?(Vapi::ServerMessageSpeechUpdateStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
179
+ obj.role.is_a?(Vapi::ServerMessageSpeechUpdateRole) != false || raise("Passed value for field obj.role is not the expected type, validation failed.")
180
+ obj.timestamp&.is_a?(String) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
181
+ obj.artifact.nil? || Vapi::Artifact.validate_raw(obj: obj.artifact)
182
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
183
+ obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
184
+ obj.call.nil? || Vapi::Call.validate_raw(obj: obj.call)
185
+ end
186
+ end
187
+ end
@@ -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 ServerMessageSpeechUpdatePhoneNumber
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::ServerMessageSpeechUpdatePhoneNumber]
26
+ def initialize(member:, discriminant:)
27
+ @member = member
28
+ @discriminant = discriminant
29
+ end
30
+
31
+ # Deserialize a JSON object to an instance of ServerMessageSpeechUpdatePhoneNumber
32
+ #
33
+ # @param json_object [String]
34
+ # @return [Vapi::ServerMessageSpeechUpdatePhoneNumber]
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::ServerMessageSpeechUpdatePhoneNumber]
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::ServerMessageSpeechUpdatePhoneNumber]
108
+ def self.twilio(member:)
109
+ new(member: member, discriminant: "twilio")
110
+ end
111
+
112
+ # @param member [Vapi::CreateVonagePhoneNumberDto]
113
+ # @return [Vapi::ServerMessageSpeechUpdatePhoneNumber]
114
+ def self.vonage(member:)
115
+ new(member: member, discriminant: "vonage")
116
+ end
117
+
118
+ # @param member [Vapi::CreateVapiPhoneNumberDto]
119
+ # @return [Vapi::ServerMessageSpeechUpdatePhoneNumber]
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 which the speech update is for.
5
+ class ServerMessageSpeechUpdateRole
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 status of the speech update.
5
+ class ServerMessageSpeechUpdateStatus
6
+ STARTED = "started"
7
+ STOPPED = "stopped"
8
+ end
9
+ end
@@ -0,0 +1,255 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "server_message_status_update_phone_number"
4
+ require_relative "server_message_status_update_status"
5
+ require_relative "server_message_status_update_ended_reason"
6
+ require_relative "server_message_status_update_messages_item"
7
+ require_relative "open_ai_message"
8
+ require_relative "server_message_status_update_destination"
9
+ require_relative "artifact"
10
+ require_relative "create_assistant_dto"
11
+ require_relative "create_customer_dto"
12
+ require_relative "call"
13
+ require "ostruct"
14
+ require "json"
15
+
16
+ module Vapi
17
+ class ServerMessageStatusUpdate
18
+ # @return [Vapi::ServerMessageStatusUpdatePhoneNumber] This is the phone number associated with the call.
19
+ # This matches one of the following:
20
+ # - `call.phoneNumber`,
21
+ # - `call.phoneNumberId`.
22
+ attr_reader :phone_number
23
+ # @return [Vapi::ServerMessageStatusUpdateStatus] This is the status of the call.
24
+ attr_reader :status
25
+ # @return [Vapi::ServerMessageStatusUpdateEndedReason] This is the reason the call ended. This is only sent if the status is "ended".
26
+ attr_reader :ended_reason
27
+ # @return [Array<Vapi::ServerMessageStatusUpdateMessagesItem>] These are the conversation messages of the call. This is only sent if the status
28
+ # is "forwarding".
29
+ attr_reader :messages
30
+ # @return [Array<Vapi::OpenAiMessage>] These are the conversation messages of the call. This is only sent if the status
31
+ # is "forwarding".
32
+ attr_reader :messages_open_ai_formatted
33
+ # @return [Vapi::ServerMessageStatusUpdateDestination] This is the destination the call is being transferred to. This is only sent if
34
+ # the status is "forwarding".
35
+ attr_reader :destination
36
+ # @return [String] This is the ISO-8601 formatted timestamp of when the message was sent.
37
+ attr_reader :timestamp
38
+ # @return [Vapi::Artifact] This is a live version of the `call.artifact`.
39
+ # This matches what is stored on `call.artifact` after the call.
40
+ attr_reader :artifact
41
+ # @return [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
42
+ # convenience.
43
+ # This matches one of the following:
44
+ # - `call.assistant`,
45
+ # - `call.assistantId`,
46
+ # - `call.squad[n].assistant`,
47
+ # - `call.squad[n].assistantId`,
48
+ # - `call.squadId->[n].assistant`,
49
+ # - `call.squadId->[n].assistantId`.
50
+ attr_reader :assistant
51
+ # @return [Vapi::CreateCustomerDto] This is the customer associated with the call.
52
+ # This matches one of the following:
53
+ # - `call.customer`,
54
+ # - `call.customerId`.
55
+ attr_reader :customer
56
+ # @return [Vapi::Call] This is the call object.
57
+ # This matches what was returned in POST /call.
58
+ # Note: This might get stale during the call. To get the latest call object,
59
+ # especially after the call is ended, use GET /call/:id.
60
+ attr_reader :call
61
+ # @return [String] This is the transcript of the call. This is only sent if the status is
62
+ # "forwarding".
63
+ attr_reader :transcript
64
+ # @return [Hash{String => Object}] This is the inbound phone call debugging artifacts. This is only sent if the
65
+ # status is "ended" and there was an error accepting the inbound phone call.
66
+ # This will include any errors related to the "assistant-request" if one was made.
67
+ attr_reader :inbound_phone_call_debugging_artifacts
68
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
69
+ attr_reader :additional_properties
70
+ # @return [Object]
71
+ attr_reader :_field_set
72
+ protected :_field_set
73
+
74
+ OMIT = Object.new
75
+
76
+ # @param phone_number [Vapi::ServerMessageStatusUpdatePhoneNumber] This is the phone number associated with the call.
77
+ # This matches one of the following:
78
+ # - `call.phoneNumber`,
79
+ # - `call.phoneNumberId`.
80
+ # @param status [Vapi::ServerMessageStatusUpdateStatus] This is the status of the call.
81
+ # @param ended_reason [Vapi::ServerMessageStatusUpdateEndedReason] This is the reason the call ended. This is only sent if the status is "ended".
82
+ # @param messages [Array<Vapi::ServerMessageStatusUpdateMessagesItem>] These are the conversation messages of the call. This is only sent if the status
83
+ # is "forwarding".
84
+ # @param messages_open_ai_formatted [Array<Vapi::OpenAiMessage>] These are the conversation messages of the call. This is only sent if the status
85
+ # is "forwarding".
86
+ # @param destination [Vapi::ServerMessageStatusUpdateDestination] This is the destination the call is being transferred to. This is only sent if
87
+ # the status is "forwarding".
88
+ # @param timestamp [String] This is the ISO-8601 formatted timestamp of when the message was sent.
89
+ # @param artifact [Vapi::Artifact] This is a live version of the `call.artifact`.
90
+ # This matches what is stored on `call.artifact` after the call.
91
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that is currently active. This is provided for
92
+ # convenience.
93
+ # This matches one of the following:
94
+ # - `call.assistant`,
95
+ # - `call.assistantId`,
96
+ # - `call.squad[n].assistant`,
97
+ # - `call.squad[n].assistantId`,
98
+ # - `call.squadId->[n].assistant`,
99
+ # - `call.squadId->[n].assistantId`.
100
+ # @param customer [Vapi::CreateCustomerDto] This is the customer associated with the call.
101
+ # This matches one of the following:
102
+ # - `call.customer`,
103
+ # - `call.customerId`.
104
+ # @param call [Vapi::Call] This is the call object.
105
+ # This matches what was returned in POST /call.
106
+ # Note: This might get stale during the call. To get the latest call object,
107
+ # especially after the call is ended, use GET /call/:id.
108
+ # @param transcript [String] This is the transcript of the call. This is only sent if the status is
109
+ # "forwarding".
110
+ # @param inbound_phone_call_debugging_artifacts [Hash{String => Object}] This is the inbound phone call debugging artifacts. This is only sent if the
111
+ # status is "ended" and there was an error accepting the inbound phone call.
112
+ # This will include any errors related to the "assistant-request" if one was made.
113
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
114
+ # @return [Vapi::ServerMessageStatusUpdate]
115
+ def initialize(status:, phone_number: OMIT, ended_reason: OMIT, messages: OMIT, messages_open_ai_formatted: OMIT,
116
+ destination: OMIT, timestamp: OMIT, artifact: OMIT, assistant: OMIT, customer: OMIT, call: OMIT, transcript: OMIT, inbound_phone_call_debugging_artifacts: OMIT, additional_properties: nil)
117
+ @phone_number = phone_number if phone_number != OMIT
118
+ @status = status
119
+ @ended_reason = ended_reason if ended_reason != OMIT
120
+ @messages = messages if messages != OMIT
121
+ @messages_open_ai_formatted = messages_open_ai_formatted if messages_open_ai_formatted != OMIT
122
+ @destination = destination if destination != OMIT
123
+ @timestamp = timestamp if timestamp != OMIT
124
+ @artifact = artifact if artifact != OMIT
125
+ @assistant = assistant if assistant != OMIT
126
+ @customer = customer if customer != OMIT
127
+ @call = call if call != OMIT
128
+ @transcript = transcript if transcript != OMIT
129
+ if inbound_phone_call_debugging_artifacts != OMIT
130
+ @inbound_phone_call_debugging_artifacts = inbound_phone_call_debugging_artifacts
131
+ end
132
+ @additional_properties = additional_properties
133
+ @_field_set = {
134
+ "phoneNumber": phone_number,
135
+ "status": status,
136
+ "endedReason": ended_reason,
137
+ "messages": messages,
138
+ "messagesOpenAIFormatted": messages_open_ai_formatted,
139
+ "destination": destination,
140
+ "timestamp": timestamp,
141
+ "artifact": artifact,
142
+ "assistant": assistant,
143
+ "customer": customer,
144
+ "call": call,
145
+ "transcript": transcript,
146
+ "inboundPhoneCallDebuggingArtifacts": inbound_phone_call_debugging_artifacts
147
+ }.reject do |_k, v|
148
+ v == OMIT
149
+ end
150
+ end
151
+
152
+ # Deserialize a JSON object to an instance of ServerMessageStatusUpdate
153
+ #
154
+ # @param json_object [String]
155
+ # @return [Vapi::ServerMessageStatusUpdate]
156
+ def self.from_json(json_object:)
157
+ struct = JSON.parse(json_object, object_class: OpenStruct)
158
+ parsed_json = JSON.parse(json_object)
159
+ if parsed_json["phoneNumber"].nil?
160
+ phone_number = nil
161
+ else
162
+ phone_number = parsed_json["phoneNumber"].to_json
163
+ phone_number = Vapi::ServerMessageStatusUpdatePhoneNumber.from_json(json_object: phone_number)
164
+ end
165
+ status = parsed_json["status"]
166
+ ended_reason = parsed_json["endedReason"]
167
+ messages = parsed_json["messages"]&.map do |item|
168
+ item = item.to_json
169
+ Vapi::ServerMessageStatusUpdateMessagesItem.from_json(json_object: item)
170
+ end
171
+ messages_open_ai_formatted = parsed_json["messagesOpenAIFormatted"]&.map do |item|
172
+ item = item.to_json
173
+ Vapi::OpenAiMessage.from_json(json_object: item)
174
+ end
175
+ if parsed_json["destination"].nil?
176
+ destination = nil
177
+ else
178
+ destination = parsed_json["destination"].to_json
179
+ destination = Vapi::ServerMessageStatusUpdateDestination.from_json(json_object: destination)
180
+ end
181
+ timestamp = parsed_json["timestamp"]
182
+ if parsed_json["artifact"].nil?
183
+ artifact = nil
184
+ else
185
+ artifact = parsed_json["artifact"].to_json
186
+ artifact = Vapi::Artifact.from_json(json_object: artifact)
187
+ end
188
+ if parsed_json["assistant"].nil?
189
+ assistant = nil
190
+ else
191
+ assistant = parsed_json["assistant"].to_json
192
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
193
+ end
194
+ if parsed_json["customer"].nil?
195
+ customer = nil
196
+ else
197
+ customer = parsed_json["customer"].to_json
198
+ customer = Vapi::CreateCustomerDto.from_json(json_object: customer)
199
+ end
200
+ if parsed_json["call"].nil?
201
+ call = nil
202
+ else
203
+ call = parsed_json["call"].to_json
204
+ call = Vapi::Call.from_json(json_object: call)
205
+ end
206
+ transcript = parsed_json["transcript"]
207
+ inbound_phone_call_debugging_artifacts = parsed_json["inboundPhoneCallDebuggingArtifacts"]
208
+ new(
209
+ phone_number: phone_number,
210
+ status: status,
211
+ ended_reason: ended_reason,
212
+ messages: messages,
213
+ messages_open_ai_formatted: messages_open_ai_formatted,
214
+ destination: destination,
215
+ timestamp: timestamp,
216
+ artifact: artifact,
217
+ assistant: assistant,
218
+ customer: customer,
219
+ call: call,
220
+ transcript: transcript,
221
+ inbound_phone_call_debugging_artifacts: inbound_phone_call_debugging_artifacts,
222
+ additional_properties: struct
223
+ )
224
+ end
225
+
226
+ # Serialize an instance of ServerMessageStatusUpdate to a JSON object
227
+ #
228
+ # @return [String]
229
+ def to_json(*_args)
230
+ @_field_set&.to_json
231
+ end
232
+
233
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
234
+ # hash and check each fields type against the current object's property
235
+ # definitions.
236
+ #
237
+ # @param obj [Object]
238
+ # @return [Void]
239
+ def self.validate_raw(obj:)
240
+ obj.phone_number.nil? || Vapi::ServerMessageStatusUpdatePhoneNumber.validate_raw(obj: obj.phone_number)
241
+ obj.status.is_a?(Vapi::ServerMessageStatusUpdateStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
242
+ obj.ended_reason&.is_a?(Vapi::ServerMessageStatusUpdateEndedReason) != false || raise("Passed value for field obj.ended_reason is not the expected type, validation failed.")
243
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
244
+ obj.messages_open_ai_formatted&.is_a?(Array) != false || raise("Passed value for field obj.messages_open_ai_formatted is not the expected type, validation failed.")
245
+ obj.destination.nil? || Vapi::ServerMessageStatusUpdateDestination.validate_raw(obj: obj.destination)
246
+ obj.timestamp&.is_a?(String) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
247
+ obj.artifact.nil? || Vapi::Artifact.validate_raw(obj: obj.artifact)
248
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
249
+ obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
250
+ obj.call.nil? || Vapi::Call.validate_raw(obj: obj.call)
251
+ obj.transcript&.is_a?(String) != false || raise("Passed value for field obj.transcript is not the expected type, validation failed.")
252
+ obj.inbound_phone_call_debugging_artifacts&.is_a?(Hash) != false || raise("Passed value for field obj.inbound_phone_call_debugging_artifacts is not the expected type, validation failed.")
253
+ end
254
+ end
255
+ end