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,539 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "assistant_overrides_transcriber"
4
+ require_relative "assistant_overrides_model"
5
+ require_relative "assistant_overrides_voice"
6
+ require_relative "assistant_overrides_first_message_mode"
7
+ require_relative "assistant_overrides_client_messages_item"
8
+ require_relative "assistant_overrides_server_messages_item"
9
+ require_relative "assistant_overrides_background_sound"
10
+ require_relative "transport_configuration_twilio"
11
+ require_relative "twilio_voicemail_detection"
12
+ require_relative "analysis_plan"
13
+ require_relative "artifact_plan"
14
+ require_relative "message_plan"
15
+ require_relative "start_speaking_plan"
16
+ require_relative "stop_speaking_plan"
17
+ require_relative "monitor_plan"
18
+ require "ostruct"
19
+ require "json"
20
+
21
+ module Vapi
22
+ class AssistantOverrides
23
+ # @return [Vapi::AssistantOverridesTranscriber] These are the options for the assistant's transcriber.
24
+ attr_reader :transcriber
25
+ # @return [Vapi::AssistantOverridesModel] These are the options for the assistant's LLM.
26
+ attr_reader :model
27
+ # @return [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
28
+ attr_reader :voice
29
+ # @return [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
30
+ # Use:
31
+ # - 'assistant-speaks-first' to have the assistant speak first.
32
+ # - 'assistant-waits-for-user' to have the assistant wait for the user to speak
33
+ # first.
34
+ # - 'assistant-speaks-first-with-model-generated-message' to have the assistant
35
+ # speak first with a message generated by the model based on the conversation
36
+ # state. (`assistant.model.messages` at call start, `call.messages` at squad
37
+ # transfer points).
38
+ # @default 'assistant-speaks-first'
39
+ attr_reader :first_message_mode
40
+ # @return [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
41
+ # the end of the call, you will still receive an end-of-call-report message to
42
+ # store on your server. Defaults to false.
43
+ attr_reader :hipaa_enabled
44
+ # @return [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
45
+ # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
46
+ # You can check the shape of the messages in ClientMessage schema.
47
+ attr_reader :client_messages
48
+ # @return [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
49
+ # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
50
+ # You can check the shape of the messages in ServerMessage schema.
51
+ attr_reader :server_messages
52
+ # @return [Float] How many seconds of silence to wait before ending the call. Defaults to 30.
53
+ # @default 30
54
+ attr_reader :silence_timeout_seconds
55
+ # @return [Float] This is the maximum number of seconds that the call will last. When the call
56
+ # reaches this duration, it will be ended.
57
+ # @default 600 (10 minutes)
58
+ attr_reader :max_duration_seconds
59
+ # @return [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
60
+ # and default for web calls is 'off'.
61
+ attr_reader :background_sound
62
+ # @return [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
63
+ # speaking.
64
+ # Default `false` while in beta.
65
+ # @default false
66
+ attr_reader :backchanneling_enabled
67
+ # @return [Boolean] This enables filtering of noise and background speech while the user is talking.
68
+ # Default `false` while in beta.
69
+ # @default false
70
+ attr_reader :background_denoising_enabled
71
+ # @return [Boolean] This determines whether the model's output is used in conversation history
72
+ # rather than the transcription of assistant's speech.
73
+ # Default `false` while in beta.
74
+ # @default false
75
+ attr_reader :model_output_in_messages_enabled
76
+ # @return [Array<Vapi::TransportConfigurationTwilio>] These are the configurations to be passed to the transport providers of
77
+ # assistant's calls, like Twilio. You can store multiple configurations for
78
+ # different transport providers. For a call, only the configuration matching the
79
+ # call transport provider is used.
80
+ attr_reader :transport_configurations
81
+ # @return [Hash{String => Object}] These are values that will be used to replace the template variables in the
82
+ # assistant messages and other text-based fields.
83
+ attr_reader :variable_values
84
+ # @return [String] This is the name of the assistant.
85
+ # This is required when you want to transfer between assistants in a call.
86
+ attr_reader :name
87
+ # @return [String] This is the first message that the assistant will say. This can also be a URL to
88
+ # a containerized audio file (mp3, wav, etc.).
89
+ # If unspecified, assistant will wait for user to speak and use the model to
90
+ # respond once they speak.
91
+ attr_reader :first_message
92
+ # @return [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
93
+ # Alternatively, voicemail detection can be configured using the
94
+ # model.tools=[VoicemailTool].
95
+ # This uses Twilio's built-in detection while the VoicemailTool relies on the
96
+ # model to detect if a voicemail was reached.
97
+ # You can use neither of them, one of them, or both of them. By default, Twilio
98
+ # built-in detection is enabled while VoicemailTool is not.
99
+ attr_reader :voicemail_detection
100
+ # @return [String] This is the message that the assistant will say if the call is forwarded to
101
+ # voicemail.
102
+ # If unspecified, it will hang up.
103
+ attr_reader :voicemail_message
104
+ # @return [String] This is the message that the assistant will say if it ends the call.
105
+ # If unspecified, it will hang up without saying anything.
106
+ attr_reader :end_call_message
107
+ # @return [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
108
+ # call to be hung up. Case insensitive.
109
+ attr_reader :end_call_phrases
110
+ # @return [Hash{String => Object}] This is for metadata you want to store on the assistant.
111
+ attr_reader :metadata
112
+ # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
113
+ # is used for retrieving context, function calling, and end-of-call reports.
114
+ # All requests will be sent with the call object among other things relevant to
115
+ # that message. You can find more details in the Server URL documentation.
116
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
117
+ # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
118
+ # org.serverUrl
119
+ attr_reader :server_url
120
+ # @return [String] This is the secret you can set that Vapi will send with every request to your
121
+ # server. Will be sent as a header called x-vapi-secret.
122
+ # Same precedence logic as serverUrl.
123
+ attr_reader :server_url_secret
124
+ # @return [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
125
+ attr_reader :analysis_plan
126
+ # @return [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
127
+ # `call.artifact`.
128
+ # Note: `recordingEnabled` is currently at the root level. It will be moved to
129
+ # `artifactPlan` in the future, but will remain backwards compatible.
130
+ attr_reader :artifact_plan
131
+ # @return [Vapi::MessagePlan] This is the plan for static predefined messages that can be spoken by the
132
+ # assistant during the call, like `idleMessages`.
133
+ # Note: `firstMessage`, `voicemailMessage`, and `endCallMessage` are currently at
134
+ # the root level. They will be moved to `messagePlan` in the future, but will
135
+ # remain backwards compatible.
136
+ attr_reader :message_plan
137
+ # @return [Vapi::StartSpeakingPlan] This is the plan for when the assistant should start talking.
138
+ # You should configure this if you're running into these issues:
139
+ # - The assistant is too slow to start talking after the customer is done
140
+ # speaking.
141
+ # - The assistant is too fast to start talking after the customer is done
142
+ # speaking.
143
+ # - The assistant is so fast that it's actually interrupting the customer.
144
+ attr_reader :start_speaking_plan
145
+ # @return [Vapi::StopSpeakingPlan] This is the plan for when assistant should stop talking on customer
146
+ # interruption.
147
+ # You should configure this if you're running into these issues:
148
+ # - The assistant is too slow to recognize customer's interruption.
149
+ # - The assistant is too fast to recognize customer's interruption.
150
+ # - The assistant is getting interrupted by phrases that are just acknowledgments.
151
+ # - The assistant is getting interrupted by background noises.
152
+ # - The assistant is not properly stopping -- it starts talking right after
153
+ # getting interrupted.
154
+ attr_reader :stop_speaking_plan
155
+ # @return [Vapi::MonitorPlan] This is the plan for real-time monitoring of the assistant's calls.
156
+ # Usage:
157
+ # - To enable live listening of the assistant's calls, set
158
+ # `monitorPlan.listenEnabled` to `true`.
159
+ # - To enable live control of the assistant's calls, set
160
+ # `monitorPlan.controlEnabled` to `true`.
161
+ # Note, `serverMessages`, `clientMessages`, `serverUrl` and `serverUrlSecret` are
162
+ # currently at the root level but will be moved to `monitorPlan` in the future.
163
+ # Will remain backwards compatible
164
+ attr_reader :monitor_plan
165
+ # @return [Array<String>] These are the credentials that will be used for the assistant calls. By default,
166
+ # all the credentials are available for use in the call but you can provide a
167
+ # subset using this.
168
+ attr_reader :credential_ids
169
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
170
+ attr_reader :additional_properties
171
+ # @return [Object]
172
+ attr_reader :_field_set
173
+ protected :_field_set
174
+
175
+ OMIT = Object.new
176
+
177
+ # @param transcriber [Vapi::AssistantOverridesTranscriber] These are the options for the assistant's transcriber.
178
+ # @param model [Vapi::AssistantOverridesModel] These are the options for the assistant's LLM.
179
+ # @param voice [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
180
+ # @param first_message_mode [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
181
+ # Use:
182
+ # - 'assistant-speaks-first' to have the assistant speak first.
183
+ # - 'assistant-waits-for-user' to have the assistant wait for the user to speak
184
+ # first.
185
+ # - 'assistant-speaks-first-with-model-generated-message' to have the assistant
186
+ # speak first with a message generated by the model based on the conversation
187
+ # state. (`assistant.model.messages` at call start, `call.messages` at squad
188
+ # transfer points).
189
+ # @default 'assistant-speaks-first'
190
+ # @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
191
+ # the end of the call, you will still receive an end-of-call-report message to
192
+ # store on your server. Defaults to false.
193
+ # @param client_messages [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
194
+ # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
195
+ # You can check the shape of the messages in ClientMessage schema.
196
+ # @param server_messages [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
197
+ # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
198
+ # You can check the shape of the messages in ServerMessage schema.
199
+ # @param silence_timeout_seconds [Float] How many seconds of silence to wait before ending the call. Defaults to 30.
200
+ # @default 30
201
+ # @param max_duration_seconds [Float] This is the maximum number of seconds that the call will last. When the call
202
+ # reaches this duration, it will be ended.
203
+ # @default 600 (10 minutes)
204
+ # @param background_sound [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
205
+ # and default for web calls is 'off'.
206
+ # @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
207
+ # speaking.
208
+ # Default `false` while in beta.
209
+ # @default false
210
+ # @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
211
+ # Default `false` while in beta.
212
+ # @default false
213
+ # @param model_output_in_messages_enabled [Boolean] This determines whether the model's output is used in conversation history
214
+ # rather than the transcription of assistant's speech.
215
+ # Default `false` while in beta.
216
+ # @default false
217
+ # @param transport_configurations [Array<Vapi::TransportConfigurationTwilio>] These are the configurations to be passed to the transport providers of
218
+ # assistant's calls, like Twilio. You can store multiple configurations for
219
+ # different transport providers. For a call, only the configuration matching the
220
+ # call transport provider is used.
221
+ # @param variable_values [Hash{String => Object}] These are values that will be used to replace the template variables in the
222
+ # assistant messages and other text-based fields.
223
+ # @param name [String] This is the name of the assistant.
224
+ # This is required when you want to transfer between assistants in a call.
225
+ # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
226
+ # a containerized audio file (mp3, wav, etc.).
227
+ # If unspecified, assistant will wait for user to speak and use the model to
228
+ # respond once they speak.
229
+ # @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
230
+ # Alternatively, voicemail detection can be configured using the
231
+ # model.tools=[VoicemailTool].
232
+ # This uses Twilio's built-in detection while the VoicemailTool relies on the
233
+ # model to detect if a voicemail was reached.
234
+ # You can use neither of them, one of them, or both of them. By default, Twilio
235
+ # built-in detection is enabled while VoicemailTool is not.
236
+ # @param voicemail_message [String] This is the message that the assistant will say if the call is forwarded to
237
+ # voicemail.
238
+ # If unspecified, it will hang up.
239
+ # @param end_call_message [String] This is the message that the assistant will say if it ends the call.
240
+ # If unspecified, it will hang up without saying anything.
241
+ # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
242
+ # call to be hung up. Case insensitive.
243
+ # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
244
+ # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
245
+ # is used for retrieving context, function calling, and end-of-call reports.
246
+ # All requests will be sent with the call object among other things relevant to
247
+ # that message. You can find more details in the Server URL documentation.
248
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
249
+ # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
250
+ # org.serverUrl
251
+ # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
252
+ # server. Will be sent as a header called x-vapi-secret.
253
+ # Same precedence logic as serverUrl.
254
+ # @param analysis_plan [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
255
+ # @param artifact_plan [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
256
+ # `call.artifact`.
257
+ # Note: `recordingEnabled` is currently at the root level. It will be moved to
258
+ # `artifactPlan` in the future, but will remain backwards compatible.
259
+ # @param message_plan [Vapi::MessagePlan] This is the plan for static predefined messages that can be spoken by the
260
+ # assistant during the call, like `idleMessages`.
261
+ # Note: `firstMessage`, `voicemailMessage`, and `endCallMessage` are currently at
262
+ # the root level. They will be moved to `messagePlan` in the future, but will
263
+ # remain backwards compatible.
264
+ # @param start_speaking_plan [Vapi::StartSpeakingPlan] This is the plan for when the assistant should start talking.
265
+ # You should configure this if you're running into these issues:
266
+ # - The assistant is too slow to start talking after the customer is done
267
+ # speaking.
268
+ # - The assistant is too fast to start talking after the customer is done
269
+ # speaking.
270
+ # - The assistant is so fast that it's actually interrupting the customer.
271
+ # @param stop_speaking_plan [Vapi::StopSpeakingPlan] This is the plan for when assistant should stop talking on customer
272
+ # interruption.
273
+ # You should configure this if you're running into these issues:
274
+ # - The assistant is too slow to recognize customer's interruption.
275
+ # - The assistant is too fast to recognize customer's interruption.
276
+ # - The assistant is getting interrupted by phrases that are just acknowledgments.
277
+ # - The assistant is getting interrupted by background noises.
278
+ # - The assistant is not properly stopping -- it starts talking right after
279
+ # getting interrupted.
280
+ # @param monitor_plan [Vapi::MonitorPlan] This is the plan for real-time monitoring of the assistant's calls.
281
+ # Usage:
282
+ # - To enable live listening of the assistant's calls, set
283
+ # `monitorPlan.listenEnabled` to `true`.
284
+ # - To enable live control of the assistant's calls, set
285
+ # `monitorPlan.controlEnabled` to `true`.
286
+ # Note, `serverMessages`, `clientMessages`, `serverUrl` and `serverUrlSecret` are
287
+ # currently at the root level but will be moved to `monitorPlan` in the future.
288
+ # Will remain backwards compatible
289
+ # @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
290
+ # all the credentials are available for use in the call but you can provide a
291
+ # subset using this.
292
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
293
+ # @return [Vapi::AssistantOverrides]
294
+ def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message_mode: OMIT, hipaa_enabled: OMIT,
295
+ client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, backchanneling_enabled: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, variable_values: OMIT, name: OMIT, first_message: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, server_url: OMIT, server_url_secret: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, additional_properties: nil)
296
+ @transcriber = transcriber if transcriber != OMIT
297
+ @model = model if model != OMIT
298
+ @voice = voice if voice != OMIT
299
+ @first_message_mode = first_message_mode if first_message_mode != OMIT
300
+ @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
301
+ @client_messages = client_messages if client_messages != OMIT
302
+ @server_messages = server_messages if server_messages != OMIT
303
+ @silence_timeout_seconds = silence_timeout_seconds if silence_timeout_seconds != OMIT
304
+ @max_duration_seconds = max_duration_seconds if max_duration_seconds != OMIT
305
+ @background_sound = background_sound if background_sound != OMIT
306
+ @backchanneling_enabled = backchanneling_enabled if backchanneling_enabled != OMIT
307
+ @background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
308
+ @model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
309
+ @transport_configurations = transport_configurations if transport_configurations != OMIT
310
+ @variable_values = variable_values if variable_values != OMIT
311
+ @name = name if name != OMIT
312
+ @first_message = first_message if first_message != OMIT
313
+ @voicemail_detection = voicemail_detection if voicemail_detection != OMIT
314
+ @voicemail_message = voicemail_message if voicemail_message != OMIT
315
+ @end_call_message = end_call_message if end_call_message != OMIT
316
+ @end_call_phrases = end_call_phrases if end_call_phrases != OMIT
317
+ @metadata = metadata if metadata != OMIT
318
+ @server_url = server_url if server_url != OMIT
319
+ @server_url_secret = server_url_secret if server_url_secret != OMIT
320
+ @analysis_plan = analysis_plan if analysis_plan != OMIT
321
+ @artifact_plan = artifact_plan if artifact_plan != OMIT
322
+ @message_plan = message_plan if message_plan != OMIT
323
+ @start_speaking_plan = start_speaking_plan if start_speaking_plan != OMIT
324
+ @stop_speaking_plan = stop_speaking_plan if stop_speaking_plan != OMIT
325
+ @monitor_plan = monitor_plan if monitor_plan != OMIT
326
+ @credential_ids = credential_ids if credential_ids != OMIT
327
+ @additional_properties = additional_properties
328
+ @_field_set = {
329
+ "transcriber": transcriber,
330
+ "model": model,
331
+ "voice": voice,
332
+ "firstMessageMode": first_message_mode,
333
+ "hipaaEnabled": hipaa_enabled,
334
+ "clientMessages": client_messages,
335
+ "serverMessages": server_messages,
336
+ "silenceTimeoutSeconds": silence_timeout_seconds,
337
+ "maxDurationSeconds": max_duration_seconds,
338
+ "backgroundSound": background_sound,
339
+ "backchannelingEnabled": backchanneling_enabled,
340
+ "backgroundDenoisingEnabled": background_denoising_enabled,
341
+ "modelOutputInMessagesEnabled": model_output_in_messages_enabled,
342
+ "transportConfigurations": transport_configurations,
343
+ "variableValues": variable_values,
344
+ "name": name,
345
+ "firstMessage": first_message,
346
+ "voicemailDetection": voicemail_detection,
347
+ "voicemailMessage": voicemail_message,
348
+ "endCallMessage": end_call_message,
349
+ "endCallPhrases": end_call_phrases,
350
+ "metadata": metadata,
351
+ "serverUrl": server_url,
352
+ "serverUrlSecret": server_url_secret,
353
+ "analysisPlan": analysis_plan,
354
+ "artifactPlan": artifact_plan,
355
+ "messagePlan": message_plan,
356
+ "startSpeakingPlan": start_speaking_plan,
357
+ "stopSpeakingPlan": stop_speaking_plan,
358
+ "monitorPlan": monitor_plan,
359
+ "credentialIds": credential_ids
360
+ }.reject do |_k, v|
361
+ v == OMIT
362
+ end
363
+ end
364
+
365
+ # Deserialize a JSON object to an instance of AssistantOverrides
366
+ #
367
+ # @param json_object [String]
368
+ # @return [Vapi::AssistantOverrides]
369
+ def self.from_json(json_object:)
370
+ struct = JSON.parse(json_object, object_class: OpenStruct)
371
+ parsed_json = JSON.parse(json_object)
372
+ if parsed_json["transcriber"].nil?
373
+ transcriber = nil
374
+ else
375
+ transcriber = parsed_json["transcriber"].to_json
376
+ transcriber = Vapi::AssistantOverridesTranscriber.from_json(json_object: transcriber)
377
+ end
378
+ if parsed_json["model"].nil?
379
+ model = nil
380
+ else
381
+ model = parsed_json["model"].to_json
382
+ model = Vapi::AssistantOverridesModel.from_json(json_object: model)
383
+ end
384
+ if parsed_json["voice"].nil?
385
+ voice = nil
386
+ else
387
+ voice = parsed_json["voice"].to_json
388
+ voice = Vapi::AssistantOverridesVoice.from_json(json_object: voice)
389
+ end
390
+ first_message_mode = parsed_json["firstMessageMode"]
391
+ hipaa_enabled = parsed_json["hipaaEnabled"]
392
+ client_messages = parsed_json["clientMessages"]
393
+ server_messages = parsed_json["serverMessages"]
394
+ silence_timeout_seconds = parsed_json["silenceTimeoutSeconds"]
395
+ max_duration_seconds = parsed_json["maxDurationSeconds"]
396
+ background_sound = parsed_json["backgroundSound"]
397
+ backchanneling_enabled = parsed_json["backchannelingEnabled"]
398
+ background_denoising_enabled = parsed_json["backgroundDenoisingEnabled"]
399
+ model_output_in_messages_enabled = parsed_json["modelOutputInMessagesEnabled"]
400
+ transport_configurations = parsed_json["transportConfigurations"]&.map do |item|
401
+ item = item.to_json
402
+ Vapi::TransportConfigurationTwilio.from_json(json_object: item)
403
+ end
404
+ variable_values = parsed_json["variableValues"]
405
+ name = parsed_json["name"]
406
+ first_message = parsed_json["firstMessage"]
407
+ if parsed_json["voicemailDetection"].nil?
408
+ voicemail_detection = nil
409
+ else
410
+ voicemail_detection = parsed_json["voicemailDetection"].to_json
411
+ voicemail_detection = Vapi::TwilioVoicemailDetection.from_json(json_object: voicemail_detection)
412
+ end
413
+ voicemail_message = parsed_json["voicemailMessage"]
414
+ end_call_message = parsed_json["endCallMessage"]
415
+ end_call_phrases = parsed_json["endCallPhrases"]
416
+ metadata = parsed_json["metadata"]
417
+ server_url = parsed_json["serverUrl"]
418
+ server_url_secret = parsed_json["serverUrlSecret"]
419
+ if parsed_json["analysisPlan"].nil?
420
+ analysis_plan = nil
421
+ else
422
+ analysis_plan = parsed_json["analysisPlan"].to_json
423
+ analysis_plan = Vapi::AnalysisPlan.from_json(json_object: analysis_plan)
424
+ end
425
+ if parsed_json["artifactPlan"].nil?
426
+ artifact_plan = nil
427
+ else
428
+ artifact_plan = parsed_json["artifactPlan"].to_json
429
+ artifact_plan = Vapi::ArtifactPlan.from_json(json_object: artifact_plan)
430
+ end
431
+ if parsed_json["messagePlan"].nil?
432
+ message_plan = nil
433
+ else
434
+ message_plan = parsed_json["messagePlan"].to_json
435
+ message_plan = Vapi::MessagePlan.from_json(json_object: message_plan)
436
+ end
437
+ if parsed_json["startSpeakingPlan"].nil?
438
+ start_speaking_plan = nil
439
+ else
440
+ start_speaking_plan = parsed_json["startSpeakingPlan"].to_json
441
+ start_speaking_plan = Vapi::StartSpeakingPlan.from_json(json_object: start_speaking_plan)
442
+ end
443
+ if parsed_json["stopSpeakingPlan"].nil?
444
+ stop_speaking_plan = nil
445
+ else
446
+ stop_speaking_plan = parsed_json["stopSpeakingPlan"].to_json
447
+ stop_speaking_plan = Vapi::StopSpeakingPlan.from_json(json_object: stop_speaking_plan)
448
+ end
449
+ if parsed_json["monitorPlan"].nil?
450
+ monitor_plan = nil
451
+ else
452
+ monitor_plan = parsed_json["monitorPlan"].to_json
453
+ monitor_plan = Vapi::MonitorPlan.from_json(json_object: monitor_plan)
454
+ end
455
+ credential_ids = parsed_json["credentialIds"]
456
+ new(
457
+ transcriber: transcriber,
458
+ model: model,
459
+ voice: voice,
460
+ first_message_mode: first_message_mode,
461
+ hipaa_enabled: hipaa_enabled,
462
+ client_messages: client_messages,
463
+ server_messages: server_messages,
464
+ silence_timeout_seconds: silence_timeout_seconds,
465
+ max_duration_seconds: max_duration_seconds,
466
+ background_sound: background_sound,
467
+ backchanneling_enabled: backchanneling_enabled,
468
+ background_denoising_enabled: background_denoising_enabled,
469
+ model_output_in_messages_enabled: model_output_in_messages_enabled,
470
+ transport_configurations: transport_configurations,
471
+ variable_values: variable_values,
472
+ name: name,
473
+ first_message: first_message,
474
+ voicemail_detection: voicemail_detection,
475
+ voicemail_message: voicemail_message,
476
+ end_call_message: end_call_message,
477
+ end_call_phrases: end_call_phrases,
478
+ metadata: metadata,
479
+ server_url: server_url,
480
+ server_url_secret: server_url_secret,
481
+ analysis_plan: analysis_plan,
482
+ artifact_plan: artifact_plan,
483
+ message_plan: message_plan,
484
+ start_speaking_plan: start_speaking_plan,
485
+ stop_speaking_plan: stop_speaking_plan,
486
+ monitor_plan: monitor_plan,
487
+ credential_ids: credential_ids,
488
+ additional_properties: struct
489
+ )
490
+ end
491
+
492
+ # Serialize an instance of AssistantOverrides to a JSON object
493
+ #
494
+ # @return [String]
495
+ def to_json(*_args)
496
+ @_field_set&.to_json
497
+ end
498
+
499
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
500
+ # hash and check each fields type against the current object's property
501
+ # definitions.
502
+ #
503
+ # @param obj [Object]
504
+ # @return [Void]
505
+ def self.validate_raw(obj:)
506
+ obj.transcriber.nil? || Vapi::AssistantOverridesTranscriber.validate_raw(obj: obj.transcriber)
507
+ obj.model.nil? || Vapi::AssistantOverridesModel.validate_raw(obj: obj.model)
508
+ obj.voice.nil? || Vapi::AssistantOverridesVoice.validate_raw(obj: obj.voice)
509
+ obj.first_message_mode&.is_a?(Vapi::AssistantOverridesFirstMessageMode) != false || raise("Passed value for field obj.first_message_mode is not the expected type, validation failed.")
510
+ obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
511
+ obj.client_messages&.is_a?(Array) != false || raise("Passed value for field obj.client_messages is not the expected type, validation failed.")
512
+ obj.server_messages&.is_a?(Array) != false || raise("Passed value for field obj.server_messages is not the expected type, validation failed.")
513
+ obj.silence_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.silence_timeout_seconds is not the expected type, validation failed.")
514
+ obj.max_duration_seconds&.is_a?(Float) != false || raise("Passed value for field obj.max_duration_seconds is not the expected type, validation failed.")
515
+ obj.background_sound&.is_a?(Vapi::AssistantOverridesBackgroundSound) != false || raise("Passed value for field obj.background_sound is not the expected type, validation failed.")
516
+ obj.backchanneling_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.backchanneling_enabled is not the expected type, validation failed.")
517
+ obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
518
+ obj.model_output_in_messages_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.model_output_in_messages_enabled is not the expected type, validation failed.")
519
+ obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
520
+ obj.variable_values&.is_a?(Hash) != false || raise("Passed value for field obj.variable_values is not the expected type, validation failed.")
521
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
522
+ obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
523
+ obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
524
+ obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
525
+ obj.end_call_message&.is_a?(String) != false || raise("Passed value for field obj.end_call_message is not the expected type, validation failed.")
526
+ obj.end_call_phrases&.is_a?(Array) != false || raise("Passed value for field obj.end_call_phrases is not the expected type, validation failed.")
527
+ obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
528
+ obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
529
+ obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
530
+ obj.analysis_plan.nil? || Vapi::AnalysisPlan.validate_raw(obj: obj.analysis_plan)
531
+ obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
532
+ obj.message_plan.nil? || Vapi::MessagePlan.validate_raw(obj: obj.message_plan)
533
+ obj.start_speaking_plan.nil? || Vapi::StartSpeakingPlan.validate_raw(obj: obj.start_speaking_plan)
534
+ obj.stop_speaking_plan.nil? || Vapi::StopSpeakingPlan.validate_raw(obj: obj.stop_speaking_plan)
535
+ obj.monitor_plan.nil? || Vapi::MonitorPlan.validate_raw(obj: obj.monitor_plan)
536
+ obj.credential_ids&.is_a?(Array) != false || raise("Passed value for field obj.credential_ids is not the expected type, validation failed.")
537
+ end
538
+ end
539
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the background sound in the call. Default for phone calls is 'office'
5
+ # and default for web calls is 'off'.
6
+ class AssistantOverridesBackgroundSound
7
+ OFF = "off"
8
+ OFFICE = "office"
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ class AssistantOverridesClientMessagesItem
5
+ CONVERSATION_UPDATE = "conversation-update"
6
+ FUNCTION_CALL = "function-call"
7
+ FUNCTION_CALL_RESULT = "function-call-result"
8
+ HANG = "hang"
9
+ LANGUAGE_CHANGED = "language-changed"
10
+ METADATA = "metadata"
11
+ MODEL_OUTPUT = "model-output"
12
+ SPEECH_UPDATE = "speech-update"
13
+ STATUS_UPDATE = "status-update"
14
+ TRANSCRIPT = "transcript"
15
+ TOOL_CALLS = "tool-calls"
16
+ TOOL_CALLS_RESULT = "tool-calls-result"
17
+ USER_INTERRUPTED = "user-interrupted"
18
+ VOICE_INPUT = "voice-input"
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the mode for the first message. Default is 'assistant-speaks-first'.
5
+ # Use:
6
+ # - 'assistant-speaks-first' to have the assistant speak first.
7
+ # - 'assistant-waits-for-user' to have the assistant wait for the user to speak
8
+ # first.
9
+ # - 'assistant-speaks-first-with-model-generated-message' to have the assistant
10
+ # speak first with a message generated by the model based on the conversation
11
+ # state. (`assistant.model.messages` at call start, `call.messages` at squad
12
+ # transfer points).
13
+ # @default 'assistant-speaks-first'
14
+ class AssistantOverridesFirstMessageMode
15
+ ASSISTANT_SPEAKS_FIRST = "assistant-speaks-first"
16
+ ASSISTANT_SPEAKS_FIRST_WITH_MODEL_GENERATED_MESSAGE = "assistant-speaks-first-with-model-generated-message"
17
+ ASSISTANT_WAITS_FOR_USER = "assistant-waits-for-user"
18
+ end
19
+ end