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,425 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "call_type"
4
+ require_relative "call_costs_item"
5
+ require_relative "call_messages_item"
6
+ require_relative "call_phone_call_provider"
7
+ require_relative "call_phone_call_transport"
8
+ require_relative "call_status"
9
+ require_relative "call_ended_reason"
10
+ require_relative "call_destination"
11
+ require "date"
12
+ require_relative "cost_breakdown"
13
+ require_relative "artifact_plan"
14
+ require_relative "analysis"
15
+ require_relative "monitor"
16
+ require_relative "artifact"
17
+ require_relative "create_assistant_dto"
18
+ require_relative "assistant_overrides"
19
+ require_relative "create_squad_dto"
20
+ require_relative "import_twilio_phone_number_dto"
21
+ require_relative "create_customer_dto"
22
+ require "ostruct"
23
+ require "json"
24
+
25
+ module Vapi
26
+ class Call
27
+ # @return [Vapi::CallType] This is the type of call.
28
+ attr_reader :type
29
+ # @return [Array<Vapi::CallCostsItem>] These are the costs of individual components of the call in USD.
30
+ attr_reader :costs
31
+ # @return [Array<Vapi::CallMessagesItem>]
32
+ attr_reader :messages
33
+ # @return [Vapi::CallPhoneCallProvider] This is the provider of the call.
34
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
35
+ attr_reader :phone_call_provider
36
+ # @return [Vapi::CallPhoneCallTransport] This is the transport of the phone call.
37
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
38
+ attr_reader :phone_call_transport
39
+ # @return [Vapi::CallStatus] This is the status of the call.
40
+ attr_reader :status
41
+ # @return [Vapi::CallEndedReason] This is the explanation for how the call ended.
42
+ attr_reader :ended_reason
43
+ # @return [Vapi::CallDestination] This is the destination where the call ended up being transferred to. If the
44
+ # call was not transferred, this will be empty.
45
+ attr_reader :destination
46
+ # @return [String] This is the unique identifier for the call.
47
+ attr_reader :id
48
+ # @return [String] This is the unique identifier for the org that this call belongs to.
49
+ attr_reader :org_id
50
+ # @return [DateTime] This is the ISO 8601 date-time string of when the call was created.
51
+ attr_reader :created_at
52
+ # @return [DateTime] This is the ISO 8601 date-time string of when the call was last updated.
53
+ attr_reader :updated_at
54
+ # @return [DateTime] This is the ISO 8601 date-time string of when the call was started.
55
+ attr_reader :started_at
56
+ # @return [DateTime] This is the ISO 8601 date-time string of when the call was ended.
57
+ attr_reader :ended_at
58
+ # @return [Float] This is the cost of the call in USD.
59
+ attr_reader :cost
60
+ # @return [Vapi::CostBreakdown] This is the cost of the call in USD.
61
+ attr_reader :cost_breakdown
62
+ # @return [Vapi::ArtifactPlan] This is a copy of assistant artifact plan. This isn't actually stored on the
63
+ # call but rather just returned in POST /call/web to enable artifact creation
64
+ # client side.
65
+ attr_reader :artifact_plan
66
+ # @return [Vapi::Analysis] This is the analysis of the call. Configure in `assistant.analysisPlan`.
67
+ attr_reader :analysis
68
+ # @return [Vapi::Monitor] This is to real-time monitor the call. Configure in `assistant.monitorPlan`.
69
+ attr_reader :monitor
70
+ # @return [Vapi::Artifact] These are the artifacts created from the call. Configure in
71
+ # `assistant.artifactPlan`.
72
+ attr_reader :artifact
73
+ # @return [String] The ID of the call as provided by the phone number service. callSid in Twilio.
74
+ # conversationUuid in Vonage.
75
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
76
+ attr_reader :phone_call_provider_id
77
+ # @return [String] This is the assistant that will be used for the call. To use a transient
78
+ # assistant, use `assistant` instead.
79
+ attr_reader :assistant_id
80
+ # @return [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
81
+ # assistant, use `assistantId` instead.
82
+ attr_reader :assistant
83
+ # @return [Vapi::AssistantOverrides] These are the overrides for the `assistant` or `assistantId`'s settings and
84
+ # template variables.
85
+ attr_reader :assistant_overrides
86
+ # @return [String] This is the squad that will be used for the call. To use a transient squad, use
87
+ # `squad` instead.
88
+ attr_reader :squad_id
89
+ # @return [Vapi::CreateSquadDto] This is a squad that will be used for the call. To use an existing squad, use
90
+ # `squadId` instead.
91
+ attr_reader :squad
92
+ # @return [String] This is the phone number that will be used for the call. To use a transient
93
+ # number, use `phoneNumber` instead.
94
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
95
+ attr_reader :phone_number_id
96
+ # @return [Vapi::ImportTwilioPhoneNumberDto] This is the phone number that will be used for the call. To use an existing
97
+ # number, use `phoneNumberId` instead.
98
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
99
+ attr_reader :phone_number
100
+ # @return [String] This is the customer that will be called. To call a transient customer , use
101
+ # `customer` instead.
102
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
103
+ attr_reader :customer_id
104
+ # @return [Vapi::CreateCustomerDto] This is the customer that will be called. To call an existing customer, use
105
+ # `customerId` instead.
106
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
107
+ attr_reader :customer
108
+ # @return [String] This is the name of the call. This is just for your own reference.
109
+ attr_reader :name
110
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
111
+ attr_reader :additional_properties
112
+ # @return [Object]
113
+ attr_reader :_field_set
114
+ protected :_field_set
115
+
116
+ OMIT = Object.new
117
+
118
+ # @param type [Vapi::CallType] This is the type of call.
119
+ # @param costs [Array<Vapi::CallCostsItem>] These are the costs of individual components of the call in USD.
120
+ # @param messages [Array<Vapi::CallMessagesItem>]
121
+ # @param phone_call_provider [Vapi::CallPhoneCallProvider] This is the provider of the call.
122
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
123
+ # @param phone_call_transport [Vapi::CallPhoneCallTransport] This is the transport of the phone call.
124
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
125
+ # @param status [Vapi::CallStatus] This is the status of the call.
126
+ # @param ended_reason [Vapi::CallEndedReason] This is the explanation for how the call ended.
127
+ # @param destination [Vapi::CallDestination] This is the destination where the call ended up being transferred to. If the
128
+ # call was not transferred, this will be empty.
129
+ # @param id [String] This is the unique identifier for the call.
130
+ # @param org_id [String] This is the unique identifier for the org that this call belongs to.
131
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the call was created.
132
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the call was last updated.
133
+ # @param started_at [DateTime] This is the ISO 8601 date-time string of when the call was started.
134
+ # @param ended_at [DateTime] This is the ISO 8601 date-time string of when the call was ended.
135
+ # @param cost [Float] This is the cost of the call in USD.
136
+ # @param cost_breakdown [Vapi::CostBreakdown] This is the cost of the call in USD.
137
+ # @param artifact_plan [Vapi::ArtifactPlan] This is a copy of assistant artifact plan. This isn't actually stored on the
138
+ # call but rather just returned in POST /call/web to enable artifact creation
139
+ # client side.
140
+ # @param analysis [Vapi::Analysis] This is the analysis of the call. Configure in `assistant.analysisPlan`.
141
+ # @param monitor [Vapi::Monitor] This is to real-time monitor the call. Configure in `assistant.monitorPlan`.
142
+ # @param artifact [Vapi::Artifact] These are the artifacts created from the call. Configure in
143
+ # `assistant.artifactPlan`.
144
+ # @param phone_call_provider_id [String] The ID of the call as provided by the phone number service. callSid in Twilio.
145
+ # conversationUuid in Vonage.
146
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
147
+ # @param assistant_id [String] This is the assistant that will be used for the call. To use a transient
148
+ # assistant, use `assistant` instead.
149
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
150
+ # assistant, use `assistantId` instead.
151
+ # @param assistant_overrides [Vapi::AssistantOverrides] These are the overrides for the `assistant` or `assistantId`'s settings and
152
+ # template variables.
153
+ # @param squad_id [String] This is the squad that will be used for the call. To use a transient squad, use
154
+ # `squad` instead.
155
+ # @param squad [Vapi::CreateSquadDto] This is a squad that will be used for the call. To use an existing squad, use
156
+ # `squadId` instead.
157
+ # @param phone_number_id [String] This is the phone number that will be used for the call. To use a transient
158
+ # number, use `phoneNumber` instead.
159
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
160
+ # @param phone_number [Vapi::ImportTwilioPhoneNumberDto] This is the phone number that will be used for the call. To use an existing
161
+ # number, use `phoneNumberId` instead.
162
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
163
+ # @param customer_id [String] This is the customer that will be called. To call a transient customer , use
164
+ # `customer` instead.
165
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
166
+ # @param customer [Vapi::CreateCustomerDto] This is the customer that will be called. To call an existing customer, use
167
+ # `customerId` instead.
168
+ # Only relevant for `outboundPhoneCall` and `inboundPhoneCall` type.
169
+ # @param name [String] This is the name of the call. This is just for your own reference.
170
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
171
+ # @return [Vapi::Call]
172
+ def initialize(id:, org_id:, created_at:, updated_at:, type: OMIT, costs: OMIT, messages: OMIT, phone_call_provider: OMIT, phone_call_transport: OMIT,
173
+ status: OMIT, ended_reason: OMIT, destination: OMIT, started_at: OMIT, ended_at: OMIT, cost: OMIT, cost_breakdown: OMIT, artifact_plan: OMIT, analysis: OMIT, monitor: OMIT, artifact: OMIT, phone_call_provider_id: OMIT, assistant_id: OMIT, assistant: OMIT, assistant_overrides: OMIT, squad_id: OMIT, squad: OMIT, phone_number_id: OMIT, phone_number: OMIT, customer_id: OMIT, customer: OMIT, name: OMIT, additional_properties: nil)
174
+ @type = type if type != OMIT
175
+ @costs = costs if costs != OMIT
176
+ @messages = messages if messages != OMIT
177
+ @phone_call_provider = phone_call_provider if phone_call_provider != OMIT
178
+ @phone_call_transport = phone_call_transport if phone_call_transport != OMIT
179
+ @status = status if status != OMIT
180
+ @ended_reason = ended_reason if ended_reason != OMIT
181
+ @destination = destination if destination != OMIT
182
+ @id = id
183
+ @org_id = org_id
184
+ @created_at = created_at
185
+ @updated_at = updated_at
186
+ @started_at = started_at if started_at != OMIT
187
+ @ended_at = ended_at if ended_at != OMIT
188
+ @cost = cost if cost != OMIT
189
+ @cost_breakdown = cost_breakdown if cost_breakdown != OMIT
190
+ @artifact_plan = artifact_plan if artifact_plan != OMIT
191
+ @analysis = analysis if analysis != OMIT
192
+ @monitor = monitor if monitor != OMIT
193
+ @artifact = artifact if artifact != OMIT
194
+ @phone_call_provider_id = phone_call_provider_id if phone_call_provider_id != OMIT
195
+ @assistant_id = assistant_id if assistant_id != OMIT
196
+ @assistant = assistant if assistant != OMIT
197
+ @assistant_overrides = assistant_overrides if assistant_overrides != OMIT
198
+ @squad_id = squad_id if squad_id != OMIT
199
+ @squad = squad if squad != OMIT
200
+ @phone_number_id = phone_number_id if phone_number_id != OMIT
201
+ @phone_number = phone_number if phone_number != OMIT
202
+ @customer_id = customer_id if customer_id != OMIT
203
+ @customer = customer if customer != OMIT
204
+ @name = name if name != OMIT
205
+ @additional_properties = additional_properties
206
+ @_field_set = {
207
+ "type": type,
208
+ "costs": costs,
209
+ "messages": messages,
210
+ "phoneCallProvider": phone_call_provider,
211
+ "phoneCallTransport": phone_call_transport,
212
+ "status": status,
213
+ "endedReason": ended_reason,
214
+ "destination": destination,
215
+ "id": id,
216
+ "orgId": org_id,
217
+ "createdAt": created_at,
218
+ "updatedAt": updated_at,
219
+ "startedAt": started_at,
220
+ "endedAt": ended_at,
221
+ "cost": cost,
222
+ "costBreakdown": cost_breakdown,
223
+ "artifactPlan": artifact_plan,
224
+ "analysis": analysis,
225
+ "monitor": monitor,
226
+ "artifact": artifact,
227
+ "phoneCallProviderId": phone_call_provider_id,
228
+ "assistantId": assistant_id,
229
+ "assistant": assistant,
230
+ "assistantOverrides": assistant_overrides,
231
+ "squadId": squad_id,
232
+ "squad": squad,
233
+ "phoneNumberId": phone_number_id,
234
+ "phoneNumber": phone_number,
235
+ "customerId": customer_id,
236
+ "customer": customer,
237
+ "name": name
238
+ }.reject do |_k, v|
239
+ v == OMIT
240
+ end
241
+ end
242
+
243
+ # Deserialize a JSON object to an instance of Call
244
+ #
245
+ # @param json_object [String]
246
+ # @return [Vapi::Call]
247
+ def self.from_json(json_object:)
248
+ struct = JSON.parse(json_object, object_class: OpenStruct)
249
+ parsed_json = JSON.parse(json_object)
250
+ type = parsed_json["type"]
251
+ costs = parsed_json["costs"]&.map do |item|
252
+ item = item.to_json
253
+ Vapi::CallCostsItem.from_json(json_object: item)
254
+ end
255
+ messages = parsed_json["messages"]&.map do |item|
256
+ item = item.to_json
257
+ Vapi::CallMessagesItem.from_json(json_object: item)
258
+ end
259
+ phone_call_provider = parsed_json["phoneCallProvider"]
260
+ phone_call_transport = parsed_json["phoneCallTransport"]
261
+ status = parsed_json["status"]
262
+ ended_reason = parsed_json["endedReason"]
263
+ if parsed_json["destination"].nil?
264
+ destination = nil
265
+ else
266
+ destination = parsed_json["destination"].to_json
267
+ destination = Vapi::CallDestination.from_json(json_object: destination)
268
+ end
269
+ id = parsed_json["id"]
270
+ org_id = parsed_json["orgId"]
271
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
272
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
273
+ started_at = (DateTime.parse(parsed_json["startedAt"]) unless parsed_json["startedAt"].nil?)
274
+ ended_at = (DateTime.parse(parsed_json["endedAt"]) unless parsed_json["endedAt"].nil?)
275
+ cost = parsed_json["cost"]
276
+ if parsed_json["costBreakdown"].nil?
277
+ cost_breakdown = nil
278
+ else
279
+ cost_breakdown = parsed_json["costBreakdown"].to_json
280
+ cost_breakdown = Vapi::CostBreakdown.from_json(json_object: cost_breakdown)
281
+ end
282
+ if parsed_json["artifactPlan"].nil?
283
+ artifact_plan = nil
284
+ else
285
+ artifact_plan = parsed_json["artifactPlan"].to_json
286
+ artifact_plan = Vapi::ArtifactPlan.from_json(json_object: artifact_plan)
287
+ end
288
+ if parsed_json["analysis"].nil?
289
+ analysis = nil
290
+ else
291
+ analysis = parsed_json["analysis"].to_json
292
+ analysis = Vapi::Analysis.from_json(json_object: analysis)
293
+ end
294
+ if parsed_json["monitor"].nil?
295
+ monitor = nil
296
+ else
297
+ monitor = parsed_json["monitor"].to_json
298
+ monitor = Vapi::Monitor.from_json(json_object: monitor)
299
+ end
300
+ if parsed_json["artifact"].nil?
301
+ artifact = nil
302
+ else
303
+ artifact = parsed_json["artifact"].to_json
304
+ artifact = Vapi::Artifact.from_json(json_object: artifact)
305
+ end
306
+ phone_call_provider_id = parsed_json["phoneCallProviderId"]
307
+ assistant_id = parsed_json["assistantId"]
308
+ if parsed_json["assistant"].nil?
309
+ assistant = nil
310
+ else
311
+ assistant = parsed_json["assistant"].to_json
312
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
313
+ end
314
+ if parsed_json["assistantOverrides"].nil?
315
+ assistant_overrides = nil
316
+ else
317
+ assistant_overrides = parsed_json["assistantOverrides"].to_json
318
+ assistant_overrides = Vapi::AssistantOverrides.from_json(json_object: assistant_overrides)
319
+ end
320
+ squad_id = parsed_json["squadId"]
321
+ if parsed_json["squad"].nil?
322
+ squad = nil
323
+ else
324
+ squad = parsed_json["squad"].to_json
325
+ squad = Vapi::CreateSquadDto.from_json(json_object: squad)
326
+ end
327
+ phone_number_id = parsed_json["phoneNumberId"]
328
+ if parsed_json["phoneNumber"].nil?
329
+ phone_number = nil
330
+ else
331
+ phone_number = parsed_json["phoneNumber"].to_json
332
+ phone_number = Vapi::ImportTwilioPhoneNumberDto.from_json(json_object: phone_number)
333
+ end
334
+ customer_id = parsed_json["customerId"]
335
+ if parsed_json["customer"].nil?
336
+ customer = nil
337
+ else
338
+ customer = parsed_json["customer"].to_json
339
+ customer = Vapi::CreateCustomerDto.from_json(json_object: customer)
340
+ end
341
+ name = parsed_json["name"]
342
+ new(
343
+ type: type,
344
+ costs: costs,
345
+ messages: messages,
346
+ phone_call_provider: phone_call_provider,
347
+ phone_call_transport: phone_call_transport,
348
+ status: status,
349
+ ended_reason: ended_reason,
350
+ destination: destination,
351
+ id: id,
352
+ org_id: org_id,
353
+ created_at: created_at,
354
+ updated_at: updated_at,
355
+ started_at: started_at,
356
+ ended_at: ended_at,
357
+ cost: cost,
358
+ cost_breakdown: cost_breakdown,
359
+ artifact_plan: artifact_plan,
360
+ analysis: analysis,
361
+ monitor: monitor,
362
+ artifact: artifact,
363
+ phone_call_provider_id: phone_call_provider_id,
364
+ assistant_id: assistant_id,
365
+ assistant: assistant,
366
+ assistant_overrides: assistant_overrides,
367
+ squad_id: squad_id,
368
+ squad: squad,
369
+ phone_number_id: phone_number_id,
370
+ phone_number: phone_number,
371
+ customer_id: customer_id,
372
+ customer: customer,
373
+ name: name,
374
+ additional_properties: struct
375
+ )
376
+ end
377
+
378
+ # Serialize an instance of Call to a JSON object
379
+ #
380
+ # @return [String]
381
+ def to_json(*_args)
382
+ @_field_set&.to_json
383
+ end
384
+
385
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
386
+ # hash and check each fields type against the current object's property
387
+ # definitions.
388
+ #
389
+ # @param obj [Object]
390
+ # @return [Void]
391
+ def self.validate_raw(obj:)
392
+ obj.type&.is_a?(Vapi::CallType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
393
+ obj.costs&.is_a?(Array) != false || raise("Passed value for field obj.costs is not the expected type, validation failed.")
394
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
395
+ obj.phone_call_provider&.is_a?(Vapi::CallPhoneCallProvider) != false || raise("Passed value for field obj.phone_call_provider is not the expected type, validation failed.")
396
+ obj.phone_call_transport&.is_a?(Vapi::CallPhoneCallTransport) != false || raise("Passed value for field obj.phone_call_transport is not the expected type, validation failed.")
397
+ obj.status&.is_a?(Vapi::CallStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
398
+ obj.ended_reason&.is_a?(Vapi::CallEndedReason) != false || raise("Passed value for field obj.ended_reason is not the expected type, validation failed.")
399
+ obj.destination.nil? || Vapi::CallDestination.validate_raw(obj: obj.destination)
400
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
401
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
402
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
403
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
404
+ obj.started_at&.is_a?(DateTime) != false || raise("Passed value for field obj.started_at is not the expected type, validation failed.")
405
+ obj.ended_at&.is_a?(DateTime) != false || raise("Passed value for field obj.ended_at is not the expected type, validation failed.")
406
+ obj.cost&.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
407
+ obj.cost_breakdown.nil? || Vapi::CostBreakdown.validate_raw(obj: obj.cost_breakdown)
408
+ obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
409
+ obj.analysis.nil? || Vapi::Analysis.validate_raw(obj: obj.analysis)
410
+ obj.monitor.nil? || Vapi::Monitor.validate_raw(obj: obj.monitor)
411
+ obj.artifact.nil? || Vapi::Artifact.validate_raw(obj: obj.artifact)
412
+ obj.phone_call_provider_id&.is_a?(String) != false || raise("Passed value for field obj.phone_call_provider_id is not the expected type, validation failed.")
413
+ obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
414
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
415
+ obj.assistant_overrides.nil? || Vapi::AssistantOverrides.validate_raw(obj: obj.assistant_overrides)
416
+ obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
417
+ obj.squad.nil? || Vapi::CreateSquadDto.validate_raw(obj: obj.squad)
418
+ obj.phone_number_id&.is_a?(String) != false || raise("Passed value for field obj.phone_number_id is not the expected type, validation failed.")
419
+ obj.phone_number.nil? || Vapi::ImportTwilioPhoneNumberDto.validate_raw(obj: obj.phone_number)
420
+ obj.customer_id&.is_a?(String) != false || raise("Passed value for field obj.customer_id is not the expected type, validation failed.")
421
+ obj.customer.nil? || Vapi::CreateCustomerDto.validate_raw(obj: obj.customer)
422
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
423
+ end
424
+ end
425
+ end
@@ -0,0 +1,146 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transport_cost"
5
+ require_relative "transcriber_cost"
6
+ require_relative "model_cost"
7
+ require_relative "voice_cost"
8
+ require_relative "vapi_cost"
9
+ require_relative "analysis_cost"
10
+
11
+ module Vapi
12
+ class CallCostsItem
13
+ # @return [Object]
14
+ attr_reader :member
15
+ # @return [String]
16
+ attr_reader :discriminant
17
+
18
+ private_class_method :new
19
+ alias kind_of? is_a?
20
+
21
+ # @param member [Object]
22
+ # @param discriminant [String]
23
+ # @return [Vapi::CallCostsItem]
24
+ def initialize(member:, discriminant:)
25
+ @member = member
26
+ @discriminant = discriminant
27
+ end
28
+
29
+ # Deserialize a JSON object to an instance of CallCostsItem
30
+ #
31
+ # @param json_object [String]
32
+ # @return [Vapi::CallCostsItem]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ member = case struct.type
36
+ when "transport"
37
+ Vapi::TransportCost.from_json(json_object: json_object)
38
+ when "transcriber"
39
+ Vapi::TranscriberCost.from_json(json_object: json_object)
40
+ when "model"
41
+ Vapi::ModelCost.from_json(json_object: json_object)
42
+ when "voice"
43
+ Vapi::VoiceCost.from_json(json_object: json_object)
44
+ when "vapi"
45
+ Vapi::VapiCost.from_json(json_object: json_object)
46
+ when "analysis"
47
+ Vapi::AnalysisCost.from_json(json_object: json_object)
48
+ else
49
+ Vapi::TransportCost.from_json(json_object: json_object)
50
+ end
51
+ new(member: member, discriminant: struct.type)
52
+ end
53
+
54
+ # For Union Types, to_json functionality is delegated to the wrapped member.
55
+ #
56
+ # @return [String]
57
+ def to_json(*_args)
58
+ case @discriminant
59
+ when "transport"
60
+ { **@member.to_json, type: @discriminant }.to_json
61
+ when "transcriber"
62
+ { **@member.to_json, type: @discriminant }.to_json
63
+ when "model"
64
+ { **@member.to_json, type: @discriminant }.to_json
65
+ when "voice"
66
+ { **@member.to_json, type: @discriminant }.to_json
67
+ when "vapi"
68
+ { **@member.to_json, type: @discriminant }.to_json
69
+ when "analysis"
70
+ { **@member.to_json, type: @discriminant }.to_json
71
+ else
72
+ { "type": @discriminant, value: @member }.to_json
73
+ end
74
+ @member.to_json
75
+ end
76
+
77
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
78
+ # hash and check each fields type against the current object's property
79
+ # definitions.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Void]
83
+ def self.validate_raw(obj:)
84
+ case obj.type
85
+ when "transport"
86
+ Vapi::TransportCost.validate_raw(obj: obj)
87
+ when "transcriber"
88
+ Vapi::TranscriberCost.validate_raw(obj: obj)
89
+ when "model"
90
+ Vapi::ModelCost.validate_raw(obj: obj)
91
+ when "voice"
92
+ Vapi::VoiceCost.validate_raw(obj: obj)
93
+ when "vapi"
94
+ Vapi::VapiCost.validate_raw(obj: obj)
95
+ when "analysis"
96
+ Vapi::AnalysisCost.validate_raw(obj: obj)
97
+ else
98
+ raise("Passed value matched no type within the union, validation failed.")
99
+ end
100
+ end
101
+
102
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
103
+ #
104
+ # @param obj [Object]
105
+ # @return [Boolean]
106
+ def is_a?(obj)
107
+ @member.is_a?(obj)
108
+ end
109
+
110
+ # @param member [Vapi::TransportCost]
111
+ # @return [Vapi::CallCostsItem]
112
+ def self.transport(member:)
113
+ new(member: member, discriminant: "transport")
114
+ end
115
+
116
+ # @param member [Vapi::TranscriberCost]
117
+ # @return [Vapi::CallCostsItem]
118
+ def self.transcriber(member:)
119
+ new(member: member, discriminant: "transcriber")
120
+ end
121
+
122
+ # @param member [Vapi::ModelCost]
123
+ # @return [Vapi::CallCostsItem]
124
+ def self.model(member:)
125
+ new(member: member, discriminant: "model")
126
+ end
127
+
128
+ # @param member [Vapi::VoiceCost]
129
+ # @return [Vapi::CallCostsItem]
130
+ def self.voice(member:)
131
+ new(member: member, discriminant: "voice")
132
+ end
133
+
134
+ # @param member [Vapi::VapiCost]
135
+ # @return [Vapi::CallCostsItem]
136
+ def self.vapi(member:)
137
+ new(member: member, discriminant: "vapi")
138
+ end
139
+
140
+ # @param member [Vapi::AnalysisCost]
141
+ # @return [Vapi::CallCostsItem]
142
+ def self.analysis(member:)
143
+ new(member: member, discriminant: "analysis")
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_number"
5
+ require_relative "transfer_destination_sip"
6
+
7
+ module Vapi
8
+ # This is the destination where the call ended up being transferred to. If the
9
+ # call was not transferred, this will be empty.
10
+ class CallDestination
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::CallDestination]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of CallDestination
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::CallDestination]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ member = case struct.type
34
+ when "number"
35
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
36
+ when "sip"
37
+ Vapi::TransferDestinationSip.from_json(json_object: json_object)
38
+ else
39
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
40
+ end
41
+ new(member: member, discriminant: struct.type)
42
+ end
43
+
44
+ # For Union Types, to_json functionality is delegated to the wrapped member.
45
+ #
46
+ # @return [String]
47
+ def to_json(*_args)
48
+ case @discriminant
49
+ when "number"
50
+ { **@member.to_json, type: @discriminant }.to_json
51
+ when "sip"
52
+ { **@member.to_json, type: @discriminant }.to_json
53
+ else
54
+ { "type": @discriminant, value: @member }.to_json
55
+ end
56
+ @member.to_json
57
+ end
58
+
59
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
+ # hash and check each fields type against the current object's property
61
+ # definitions.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ case obj.type
67
+ when "number"
68
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
69
+ when "sip"
70
+ Vapi::TransferDestinationSip.validate_raw(obj: obj)
71
+ else
72
+ raise("Passed value matched no type within the union, validation failed.")
73
+ end
74
+ end
75
+
76
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Boolean]
80
+ def is_a?(obj)
81
+ @member.is_a?(obj)
82
+ end
83
+
84
+ # @param member [Vapi::TransferDestinationNumber]
85
+ # @return [Vapi::CallDestination]
86
+ def self.number(member:)
87
+ new(member: member, discriminant: "number")
88
+ end
89
+
90
+ # @param member [Vapi::TransferDestinationSip]
91
+ # @return [Vapi::CallDestination]
92
+ def self.sip(member:)
93
+ new(member: member, discriminant: "sip")
94
+ end
95
+ end
96
+ end