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