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