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,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class MessagePlan
8
+ # @return [Array<String>] This are the messages that the assistant will speak when the user hasn't
9
+ # responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random
10
+ # message will be chosen from this array.
11
+ # Usage:
12
+ # - If user gets distracted and doesn't respond for a while, this can be used to
13
+ # grab their attention.
14
+ # - If the transcriber doesn't pick up what the user said, this can be used to ask
15
+ # the user to repeat themselves. (From the perspective of the assistant, the
16
+ # conversation is idle since it didn't "hear" any user messages.)
17
+ # @default null (no idle message is spoken)
18
+ attr_reader :idle_messages
19
+ # @return [Float] This determines the maximum number of times `idleMessages` can be spoken during
20
+ # the call.
21
+ # @default 3
22
+ attr_reader :idle_message_max_spoken_count
23
+ # @return [Float] This is the timeout in seconds before a message from `idleMessages` is spoken.
24
+ # The clock starts when the assistant finishes speaking and remains active until
25
+ # the user speaks.
26
+ # @default 10
27
+ attr_reader :idle_timeout_seconds
28
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
29
+ attr_reader :additional_properties
30
+ # @return [Object]
31
+ attr_reader :_field_set
32
+ protected :_field_set
33
+
34
+ OMIT = Object.new
35
+
36
+ # @param idle_messages [Array<String>] This are the messages that the assistant will speak when the user hasn't
37
+ # responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random
38
+ # message will be chosen from this array.
39
+ # Usage:
40
+ # - If user gets distracted and doesn't respond for a while, this can be used to
41
+ # grab their attention.
42
+ # - If the transcriber doesn't pick up what the user said, this can be used to ask
43
+ # the user to repeat themselves. (From the perspective of the assistant, the
44
+ # conversation is idle since it didn't "hear" any user messages.)
45
+ # @default null (no idle message is spoken)
46
+ # @param idle_message_max_spoken_count [Float] This determines the maximum number of times `idleMessages` can be spoken during
47
+ # the call.
48
+ # @default 3
49
+ # @param idle_timeout_seconds [Float] This is the timeout in seconds before a message from `idleMessages` is spoken.
50
+ # The clock starts when the assistant finishes speaking and remains active until
51
+ # the user speaks.
52
+ # @default 10
53
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
54
+ # @return [Vapi::MessagePlan]
55
+ def initialize(idle_messages: OMIT, idle_message_max_spoken_count: OMIT, idle_timeout_seconds: OMIT,
56
+ additional_properties: nil)
57
+ @idle_messages = idle_messages if idle_messages != OMIT
58
+ @idle_message_max_spoken_count = idle_message_max_spoken_count if idle_message_max_spoken_count != OMIT
59
+ @idle_timeout_seconds = idle_timeout_seconds if idle_timeout_seconds != OMIT
60
+ @additional_properties = additional_properties
61
+ @_field_set = {
62
+ "idleMessages": idle_messages,
63
+ "idleMessageMaxSpokenCount": idle_message_max_spoken_count,
64
+ "idleTimeoutSeconds": idle_timeout_seconds
65
+ }.reject do |_k, v|
66
+ v == OMIT
67
+ end
68
+ end
69
+
70
+ # Deserialize a JSON object to an instance of MessagePlan
71
+ #
72
+ # @param json_object [String]
73
+ # @return [Vapi::MessagePlan]
74
+ def self.from_json(json_object:)
75
+ struct = JSON.parse(json_object, object_class: OpenStruct)
76
+ parsed_json = JSON.parse(json_object)
77
+ idle_messages = parsed_json["idleMessages"]
78
+ idle_message_max_spoken_count = parsed_json["idleMessageMaxSpokenCount"]
79
+ idle_timeout_seconds = parsed_json["idleTimeoutSeconds"]
80
+ new(
81
+ idle_messages: idle_messages,
82
+ idle_message_max_spoken_count: idle_message_max_spoken_count,
83
+ idle_timeout_seconds: idle_timeout_seconds,
84
+ additional_properties: struct
85
+ )
86
+ end
87
+
88
+ # Serialize an instance of MessagePlan to a JSON object
89
+ #
90
+ # @return [String]
91
+ def to_json(*_args)
92
+ @_field_set&.to_json
93
+ end
94
+
95
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
96
+ # hash and check each fields type against the current object's property
97
+ # definitions.
98
+ #
99
+ # @param obj [Object]
100
+ # @return [Void]
101
+ def self.validate_raw(obj:)
102
+ obj.idle_messages&.is_a?(Array) != false || raise("Passed value for field obj.idle_messages is not the expected type, validation failed.")
103
+ obj.idle_message_max_spoken_count&.is_a?(Float) != false || raise("Passed value for field obj.idle_message_max_spoken_count is not the expected type, validation failed.")
104
+ obj.idle_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.idle_timeout_seconds is not the expected type, validation failed.")
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,165 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class Metrics
8
+ # @return [String]
9
+ attr_reader :org_id
10
+ # @return [String]
11
+ attr_reader :range_start
12
+ # @return [String]
13
+ attr_reader :range_end
14
+ # @return [Float]
15
+ attr_reader :bill
16
+ # @return [Boolean]
17
+ attr_reader :bill_within_billing_limit
18
+ # @return [Hash{String => Object}]
19
+ attr_reader :bill_daily_breakdown
20
+ # @return [Float]
21
+ attr_reader :call_active
22
+ # @return [Boolean]
23
+ attr_reader :call_active_within_concurrency_limit
24
+ # @return [Float]
25
+ attr_reader :call_minutes
26
+ # @return [Hash{String => Object}]
27
+ attr_reader :call_minutes_daily_breakdown
28
+ # @return [Float]
29
+ attr_reader :call_minutes_average
30
+ # @return [Hash{String => Object}]
31
+ attr_reader :call_minutes_average_daily_breakdown
32
+ # @return [Float]
33
+ attr_reader :call_count
34
+ # @return [Hash{String => Object}]
35
+ attr_reader :call_count_daily_breakdown
36
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
37
+ attr_reader :additional_properties
38
+ # @return [Object]
39
+ attr_reader :_field_set
40
+ protected :_field_set
41
+
42
+ OMIT = Object.new
43
+
44
+ # @param org_id [String]
45
+ # @param range_start [String]
46
+ # @param range_end [String]
47
+ # @param bill [Float]
48
+ # @param bill_within_billing_limit [Boolean]
49
+ # @param bill_daily_breakdown [Hash{String => Object}]
50
+ # @param call_active [Float]
51
+ # @param call_active_within_concurrency_limit [Boolean]
52
+ # @param call_minutes [Float]
53
+ # @param call_minutes_daily_breakdown [Hash{String => Object}]
54
+ # @param call_minutes_average [Float]
55
+ # @param call_minutes_average_daily_breakdown [Hash{String => Object}]
56
+ # @param call_count [Float]
57
+ # @param call_count_daily_breakdown [Hash{String => Object}]
58
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
59
+ # @return [Vapi::Metrics]
60
+ def initialize(org_id:, range_start:, range_end:, bill:, bill_within_billing_limit:, bill_daily_breakdown:,
61
+ call_active:, call_active_within_concurrency_limit:, call_minutes:, call_minutes_daily_breakdown:, call_minutes_average:, call_minutes_average_daily_breakdown:, call_count:, call_count_daily_breakdown:, additional_properties: nil)
62
+ @org_id = org_id
63
+ @range_start = range_start
64
+ @range_end = range_end
65
+ @bill = bill
66
+ @bill_within_billing_limit = bill_within_billing_limit
67
+ @bill_daily_breakdown = bill_daily_breakdown
68
+ @call_active = call_active
69
+ @call_active_within_concurrency_limit = call_active_within_concurrency_limit
70
+ @call_minutes = call_minutes
71
+ @call_minutes_daily_breakdown = call_minutes_daily_breakdown
72
+ @call_minutes_average = call_minutes_average
73
+ @call_minutes_average_daily_breakdown = call_minutes_average_daily_breakdown
74
+ @call_count = call_count
75
+ @call_count_daily_breakdown = call_count_daily_breakdown
76
+ @additional_properties = additional_properties
77
+ @_field_set = {
78
+ "orgId": org_id,
79
+ "rangeStart": range_start,
80
+ "rangeEnd": range_end,
81
+ "bill": bill,
82
+ "billWithinBillingLimit": bill_within_billing_limit,
83
+ "billDailyBreakdown": bill_daily_breakdown,
84
+ "callActive": call_active,
85
+ "callActiveWithinConcurrencyLimit": call_active_within_concurrency_limit,
86
+ "callMinutes": call_minutes,
87
+ "callMinutesDailyBreakdown": call_minutes_daily_breakdown,
88
+ "callMinutesAverage": call_minutes_average,
89
+ "callMinutesAverageDailyBreakdown": call_minutes_average_daily_breakdown,
90
+ "callCount": call_count,
91
+ "callCountDailyBreakdown": call_count_daily_breakdown
92
+ }
93
+ end
94
+
95
+ # Deserialize a JSON object to an instance of Metrics
96
+ #
97
+ # @param json_object [String]
98
+ # @return [Vapi::Metrics]
99
+ def self.from_json(json_object:)
100
+ struct = JSON.parse(json_object, object_class: OpenStruct)
101
+ parsed_json = JSON.parse(json_object)
102
+ org_id = parsed_json["orgId"]
103
+ range_start = parsed_json["rangeStart"]
104
+ range_end = parsed_json["rangeEnd"]
105
+ bill = parsed_json["bill"]
106
+ bill_within_billing_limit = parsed_json["billWithinBillingLimit"]
107
+ bill_daily_breakdown = parsed_json["billDailyBreakdown"]
108
+ call_active = parsed_json["callActive"]
109
+ call_active_within_concurrency_limit = parsed_json["callActiveWithinConcurrencyLimit"]
110
+ call_minutes = parsed_json["callMinutes"]
111
+ call_minutes_daily_breakdown = parsed_json["callMinutesDailyBreakdown"]
112
+ call_minutes_average = parsed_json["callMinutesAverage"]
113
+ call_minutes_average_daily_breakdown = parsed_json["callMinutesAverageDailyBreakdown"]
114
+ call_count = parsed_json["callCount"]
115
+ call_count_daily_breakdown = parsed_json["callCountDailyBreakdown"]
116
+ new(
117
+ org_id: org_id,
118
+ range_start: range_start,
119
+ range_end: range_end,
120
+ bill: bill,
121
+ bill_within_billing_limit: bill_within_billing_limit,
122
+ bill_daily_breakdown: bill_daily_breakdown,
123
+ call_active: call_active,
124
+ call_active_within_concurrency_limit: call_active_within_concurrency_limit,
125
+ call_minutes: call_minutes,
126
+ call_minutes_daily_breakdown: call_minutes_daily_breakdown,
127
+ call_minutes_average: call_minutes_average,
128
+ call_minutes_average_daily_breakdown: call_minutes_average_daily_breakdown,
129
+ call_count: call_count,
130
+ call_count_daily_breakdown: call_count_daily_breakdown,
131
+ additional_properties: struct
132
+ )
133
+ end
134
+
135
+ # Serialize an instance of Metrics to a JSON object
136
+ #
137
+ # @return [String]
138
+ def to_json(*_args)
139
+ @_field_set&.to_json
140
+ end
141
+
142
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
143
+ # hash and check each fields type against the current object's property
144
+ # definitions.
145
+ #
146
+ # @param obj [Object]
147
+ # @return [Void]
148
+ def self.validate_raw(obj:)
149
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
150
+ obj.range_start.is_a?(String) != false || raise("Passed value for field obj.range_start is not the expected type, validation failed.")
151
+ obj.range_end.is_a?(String) != false || raise("Passed value for field obj.range_end is not the expected type, validation failed.")
152
+ obj.bill.is_a?(Float) != false || raise("Passed value for field obj.bill is not the expected type, validation failed.")
153
+ obj.bill_within_billing_limit.is_a?(Boolean) != false || raise("Passed value for field obj.bill_within_billing_limit is not the expected type, validation failed.")
154
+ obj.bill_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.bill_daily_breakdown is not the expected type, validation failed.")
155
+ obj.call_active.is_a?(Float) != false || raise("Passed value for field obj.call_active is not the expected type, validation failed.")
156
+ obj.call_active_within_concurrency_limit.is_a?(Boolean) != false || raise("Passed value for field obj.call_active_within_concurrency_limit is not the expected type, validation failed.")
157
+ obj.call_minutes.is_a?(Float) != false || raise("Passed value for field obj.call_minutes is not the expected type, validation failed.")
158
+ obj.call_minutes_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_minutes_daily_breakdown is not the expected type, validation failed.")
159
+ obj.call_minutes_average.is_a?(Float) != false || raise("Passed value for field obj.call_minutes_average is not the expected type, validation failed.")
160
+ obj.call_minutes_average_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_minutes_average_daily_breakdown is not the expected type, validation failed.")
161
+ obj.call_count.is_a?(Float) != false || raise("Passed value for field obj.call_count is not the expected type, validation failed.")
162
+ obj.call_count_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_count_daily_breakdown is not the expected type, validation failed.")
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class ModelBasedCondition
8
+ # @return [String] This is the instruction which should output a boolean value when passed to a
9
+ # model.
10
+ # You can reference any variable in the context of the current block execution
11
+ # (step):
12
+ # - "{{output.your-property-name}}" for current step's output
13
+ # - "{{input.your-property-name}}" for current step's input
14
+ # - "{{your-step-name.output.your-property-name}}" for another step's output (in
15
+ # the same workflow; read caveat #1)
16
+ # - "{{your-step-name.input.your-property-name}}" for another step's input (in the
17
+ # same workflow; read caveat #1)
18
+ # - "{{your-block-name.output.your-property-name}}" for another block's output (in
19
+ # the same workflow; read caveat #2)
20
+ # - "{{your-block-name.input.your-property-name}}" for another block's input (in
21
+ # the same workflow; read caveat #2)
22
+ # - "{{workflow.input.your-property-name}}" for the current workflow's input
23
+ # - "{{global.your-property-name}}" for the global context
24
+ # You can also talk about the current step's output or input directly:
25
+ # - "{{output.your-property-name}} is greater than 10"
26
+ # - "{{input.your-property-name}} is greater than 10"
27
+ # Examples:
28
+ # - "{{input.age}} is greater than 10"
29
+ # - "{{input.age}} is greater than {{input.age2}}"
30
+ # - "{{output.age}} is greater than 10"
31
+ # Caveats:
32
+ # 1. a workflow can execute a step multiple times. example, if a loop is used in
33
+ # the graph. {{stepName.input/output.propertyName}} will reference the latest
34
+ # usage of the step.
35
+ # 2. a workflow can execute a block multiple times. example, if a step is called
36
+ # multiple times or if a block is used in multiple steps.
37
+ # {{blockName.input/output.propertyName}} will reference the latest usage of the
38
+ # block. this liquid variable is just provided for convenience when creating
39
+ # blocks outside of a workflow with steps.
40
+ attr_reader :instruction
41
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
42
+ attr_reader :additional_properties
43
+ # @return [Object]
44
+ attr_reader :_field_set
45
+ protected :_field_set
46
+
47
+ OMIT = Object.new
48
+
49
+ # @param instruction [String] This is the instruction which should output a boolean value when passed to a
50
+ # model.
51
+ # You can reference any variable in the context of the current block execution
52
+ # (step):
53
+ # - "{{output.your-property-name}}" for current step's output
54
+ # - "{{input.your-property-name}}" for current step's input
55
+ # - "{{your-step-name.output.your-property-name}}" for another step's output (in
56
+ # the same workflow; read caveat #1)
57
+ # - "{{your-step-name.input.your-property-name}}" for another step's input (in the
58
+ # same workflow; read caveat #1)
59
+ # - "{{your-block-name.output.your-property-name}}" for another block's output (in
60
+ # the same workflow; read caveat #2)
61
+ # - "{{your-block-name.input.your-property-name}}" for another block's input (in
62
+ # the same workflow; read caveat #2)
63
+ # - "{{workflow.input.your-property-name}}" for the current workflow's input
64
+ # - "{{global.your-property-name}}" for the global context
65
+ # You can also talk about the current step's output or input directly:
66
+ # - "{{output.your-property-name}} is greater than 10"
67
+ # - "{{input.your-property-name}} is greater than 10"
68
+ # Examples:
69
+ # - "{{input.age}} is greater than 10"
70
+ # - "{{input.age}} is greater than {{input.age2}}"
71
+ # - "{{output.age}} is greater than 10"
72
+ # Caveats:
73
+ # 1. a workflow can execute a step multiple times. example, if a loop is used in
74
+ # the graph. {{stepName.input/output.propertyName}} will reference the latest
75
+ # usage of the step.
76
+ # 2. a workflow can execute a block multiple times. example, if a step is called
77
+ # multiple times or if a block is used in multiple steps.
78
+ # {{blockName.input/output.propertyName}} will reference the latest usage of the
79
+ # block. this liquid variable is just provided for convenience when creating
80
+ # blocks outside of a workflow with steps.
81
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
+ # @return [Vapi::ModelBasedCondition]
83
+ def initialize(instruction:, additional_properties: nil)
84
+ @instruction = instruction
85
+ @additional_properties = additional_properties
86
+ @_field_set = { "instruction": instruction }
87
+ end
88
+
89
+ # Deserialize a JSON object to an instance of ModelBasedCondition
90
+ #
91
+ # @param json_object [String]
92
+ # @return [Vapi::ModelBasedCondition]
93
+ def self.from_json(json_object:)
94
+ struct = JSON.parse(json_object, object_class: OpenStruct)
95
+ parsed_json = JSON.parse(json_object)
96
+ instruction = parsed_json["instruction"]
97
+ new(instruction: instruction, additional_properties: struct)
98
+ end
99
+
100
+ # Serialize an instance of ModelBasedCondition to a JSON object
101
+ #
102
+ # @return [String]
103
+ def to_json(*_args)
104
+ @_field_set&.to_json
105
+ end
106
+
107
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
108
+ # hash and check each fields type against the current object's property
109
+ # definitions.
110
+ #
111
+ # @param obj [Object]
112
+ # @return [Void]
113
+ def self.validate_raw(obj:)
114
+ obj.instruction.is_a?(String) != false || raise("Passed value for field obj.instruction is not the expected type, validation failed.")
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class ModelCost
8
+ # @return [Hash{String => Object}] This is the model that was used during the call.
9
+ # This matches one of the following:
10
+ # - `call.assistant.model`,
11
+ # - `call.assistantId->model`,
12
+ # - `call.squad[n].assistant.model`,
13
+ # - `call.squad[n].assistantId->model`,
14
+ # - `call.squadId->[n].assistant.model`,
15
+ # - `call.squadId->[n].assistantId->model`.
16
+ attr_reader :model
17
+ # @return [Float] This is the number of prompt tokens used in the call. These should be total
18
+ # prompt tokens used in the call for single assistant calls, while squad calls
19
+ # will have multiple model costs one for each assistant that was used.
20
+ attr_reader :prompt_tokens
21
+ # @return [Float] This is the number of completion tokens generated in the call. These should be
22
+ # total completion tokens used in the call for single assistant calls, while squad
23
+ # calls will have multiple model costs one for each assistant that was used.
24
+ attr_reader :completion_tokens
25
+ # @return [Float] This is the cost of the component in USD.
26
+ attr_reader :cost
27
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
28
+ attr_reader :additional_properties
29
+ # @return [Object]
30
+ attr_reader :_field_set
31
+ protected :_field_set
32
+
33
+ OMIT = Object.new
34
+
35
+ # @param model [Hash{String => Object}] This is the model that was used during the call.
36
+ # This matches one of the following:
37
+ # - `call.assistant.model`,
38
+ # - `call.assistantId->model`,
39
+ # - `call.squad[n].assistant.model`,
40
+ # - `call.squad[n].assistantId->model`,
41
+ # - `call.squadId->[n].assistant.model`,
42
+ # - `call.squadId->[n].assistantId->model`.
43
+ # @param prompt_tokens [Float] This is the number of prompt tokens used in the call. These should be total
44
+ # prompt tokens used in the call for single assistant calls, while squad calls
45
+ # will have multiple model costs one for each assistant that was used.
46
+ # @param completion_tokens [Float] This is the number of completion tokens generated in the call. These should be
47
+ # total completion tokens used in the call for single assistant calls, while squad
48
+ # calls will have multiple model costs one for each assistant that was used.
49
+ # @param cost [Float] This is the cost of the component in USD.
50
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
51
+ # @return [Vapi::ModelCost]
52
+ def initialize(model:, prompt_tokens:, completion_tokens:, cost:, additional_properties: nil)
53
+ @model = model
54
+ @prompt_tokens = prompt_tokens
55
+ @completion_tokens = completion_tokens
56
+ @cost = cost
57
+ @additional_properties = additional_properties
58
+ @_field_set = {
59
+ "model": model,
60
+ "promptTokens": prompt_tokens,
61
+ "completionTokens": completion_tokens,
62
+ "cost": cost
63
+ }
64
+ end
65
+
66
+ # Deserialize a JSON object to an instance of ModelCost
67
+ #
68
+ # @param json_object [String]
69
+ # @return [Vapi::ModelCost]
70
+ def self.from_json(json_object:)
71
+ struct = JSON.parse(json_object, object_class: OpenStruct)
72
+ parsed_json = JSON.parse(json_object)
73
+ model = parsed_json["model"]
74
+ prompt_tokens = parsed_json["promptTokens"]
75
+ completion_tokens = parsed_json["completionTokens"]
76
+ cost = parsed_json["cost"]
77
+ new(
78
+ model: model,
79
+ prompt_tokens: prompt_tokens,
80
+ completion_tokens: completion_tokens,
81
+ cost: cost,
82
+ additional_properties: struct
83
+ )
84
+ end
85
+
86
+ # Serialize an instance of ModelCost to a JSON object
87
+ #
88
+ # @return [String]
89
+ def to_json(*_args)
90
+ @_field_set&.to_json
91
+ end
92
+
93
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
94
+ # hash and check each fields type against the current object's property
95
+ # definitions.
96
+ #
97
+ # @param obj [Object]
98
+ # @return [Void]
99
+ def self.validate_raw(obj:)
100
+ obj.model.is_a?(Hash) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
101
+ obj.prompt_tokens.is_a?(Float) != false || raise("Passed value for field obj.prompt_tokens is not the expected type, validation failed.")
102
+ obj.completion_tokens.is_a?(Float) != false || raise("Passed value for field obj.completion_tokens is not the expected type, validation failed.")
103
+ obj.cost.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class Monitor
8
+ # @return [String] This is the URL where the assistant's calls can be listened to in real-time. To
9
+ # enable, set `assistant.monitorPlan.listenEnabled` to `true`.
10
+ attr_reader :listen_url
11
+ # @return [String] This is the URL where the assistant's calls can be controlled in real-time. To
12
+ # enable, set `assistant.monitorPlan.controlEnabled` to `true`.
13
+ attr_reader :control_url
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 listen_url [String] This is the URL where the assistant's calls can be listened to in real-time. To
23
+ # enable, set `assistant.monitorPlan.listenEnabled` to `true`.
24
+ # @param control_url [String] This is the URL where the assistant's calls can be controlled in real-time. To
25
+ # enable, set `assistant.monitorPlan.controlEnabled` to `true`.
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Vapi::Monitor]
28
+ def initialize(listen_url: OMIT, control_url: OMIT, additional_properties: nil)
29
+ @listen_url = listen_url if listen_url != OMIT
30
+ @control_url = control_url if control_url != OMIT
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "listenUrl": listen_url, "controlUrl": control_url }.reject do |_k, v|
33
+ v == OMIT
34
+ end
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of Monitor
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Vapi::Monitor]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ listen_url = parsed_json["listenUrl"]
45
+ control_url = parsed_json["controlUrl"]
46
+ new(
47
+ listen_url: listen_url,
48
+ control_url: control_url,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+
53
+ # Serialize an instance of Monitor to a JSON object
54
+ #
55
+ # @return [String]
56
+ def to_json(*_args)
57
+ @_field_set&.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ obj.listen_url&.is_a?(String) != false || raise("Passed value for field obj.listen_url is not the expected type, validation failed.")
68
+ obj.control_url&.is_a?(String) != false || raise("Passed value for field obj.control_url is not the expected type, validation failed.")
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class MonitorPlan
8
+ # @return [Boolean] This determines whether the assistant's calls allow live listening. Defaults to
9
+ # true.
10
+ # Fetch `call.monitor.listenUrl` to get the live listening URL.
11
+ # @default true
12
+ attr_reader :listen_enabled
13
+ # @return [Boolean] This determines whether the assistant's calls allow live control. Defaults to
14
+ # true.
15
+ # Fetch `call.monitor.controlUrl` to get the live control URL.
16
+ # To use, send any control message via a POST request to
17
+ # `call.monitor.controlUrl`. Here are the types of controls supported:
18
+ # https://docs.vapi.ai/api-reference/messages/client-inbound-message
19
+ # @default true
20
+ attr_reader :control_enabled
21
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
22
+ attr_reader :additional_properties
23
+ # @return [Object]
24
+ attr_reader :_field_set
25
+ protected :_field_set
26
+
27
+ OMIT = Object.new
28
+
29
+ # @param listen_enabled [Boolean] This determines whether the assistant's calls allow live listening. Defaults to
30
+ # true.
31
+ # Fetch `call.monitor.listenUrl` to get the live listening URL.
32
+ # @default true
33
+ # @param control_enabled [Boolean] This determines whether the assistant's calls allow live control. Defaults to
34
+ # true.
35
+ # Fetch `call.monitor.controlUrl` to get the live control URL.
36
+ # To use, send any control message via a POST request to
37
+ # `call.monitor.controlUrl`. Here are the types of controls supported:
38
+ # https://docs.vapi.ai/api-reference/messages/client-inbound-message
39
+ # @default true
40
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
+ # @return [Vapi::MonitorPlan]
42
+ def initialize(listen_enabled: OMIT, control_enabled: OMIT, additional_properties: nil)
43
+ @listen_enabled = listen_enabled if listen_enabled != OMIT
44
+ @control_enabled = control_enabled if control_enabled != OMIT
45
+ @additional_properties = additional_properties
46
+ @_field_set = { "listenEnabled": listen_enabled, "controlEnabled": control_enabled }.reject do |_k, v|
47
+ v == OMIT
48
+ end
49
+ end
50
+
51
+ # Deserialize a JSON object to an instance of MonitorPlan
52
+ #
53
+ # @param json_object [String]
54
+ # @return [Vapi::MonitorPlan]
55
+ def self.from_json(json_object:)
56
+ struct = JSON.parse(json_object, object_class: OpenStruct)
57
+ parsed_json = JSON.parse(json_object)
58
+ listen_enabled = parsed_json["listenEnabled"]
59
+ control_enabled = parsed_json["controlEnabled"]
60
+ new(
61
+ listen_enabled: listen_enabled,
62
+ control_enabled: control_enabled,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+
67
+ # Serialize an instance of MonitorPlan to a JSON object
68
+ #
69
+ # @return [String]
70
+ def to_json(*_args)
71
+ @_field_set&.to_json
72
+ end
73
+
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.listen_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.listen_enabled is not the expected type, validation failed.")
82
+ obj.control_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.control_enabled is not the expected type, validation failed.")
83
+ end
84
+ end
85
+ end