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,169 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "open_ai_message"
4
+ require_relative "open_router_model_tools_item"
5
+ require_relative "knowledge_base"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class OpenRouterModel
11
+ # @return [Array<Vapi::OpenAiMessage>] This is the starting state for the conversation.
12
+ attr_reader :messages
13
+ # @return [Array<Vapi::OpenRouterModelToolsItem>] These are the tools that the assistant can use during the call. To use existing
14
+ # tools, use `toolIds`.
15
+ # Both `tools` and `toolIds` can be used together.
16
+ attr_reader :tools
17
+ # @return [Array<String>] These are the tools that the assistant can use during the call. To use transient
18
+ # tools, use `tools`.
19
+ # Both `tools` and `toolIds` can be used together.
20
+ attr_reader :tool_ids
21
+ # @return [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
22
+ attr_reader :model
23
+ # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
24
+ # caching for lower latency.
25
+ attr_reader :temperature
26
+ # @return [Vapi::KnowledgeBase] These are the options for the knowledge base.
27
+ attr_reader :knowledge_base
28
+ # @return [Float] This is the max number of tokens that the assistant will be allowed to generate
29
+ # in each turn of the conversation. Default is 250.
30
+ attr_reader :max_tokens
31
+ # @return [Boolean] This determines whether we detect user's emotion while they speak and send it as
32
+ # an additional info to model.
33
+ # Default `false` because the model is usually are good at understanding the
34
+ # user's emotion from text.
35
+ # @default false
36
+ attr_reader :emotion_recognition_enabled
37
+ # @return [Float] This sets how many turns at the start of the conversation to use a smaller,
38
+ # faster model from the same provider before switching to the primary model.
39
+ # Example, gpt-3.5-turbo if provider is openai.
40
+ # Default is 0.
41
+ # @default 0
42
+ attr_reader :num_fast_turns
43
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
44
+ attr_reader :additional_properties
45
+ # @return [Object]
46
+ attr_reader :_field_set
47
+ protected :_field_set
48
+
49
+ OMIT = Object.new
50
+
51
+ # @param messages [Array<Vapi::OpenAiMessage>] This is the starting state for the conversation.
52
+ # @param tools [Array<Vapi::OpenRouterModelToolsItem>] These are the tools that the assistant can use during the call. To use existing
53
+ # tools, use `toolIds`.
54
+ # Both `tools` and `toolIds` can be used together.
55
+ # @param tool_ids [Array<String>] These are the tools that the assistant can use during the call. To use transient
56
+ # tools, use `tools`.
57
+ # Both `tools` and `toolIds` can be used together.
58
+ # @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
59
+ # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
60
+ # caching for lower latency.
61
+ # @param knowledge_base [Vapi::KnowledgeBase] These are the options for the knowledge base.
62
+ # @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
63
+ # in each turn of the conversation. Default is 250.
64
+ # @param emotion_recognition_enabled [Boolean] This determines whether we detect user's emotion while they speak and send it as
65
+ # an additional info to model.
66
+ # Default `false` because the model is usually are good at understanding the
67
+ # user's emotion from text.
68
+ # @default false
69
+ # @param num_fast_turns [Float] This sets how many turns at the start of the conversation to use a smaller,
70
+ # faster model from the same provider before switching to the primary model.
71
+ # Example, gpt-3.5-turbo if provider is openai.
72
+ # Default is 0.
73
+ # @default 0
74
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
75
+ # @return [Vapi::OpenRouterModel]
76
+ def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, temperature: OMIT, knowledge_base: OMIT,
77
+ max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
78
+ @messages = messages if messages != OMIT
79
+ @tools = tools if tools != OMIT
80
+ @tool_ids = tool_ids if tool_ids != OMIT
81
+ @model = model
82
+ @temperature = temperature if temperature != OMIT
83
+ @knowledge_base = knowledge_base if knowledge_base != OMIT
84
+ @max_tokens = max_tokens if max_tokens != OMIT
85
+ @emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
86
+ @num_fast_turns = num_fast_turns if num_fast_turns != OMIT
87
+ @additional_properties = additional_properties
88
+ @_field_set = {
89
+ "messages": messages,
90
+ "tools": tools,
91
+ "toolIds": tool_ids,
92
+ "model": model,
93
+ "temperature": temperature,
94
+ "knowledgeBase": knowledge_base,
95
+ "maxTokens": max_tokens,
96
+ "emotionRecognitionEnabled": emotion_recognition_enabled,
97
+ "numFastTurns": num_fast_turns
98
+ }.reject do |_k, v|
99
+ v == OMIT
100
+ end
101
+ end
102
+
103
+ # Deserialize a JSON object to an instance of OpenRouterModel
104
+ #
105
+ # @param json_object [String]
106
+ # @return [Vapi::OpenRouterModel]
107
+ def self.from_json(json_object:)
108
+ struct = JSON.parse(json_object, object_class: OpenStruct)
109
+ parsed_json = JSON.parse(json_object)
110
+ messages = parsed_json["messages"]&.map do |item|
111
+ item = item.to_json
112
+ Vapi::OpenAiMessage.from_json(json_object: item)
113
+ end
114
+ tools = parsed_json["tools"]&.map do |item|
115
+ item = item.to_json
116
+ Vapi::OpenRouterModelToolsItem.from_json(json_object: item)
117
+ end
118
+ tool_ids = parsed_json["toolIds"]
119
+ model = parsed_json["model"]
120
+ temperature = parsed_json["temperature"]
121
+ if parsed_json["knowledgeBase"].nil?
122
+ knowledge_base = nil
123
+ else
124
+ knowledge_base = parsed_json["knowledgeBase"].to_json
125
+ knowledge_base = Vapi::KnowledgeBase.from_json(json_object: knowledge_base)
126
+ end
127
+ max_tokens = parsed_json["maxTokens"]
128
+ emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
129
+ num_fast_turns = parsed_json["numFastTurns"]
130
+ new(
131
+ messages: messages,
132
+ tools: tools,
133
+ tool_ids: tool_ids,
134
+ model: model,
135
+ temperature: temperature,
136
+ knowledge_base: knowledge_base,
137
+ max_tokens: max_tokens,
138
+ emotion_recognition_enabled: emotion_recognition_enabled,
139
+ num_fast_turns: num_fast_turns,
140
+ additional_properties: struct
141
+ )
142
+ end
143
+
144
+ # Serialize an instance of OpenRouterModel to a JSON object
145
+ #
146
+ # @return [String]
147
+ def to_json(*_args)
148
+ @_field_set&.to_json
149
+ end
150
+
151
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
152
+ # hash and check each fields type against the current object's property
153
+ # definitions.
154
+ #
155
+ # @param obj [Object]
156
+ # @return [Void]
157
+ def self.validate_raw(obj:)
158
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
159
+ obj.tools&.is_a?(Array) != false || raise("Passed value for field obj.tools is not the expected type, validation failed.")
160
+ obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
161
+ obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
162
+ obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
163
+ obj.knowledge_base.nil? || Vapi::KnowledgeBase.validate_raw(obj: obj.knowledge_base)
164
+ obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
165
+ obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
166
+ obj.num_fast_turns&.is_a?(Float) != false || raise("Passed value for field obj.num_fast_turns is not the expected type, validation failed.")
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "create_dtmf_tool_dto"
5
+ require_relative "create_end_call_tool_dto"
6
+ require_relative "create_voicemail_tool_dto"
7
+ require_relative "create_function_tool_dto"
8
+ require_relative "create_ghl_tool_dto"
9
+ require_relative "create_make_tool_dto"
10
+ require_relative "create_transfer_call_tool_dto"
11
+
12
+ module Vapi
13
+ class OpenRouterModelToolsItem
14
+ # @return [Object]
15
+ attr_reader :member
16
+ # @return [String]
17
+ attr_reader :discriminant
18
+
19
+ private_class_method :new
20
+ alias kind_of? is_a?
21
+
22
+ # @param member [Object]
23
+ # @param discriminant [String]
24
+ # @return [Vapi::OpenRouterModelToolsItem]
25
+ def initialize(member:, discriminant:)
26
+ @member = member
27
+ @discriminant = discriminant
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of OpenRouterModelToolsItem
31
+ #
32
+ # @param json_object [String]
33
+ # @return [Vapi::OpenRouterModelToolsItem]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ member = case struct.type
37
+ when "dtmf"
38
+ Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
39
+ when "endCall"
40
+ Vapi::CreateEndCallToolDto.from_json(json_object: json_object)
41
+ when "voicemail"
42
+ Vapi::CreateVoicemailToolDto.from_json(json_object: json_object)
43
+ when "function"
44
+ Vapi::CreateFunctionToolDto.from_json(json_object: json_object)
45
+ when "ghl"
46
+ Vapi::CreateGhlToolDto.from_json(json_object: json_object)
47
+ when "make"
48
+ Vapi::CreateMakeToolDto.from_json(json_object: json_object)
49
+ when "transferCall"
50
+ Vapi::CreateTransferCallToolDto.from_json(json_object: json_object)
51
+ else
52
+ Vapi::CreateDtmfToolDto.from_json(json_object: json_object)
53
+ end
54
+ new(member: member, discriminant: struct.type)
55
+ end
56
+
57
+ # For Union Types, to_json functionality is delegated to the wrapped member.
58
+ #
59
+ # @return [String]
60
+ def to_json(*_args)
61
+ case @discriminant
62
+ when "dtmf"
63
+ { **@member.to_json, type: @discriminant }.to_json
64
+ when "endCall"
65
+ { **@member.to_json, type: @discriminant }.to_json
66
+ when "voicemail"
67
+ { **@member.to_json, type: @discriminant }.to_json
68
+ when "function"
69
+ { **@member.to_json, type: @discriminant }.to_json
70
+ when "ghl"
71
+ { **@member.to_json, type: @discriminant }.to_json
72
+ when "make"
73
+ { **@member.to_json, type: @discriminant }.to_json
74
+ when "transferCall"
75
+ { **@member.to_json, type: @discriminant }.to_json
76
+ else
77
+ { "type": @discriminant, value: @member }.to_json
78
+ end
79
+ @member.to_json
80
+ end
81
+
82
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
83
+ # hash and check each fields type against the current object's property
84
+ # definitions.
85
+ #
86
+ # @param obj [Object]
87
+ # @return [Void]
88
+ def self.validate_raw(obj:)
89
+ case obj.type
90
+ when "dtmf"
91
+ Vapi::CreateDtmfToolDto.validate_raw(obj: obj)
92
+ when "endCall"
93
+ Vapi::CreateEndCallToolDto.validate_raw(obj: obj)
94
+ when "voicemail"
95
+ Vapi::CreateVoicemailToolDto.validate_raw(obj: obj)
96
+ when "function"
97
+ Vapi::CreateFunctionToolDto.validate_raw(obj: obj)
98
+ when "ghl"
99
+ Vapi::CreateGhlToolDto.validate_raw(obj: obj)
100
+ when "make"
101
+ Vapi::CreateMakeToolDto.validate_raw(obj: obj)
102
+ when "transferCall"
103
+ Vapi::CreateTransferCallToolDto.validate_raw(obj: obj)
104
+ else
105
+ raise("Passed value matched no type within the union, validation failed.")
106
+ end
107
+ end
108
+
109
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
110
+ #
111
+ # @param obj [Object]
112
+ # @return [Boolean]
113
+ def is_a?(obj)
114
+ @member.is_a?(obj)
115
+ end
116
+
117
+ # @param member [Vapi::CreateDtmfToolDto]
118
+ # @return [Vapi::OpenRouterModelToolsItem]
119
+ def self.dtmf(member:)
120
+ new(member: member, discriminant: "dtmf")
121
+ end
122
+
123
+ # @param member [Vapi::CreateEndCallToolDto]
124
+ # @return [Vapi::OpenRouterModelToolsItem]
125
+ def self.end_call(member:)
126
+ new(member: member, discriminant: "endCall")
127
+ end
128
+
129
+ # @param member [Vapi::CreateVoicemailToolDto]
130
+ # @return [Vapi::OpenRouterModelToolsItem]
131
+ def self.voicemail(member:)
132
+ new(member: member, discriminant: "voicemail")
133
+ end
134
+
135
+ # @param member [Vapi::CreateFunctionToolDto]
136
+ # @return [Vapi::OpenRouterModelToolsItem]
137
+ def self.function(member:)
138
+ new(member: member, discriminant: "function")
139
+ end
140
+
141
+ # @param member [Vapi::CreateGhlToolDto]
142
+ # @return [Vapi::OpenRouterModelToolsItem]
143
+ def self.ghl(member:)
144
+ new(member: member, discriminant: "ghl")
145
+ end
146
+
147
+ # @param member [Vapi::CreateMakeToolDto]
148
+ # @return [Vapi::OpenRouterModelToolsItem]
149
+ def self.make(member:)
150
+ new(member: member, discriminant: "make")
151
+ end
152
+
153
+ # @param member [Vapi::CreateTransferCallToolDto]
154
+ # @return [Vapi::OpenRouterModelToolsItem]
155
+ def self.transfer_call(member:)
156
+ new(member: member, discriminant: "transferCall")
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,212 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "org_plan"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class Org
10
+ # @return [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
11
+ # the end of the call, you will still receive an end-of-call-report message to
12
+ # store on your server. Defaults to false.
13
+ # When HIPAA is enabled, only OpenAI/Custom LLM or Azure Providers will be
14
+ # available for LLM and Voice respectively.
15
+ # This is due to the compliance requirements of HIPAA. Other providers may not
16
+ # meet these requirements.
17
+ attr_reader :hipaa_enabled
18
+ # @return [String] This is the unique identifier for the org.
19
+ attr_reader :id
20
+ # @return [DateTime] This is the ISO 8601 date-time string of when the org was created.
21
+ attr_reader :created_at
22
+ # @return [DateTime] This is the ISO 8601 date-time string of when the org was last updated.
23
+ attr_reader :updated_at
24
+ # @return [String] This is the Stripe customer for the org.
25
+ attr_reader :stripe_customer_id
26
+ # @return [String] This is the subscription for the org.
27
+ attr_reader :stripe_subscription_id
28
+ # @return [String] This is the subscription's subscription item.
29
+ attr_reader :stripe_subscription_item_id
30
+ # @return [DateTime] This is the subscription's current period start.
31
+ attr_reader :stripe_subscription_current_period_start
32
+ # @return [String] This is the subscription's status.
33
+ attr_reader :stripe_subscription_status
34
+ # @return [Vapi::OrgPlan] This is the plan for the org.
35
+ attr_reader :plan
36
+ # @return [String] This is the name of the org. This is just for your own reference.
37
+ attr_reader :name
38
+ # @return [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
39
+ # contact us at support@vapi.ai.
40
+ attr_reader :billing_limit
41
+ # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
42
+ # is used for retrieving context, function calling, and end-of-call reports.
43
+ # All requests will be sent with the call object among other things relevant to
44
+ # that message. You can find more details in the Server URL documentation.
45
+ attr_reader :server_url
46
+ # @return [String] This is the secret you can set that Vapi will send with every request to your
47
+ # server. Will be sent as a header called x-vapi-secret.
48
+ attr_reader :server_url_secret
49
+ # @return [Float] This is the concurrency limit for the org. This is the maximum number of calls
50
+ # that can be active at any given time. To go beyond 10, please contact us at
51
+ # support@vapi.ai.
52
+ attr_reader :concurrency_limit
53
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
54
+ attr_reader :additional_properties
55
+ # @return [Object]
56
+ attr_reader :_field_set
57
+ protected :_field_set
58
+
59
+ OMIT = Object.new
60
+
61
+ # @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
62
+ # the end of the call, you will still receive an end-of-call-report message to
63
+ # store on your server. Defaults to false.
64
+ # When HIPAA is enabled, only OpenAI/Custom LLM or Azure Providers will be
65
+ # available for LLM and Voice respectively.
66
+ # This is due to the compliance requirements of HIPAA. Other providers may not
67
+ # meet these requirements.
68
+ # @param id [String] This is the unique identifier for the org.
69
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the org was created.
70
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the org was last updated.
71
+ # @param stripe_customer_id [String] This is the Stripe customer for the org.
72
+ # @param stripe_subscription_id [String] This is the subscription for the org.
73
+ # @param stripe_subscription_item_id [String] This is the subscription's subscription item.
74
+ # @param stripe_subscription_current_period_start [DateTime] This is the subscription's current period start.
75
+ # @param stripe_subscription_status [String] This is the subscription's status.
76
+ # @param plan [Vapi::OrgPlan] This is the plan for the org.
77
+ # @param name [String] This is the name of the org. This is just for your own reference.
78
+ # @param billing_limit [Float] This is the monthly billing limit for the org. To go beyond $1000/mo, please
79
+ # contact us at support@vapi.ai.
80
+ # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
81
+ # is used for retrieving context, function calling, and end-of-call reports.
82
+ # All requests will be sent with the call object among other things relevant to
83
+ # that message. You can find more details in the Server URL documentation.
84
+ # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
85
+ # server. Will be sent as a header called x-vapi-secret.
86
+ # @param concurrency_limit [Float] This is the concurrency limit for the org. This is the maximum number of calls
87
+ # that can be active at any given time. To go beyond 10, please contact us at
88
+ # support@vapi.ai.
89
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
90
+ # @return [Vapi::Org]
91
+ def initialize(id:, created_at:, updated_at:, hipaa_enabled: OMIT, stripe_customer_id: OMIT,
92
+ stripe_subscription_id: OMIT, stripe_subscription_item_id: OMIT, stripe_subscription_current_period_start: OMIT, stripe_subscription_status: OMIT, plan: OMIT, name: OMIT, billing_limit: OMIT, server_url: OMIT, server_url_secret: OMIT, concurrency_limit: OMIT, additional_properties: nil)
93
+ @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
94
+ @id = id
95
+ @created_at = created_at
96
+ @updated_at = updated_at
97
+ @stripe_customer_id = stripe_customer_id if stripe_customer_id != OMIT
98
+ @stripe_subscription_id = stripe_subscription_id if stripe_subscription_id != OMIT
99
+ @stripe_subscription_item_id = stripe_subscription_item_id if stripe_subscription_item_id != OMIT
100
+ if stripe_subscription_current_period_start != OMIT
101
+ @stripe_subscription_current_period_start = stripe_subscription_current_period_start
102
+ end
103
+ @stripe_subscription_status = stripe_subscription_status if stripe_subscription_status != OMIT
104
+ @plan = plan if plan != OMIT
105
+ @name = name if name != OMIT
106
+ @billing_limit = billing_limit if billing_limit != OMIT
107
+ @server_url = server_url if server_url != OMIT
108
+ @server_url_secret = server_url_secret if server_url_secret != OMIT
109
+ @concurrency_limit = concurrency_limit if concurrency_limit != OMIT
110
+ @additional_properties = additional_properties
111
+ @_field_set = {
112
+ "hipaaEnabled": hipaa_enabled,
113
+ "id": id,
114
+ "createdAt": created_at,
115
+ "updatedAt": updated_at,
116
+ "stripeCustomerId": stripe_customer_id,
117
+ "stripeSubscriptionId": stripe_subscription_id,
118
+ "stripeSubscriptionItemId": stripe_subscription_item_id,
119
+ "stripeSubscriptionCurrentPeriodStart": stripe_subscription_current_period_start,
120
+ "stripeSubscriptionStatus": stripe_subscription_status,
121
+ "plan": plan,
122
+ "name": name,
123
+ "billingLimit": billing_limit,
124
+ "serverUrl": server_url,
125
+ "serverUrlSecret": server_url_secret,
126
+ "concurrencyLimit": concurrency_limit
127
+ }.reject do |_k, v|
128
+ v == OMIT
129
+ end
130
+ end
131
+
132
+ # Deserialize a JSON object to an instance of Org
133
+ #
134
+ # @param json_object [String]
135
+ # @return [Vapi::Org]
136
+ def self.from_json(json_object:)
137
+ struct = JSON.parse(json_object, object_class: OpenStruct)
138
+ parsed_json = JSON.parse(json_object)
139
+ hipaa_enabled = parsed_json["hipaaEnabled"]
140
+ id = parsed_json["id"]
141
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
142
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
143
+ stripe_customer_id = parsed_json["stripeCustomerId"]
144
+ stripe_subscription_id = parsed_json["stripeSubscriptionId"]
145
+ stripe_subscription_item_id = parsed_json["stripeSubscriptionItemId"]
146
+ stripe_subscription_current_period_start = unless parsed_json["stripeSubscriptionCurrentPeriodStart"].nil?
147
+ DateTime.parse(parsed_json["stripeSubscriptionCurrentPeriodStart"])
148
+ end
149
+ stripe_subscription_status = parsed_json["stripeSubscriptionStatus"]
150
+ if parsed_json["plan"].nil?
151
+ plan = nil
152
+ else
153
+ plan = parsed_json["plan"].to_json
154
+ plan = Vapi::OrgPlan.from_json(json_object: plan)
155
+ end
156
+ name = parsed_json["name"]
157
+ billing_limit = parsed_json["billingLimit"]
158
+ server_url = parsed_json["serverUrl"]
159
+ server_url_secret = parsed_json["serverUrlSecret"]
160
+ concurrency_limit = parsed_json["concurrencyLimit"]
161
+ new(
162
+ hipaa_enabled: hipaa_enabled,
163
+ id: id,
164
+ created_at: created_at,
165
+ updated_at: updated_at,
166
+ stripe_customer_id: stripe_customer_id,
167
+ stripe_subscription_id: stripe_subscription_id,
168
+ stripe_subscription_item_id: stripe_subscription_item_id,
169
+ stripe_subscription_current_period_start: stripe_subscription_current_period_start,
170
+ stripe_subscription_status: stripe_subscription_status,
171
+ plan: plan,
172
+ name: name,
173
+ billing_limit: billing_limit,
174
+ server_url: server_url,
175
+ server_url_secret: server_url_secret,
176
+ concurrency_limit: concurrency_limit,
177
+ additional_properties: struct
178
+ )
179
+ end
180
+
181
+ # Serialize an instance of Org to a JSON object
182
+ #
183
+ # @return [String]
184
+ def to_json(*_args)
185
+ @_field_set&.to_json
186
+ end
187
+
188
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
189
+ # hash and check each fields type against the current object's property
190
+ # definitions.
191
+ #
192
+ # @param obj [Object]
193
+ # @return [Void]
194
+ def self.validate_raw(obj:)
195
+ obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
196
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
197
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
198
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
199
+ obj.stripe_customer_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_customer_id is not the expected type, validation failed.")
200
+ obj.stripe_subscription_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_id is not the expected type, validation failed.")
201
+ obj.stripe_subscription_item_id&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_item_id is not the expected type, validation failed.")
202
+ obj.stripe_subscription_current_period_start&.is_a?(DateTime) != false || raise("Passed value for field obj.stripe_subscription_current_period_start is not the expected type, validation failed.")
203
+ obj.stripe_subscription_status&.is_a?(String) != false || raise("Passed value for field obj.stripe_subscription_status is not the expected type, validation failed.")
204
+ obj.plan.nil? || Vapi::OrgPlan.validate_raw(obj: obj.plan)
205
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
206
+ obj.billing_limit&.is_a?(Float) != false || raise("Passed value for field obj.billing_limit is not the expected type, validation failed.")
207
+ obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
208
+ obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
209
+ obj.concurrency_limit&.is_a?(Float) != false || raise("Passed value for field obj.concurrency_limit is not the expected type, validation failed.")
210
+ end
211
+ end
212
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class OrgPlan
8
+ # @return [Array<Hash{String => Object}>]
9
+ attr_reader :included_providers
10
+ # @return [Float]
11
+ attr_reader :included_minutes
12
+ # @return [Float]
13
+ attr_reader :cost_per_overage_minute
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param included_providers [Array<Hash{String => Object}>]
23
+ # @param included_minutes [Float]
24
+ # @param cost_per_overage_minute [Float]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Vapi::OrgPlan]
27
+ def initialize(included_providers: OMIT, included_minutes: OMIT, cost_per_overage_minute: OMIT,
28
+ additional_properties: nil)
29
+ @included_providers = included_providers if included_providers != OMIT
30
+ @included_minutes = included_minutes if included_minutes != OMIT
31
+ @cost_per_overage_minute = cost_per_overage_minute if cost_per_overage_minute != OMIT
32
+ @additional_properties = additional_properties
33
+ @_field_set = {
34
+ "includedProviders": included_providers,
35
+ "includedMinutes": included_minutes,
36
+ "costPerOverageMinute": cost_per_overage_minute
37
+ }.reject do |_k, v|
38
+ v == OMIT
39
+ end
40
+ end
41
+
42
+ # Deserialize a JSON object to an instance of OrgPlan
43
+ #
44
+ # @param json_object [String]
45
+ # @return [Vapi::OrgPlan]
46
+ def self.from_json(json_object:)
47
+ struct = JSON.parse(json_object, object_class: OpenStruct)
48
+ parsed_json = JSON.parse(json_object)
49
+ included_providers = parsed_json["includedProviders"]
50
+ included_minutes = parsed_json["includedMinutes"]
51
+ cost_per_overage_minute = parsed_json["costPerOverageMinute"]
52
+ new(
53
+ included_providers: included_providers,
54
+ included_minutes: included_minutes,
55
+ cost_per_overage_minute: cost_per_overage_minute,
56
+ additional_properties: struct
57
+ )
58
+ end
59
+
60
+ # Serialize an instance of OrgPlan to a JSON object
61
+ #
62
+ # @return [String]
63
+ def to_json(*_args)
64
+ @_field_set&.to_json
65
+ end
66
+
67
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
68
+ # hash and check each fields type against the current object's property
69
+ # definitions.
70
+ #
71
+ # @param obj [Object]
72
+ # @return [Void]
73
+ def self.validate_raw(obj:)
74
+ obj.included_providers&.is_a?(Array) != false || raise("Passed value for field obj.included_providers is not the expected type, validation failed.")
75
+ obj.included_minutes&.is_a?(Float) != false || raise("Passed value for field obj.included_minutes is not the expected type, validation failed.")
76
+ obj.cost_per_overage_minute&.is_a?(Float) != false || raise("Passed value for field obj.cost_per_overage_minute is not the expected type, validation failed.")
77
+ end
78
+ end
79
+ end