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,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "sip_trunk_gateway_outbound_protocol"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class SipTrunkGateway
9
+ # @return [String] This is the address of the gateway. It can be an IPv4 address like 1.1.1.1 or a
10
+ # fully qualified domain name like my-sip-trunk.pstn.twilio.com.
11
+ attr_reader :ip
12
+ # @return [Float] This is the port number of the gateway. Default is 5060.
13
+ # @default 5060
14
+ attr_reader :port
15
+ # @return [Float] This is the netmask of the gateway. Defaults to 32.
16
+ # @default 32
17
+ attr_reader :netmask
18
+ # @return [Boolean] This is whether inbound calls are allowed from this gateway. Default is true.
19
+ # @default true
20
+ attr_reader :inbound_enabled
21
+ # @return [Boolean] This is whether outbound calls should be sent to this gateway. Default is true.
22
+ # Note, if netmask is less than 32, it doesn't affect the outbound IPs that are
23
+ # tried. 1 attempt is made to `ip:port`.
24
+ # @default true
25
+ attr_reader :outbound_enabled
26
+ # @return [Vapi::SipTrunkGatewayOutboundProtocol] This is the protocol to use for SIP signaling outbound calls. Default is udp.
27
+ # @default udp
28
+ attr_reader :outbound_protocol
29
+ # @return [Boolean] This is whether to send options ping to the gateway. This can be used to check
30
+ # if the gateway is reachable. Default is false.
31
+ # This is useful for high availability setups where you want to check if the
32
+ # gateway is reachable before routing calls to it. Note, if no gateway for a trunk
33
+ # is reachable, outbound calls will be rejected.
34
+ # @default false
35
+ attr_reader :options_ping_enabled
36
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
37
+ attr_reader :additional_properties
38
+ # @return [Object]
39
+ attr_reader :_field_set
40
+ protected :_field_set
41
+
42
+ OMIT = Object.new
43
+
44
+ # @param ip [String] This is the address of the gateway. It can be an IPv4 address like 1.1.1.1 or a
45
+ # fully qualified domain name like my-sip-trunk.pstn.twilio.com.
46
+ # @param port [Float] This is the port number of the gateway. Default is 5060.
47
+ # @default 5060
48
+ # @param netmask [Float] This is the netmask of the gateway. Defaults to 32.
49
+ # @default 32
50
+ # @param inbound_enabled [Boolean] This is whether inbound calls are allowed from this gateway. Default is true.
51
+ # @default true
52
+ # @param outbound_enabled [Boolean] This is whether outbound calls should be sent to this gateway. Default is true.
53
+ # Note, if netmask is less than 32, it doesn't affect the outbound IPs that are
54
+ # tried. 1 attempt is made to `ip:port`.
55
+ # @default true
56
+ # @param outbound_protocol [Vapi::SipTrunkGatewayOutboundProtocol] This is the protocol to use for SIP signaling outbound calls. Default is udp.
57
+ # @default udp
58
+ # @param options_ping_enabled [Boolean] This is whether to send options ping to the gateway. This can be used to check
59
+ # if the gateway is reachable. Default is false.
60
+ # This is useful for high availability setups where you want to check if the
61
+ # gateway is reachable before routing calls to it. Note, if no gateway for a trunk
62
+ # is reachable, outbound calls will be rejected.
63
+ # @default false
64
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
65
+ # @return [Vapi::SipTrunkGateway]
66
+ def initialize(ip:, port: OMIT, netmask: OMIT, inbound_enabled: OMIT, outbound_enabled: OMIT,
67
+ outbound_protocol: OMIT, options_ping_enabled: OMIT, additional_properties: nil)
68
+ @ip = ip
69
+ @port = port if port != OMIT
70
+ @netmask = netmask if netmask != OMIT
71
+ @inbound_enabled = inbound_enabled if inbound_enabled != OMIT
72
+ @outbound_enabled = outbound_enabled if outbound_enabled != OMIT
73
+ @outbound_protocol = outbound_protocol if outbound_protocol != OMIT
74
+ @options_ping_enabled = options_ping_enabled if options_ping_enabled != OMIT
75
+ @additional_properties = additional_properties
76
+ @_field_set = {
77
+ "ip": ip,
78
+ "port": port,
79
+ "netmask": netmask,
80
+ "inboundEnabled": inbound_enabled,
81
+ "outboundEnabled": outbound_enabled,
82
+ "outboundProtocol": outbound_protocol,
83
+ "optionsPingEnabled": options_ping_enabled
84
+ }.reject do |_k, v|
85
+ v == OMIT
86
+ end
87
+ end
88
+
89
+ # Deserialize a JSON object to an instance of SipTrunkGateway
90
+ #
91
+ # @param json_object [String]
92
+ # @return [Vapi::SipTrunkGateway]
93
+ def self.from_json(json_object:)
94
+ struct = JSON.parse(json_object, object_class: OpenStruct)
95
+ parsed_json = JSON.parse(json_object)
96
+ ip = parsed_json["ip"]
97
+ port = parsed_json["port"]
98
+ netmask = parsed_json["netmask"]
99
+ inbound_enabled = parsed_json["inboundEnabled"]
100
+ outbound_enabled = parsed_json["outboundEnabled"]
101
+ outbound_protocol = parsed_json["outboundProtocol"]
102
+ options_ping_enabled = parsed_json["optionsPingEnabled"]
103
+ new(
104
+ ip: ip,
105
+ port: port,
106
+ netmask: netmask,
107
+ inbound_enabled: inbound_enabled,
108
+ outbound_enabled: outbound_enabled,
109
+ outbound_protocol: outbound_protocol,
110
+ options_ping_enabled: options_ping_enabled,
111
+ additional_properties: struct
112
+ )
113
+ end
114
+
115
+ # Serialize an instance of SipTrunkGateway to a JSON object
116
+ #
117
+ # @return [String]
118
+ def to_json(*_args)
119
+ @_field_set&.to_json
120
+ end
121
+
122
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
123
+ # hash and check each fields type against the current object's property
124
+ # definitions.
125
+ #
126
+ # @param obj [Object]
127
+ # @return [Void]
128
+ def self.validate_raw(obj:)
129
+ obj.ip.is_a?(String) != false || raise("Passed value for field obj.ip is not the expected type, validation failed.")
130
+ obj.port&.is_a?(Float) != false || raise("Passed value for field obj.port is not the expected type, validation failed.")
131
+ obj.netmask&.is_a?(Float) != false || raise("Passed value for field obj.netmask is not the expected type, validation failed.")
132
+ obj.inbound_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.inbound_enabled is not the expected type, validation failed.")
133
+ obj.outbound_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.outbound_enabled is not the expected type, validation failed.")
134
+ obj.outbound_protocol&.is_a?(Vapi::SipTrunkGatewayOutboundProtocol) != false || raise("Passed value for field obj.outbound_protocol is not the expected type, validation failed.")
135
+ obj.options_ping_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.options_ping_enabled is not the expected type, validation failed.")
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the protocol to use for SIP signaling outbound calls. Default is udp.
5
+ # @default udp
6
+ class SipTrunkGatewayOutboundProtocol
7
+ TLS_SRTP = "tls/srtp"
8
+ TCP = "tcp"
9
+ TLS = "tls"
10
+ UDP = "udp"
11
+ end
12
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "sip_trunk_outbound_sip_register_plan"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class SipTrunkOutboundAuthenticationPlan
9
+ # @return [String] This is not returned in the API.
10
+ attr_reader :auth_password
11
+ # @return [String]
12
+ attr_reader :auth_username
13
+ # @return [Vapi::SipTrunkOutboundSipRegisterPlan] This can be used to configure if SIP register is required by the SIP trunk. If
14
+ # not provided, no SIP registration will be attempted.
15
+ attr_reader :sip_register_plan
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param auth_password [String] This is not returned in the API.
25
+ # @param auth_username [String]
26
+ # @param sip_register_plan [Vapi::SipTrunkOutboundSipRegisterPlan] This can be used to configure if SIP register is required by the SIP trunk. If
27
+ # not provided, no SIP registration will be attempted.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Vapi::SipTrunkOutboundAuthenticationPlan]
30
+ def initialize(auth_password: OMIT, auth_username: OMIT, sip_register_plan: OMIT, additional_properties: nil)
31
+ @auth_password = auth_password if auth_password != OMIT
32
+ @auth_username = auth_username if auth_username != OMIT
33
+ @sip_register_plan = sip_register_plan if sip_register_plan != OMIT
34
+ @additional_properties = additional_properties
35
+ @_field_set = {
36
+ "authPassword": auth_password,
37
+ "authUsername": auth_username,
38
+ "sipRegisterPlan": sip_register_plan
39
+ }.reject do |_k, v|
40
+ v == OMIT
41
+ end
42
+ end
43
+
44
+ # Deserialize a JSON object to an instance of SipTrunkOutboundAuthenticationPlan
45
+ #
46
+ # @param json_object [String]
47
+ # @return [Vapi::SipTrunkOutboundAuthenticationPlan]
48
+ def self.from_json(json_object:)
49
+ struct = JSON.parse(json_object, object_class: OpenStruct)
50
+ parsed_json = JSON.parse(json_object)
51
+ auth_password = parsed_json["authPassword"]
52
+ auth_username = parsed_json["authUsername"]
53
+ if parsed_json["sipRegisterPlan"].nil?
54
+ sip_register_plan = nil
55
+ else
56
+ sip_register_plan = parsed_json["sipRegisterPlan"].to_json
57
+ sip_register_plan = Vapi::SipTrunkOutboundSipRegisterPlan.from_json(json_object: sip_register_plan)
58
+ end
59
+ new(
60
+ auth_password: auth_password,
61
+ auth_username: auth_username,
62
+ sip_register_plan: sip_register_plan,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+
67
+ # Serialize an instance of SipTrunkOutboundAuthenticationPlan to a JSON object
68
+ #
69
+ # @return [String]
70
+ def to_json(*_args)
71
+ @_field_set&.to_json
72
+ end
73
+
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.auth_password&.is_a?(String) != false || raise("Passed value for field obj.auth_password is not the expected type, validation failed.")
82
+ obj.auth_username&.is_a?(String) != false || raise("Passed value for field obj.auth_username is not the expected type, validation failed.")
83
+ obj.sip_register_plan.nil? || Vapi::SipTrunkOutboundSipRegisterPlan.validate_raw(obj: obj.sip_register_plan)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class SipTrunkOutboundSipRegisterPlan
8
+ # @return [String]
9
+ attr_reader :domain
10
+ # @return [String]
11
+ attr_reader :username
12
+ # @return [String]
13
+ attr_reader :realm
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param domain [String]
23
+ # @param username [String]
24
+ # @param realm [String]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Vapi::SipTrunkOutboundSipRegisterPlan]
27
+ def initialize(domain: OMIT, username: OMIT, realm: OMIT, additional_properties: nil)
28
+ @domain = domain if domain != OMIT
29
+ @username = username if username != OMIT
30
+ @realm = realm if realm != OMIT
31
+ @additional_properties = additional_properties
32
+ @_field_set = { "domain": domain, "username": username, "realm": realm }.reject do |_k, v|
33
+ v == OMIT
34
+ end
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of SipTrunkOutboundSipRegisterPlan
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Vapi::SipTrunkOutboundSipRegisterPlan]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ domain = parsed_json["domain"]
45
+ username = parsed_json["username"]
46
+ realm = parsed_json["realm"]
47
+ new(
48
+ domain: domain,
49
+ username: username,
50
+ realm: realm,
51
+ additional_properties: struct
52
+ )
53
+ end
54
+
55
+ # Serialize an instance of SipTrunkOutboundSipRegisterPlan to a JSON object
56
+ #
57
+ # @return [String]
58
+ def to_json(*_args)
59
+ @_field_set&.to_json
60
+ end
61
+
62
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
63
+ # hash and check each fields type against the current object's property
64
+ # definitions.
65
+ #
66
+ # @param obj [Object]
67
+ # @return [Void]
68
+ def self.validate_raw(obj:)
69
+ obj.domain&.is_a?(String) != false || raise("Passed value for field obj.domain is not the expected type, validation failed.")
70
+ obj.username&.is_a?(String) != false || raise("Passed value for field obj.username is not the expected type, validation failed.")
71
+ obj.realm&.is_a?(String) != false || raise("Passed value for field obj.realm is not the expected type, validation failed.")
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "squad_member_dto"
4
+ require_relative "assistant_overrides"
5
+ require "date"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class Squad
11
+ # @return [String] This is the name of the squad.
12
+ attr_reader :name
13
+ # @return [Array<Vapi::SquadMemberDto>] This is the list of assistants that make up the squad.
14
+ # The call will start with the first assistant in the list.
15
+ attr_reader :members
16
+ # @return [Vapi::AssistantOverrides] This can be used to override all the assistants' settings and provide values for
17
+ # their template variables.
18
+ # Both `membersOverrides` and `members[n].assistantOverrides` can be used
19
+ # together. First, `members[n].assistantOverrides` is applied. Then,
20
+ # `membersOverrides` is applied as a global override.
21
+ attr_reader :members_overrides
22
+ # @return [String] This is the unique identifier for the squad.
23
+ attr_reader :id
24
+ # @return [String] This is the unique identifier for the org that this squad belongs to.
25
+ attr_reader :org_id
26
+ # @return [DateTime] This is the ISO 8601 date-time string of when the squad was created.
27
+ attr_reader :created_at
28
+ # @return [DateTime] This is the ISO 8601 date-time string of when the squad was last updated.
29
+ attr_reader :updated_at
30
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
31
+ attr_reader :additional_properties
32
+ # @return [Object]
33
+ attr_reader :_field_set
34
+ protected :_field_set
35
+
36
+ OMIT = Object.new
37
+
38
+ # @param name [String] This is the name of the squad.
39
+ # @param members [Array<Vapi::SquadMemberDto>] This is the list of assistants that make up the squad.
40
+ # The call will start with the first assistant in the list.
41
+ # @param members_overrides [Vapi::AssistantOverrides] This can be used to override all the assistants' settings and provide values for
42
+ # their template variables.
43
+ # Both `membersOverrides` and `members[n].assistantOverrides` can be used
44
+ # together. First, `members[n].assistantOverrides` is applied. Then,
45
+ # `membersOverrides` is applied as a global override.
46
+ # @param id [String] This is the unique identifier for the squad.
47
+ # @param org_id [String] This is the unique identifier for the org that this squad belongs to.
48
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the squad was created.
49
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the squad was last updated.
50
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
51
+ # @return [Vapi::Squad]
52
+ def initialize(members:, id:, org_id:, created_at:, updated_at:, name: OMIT, members_overrides: OMIT,
53
+ additional_properties: nil)
54
+ @name = name if name != OMIT
55
+ @members = members
56
+ @members_overrides = members_overrides if members_overrides != OMIT
57
+ @id = id
58
+ @org_id = org_id
59
+ @created_at = created_at
60
+ @updated_at = updated_at
61
+ @additional_properties = additional_properties
62
+ @_field_set = {
63
+ "name": name,
64
+ "members": members,
65
+ "membersOverrides": members_overrides,
66
+ "id": id,
67
+ "orgId": org_id,
68
+ "createdAt": created_at,
69
+ "updatedAt": updated_at
70
+ }.reject do |_k, v|
71
+ v == OMIT
72
+ end
73
+ end
74
+
75
+ # Deserialize a JSON object to an instance of Squad
76
+ #
77
+ # @param json_object [String]
78
+ # @return [Vapi::Squad]
79
+ def self.from_json(json_object:)
80
+ struct = JSON.parse(json_object, object_class: OpenStruct)
81
+ parsed_json = JSON.parse(json_object)
82
+ name = parsed_json["name"]
83
+ members = parsed_json["members"]&.map do |item|
84
+ item = item.to_json
85
+ Vapi::SquadMemberDto.from_json(json_object: item)
86
+ end
87
+ if parsed_json["membersOverrides"].nil?
88
+ members_overrides = nil
89
+ else
90
+ members_overrides = parsed_json["membersOverrides"].to_json
91
+ members_overrides = Vapi::AssistantOverrides.from_json(json_object: members_overrides)
92
+ end
93
+ id = parsed_json["id"]
94
+ org_id = parsed_json["orgId"]
95
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
96
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
97
+ new(
98
+ name: name,
99
+ members: members,
100
+ members_overrides: members_overrides,
101
+ id: id,
102
+ org_id: org_id,
103
+ created_at: created_at,
104
+ updated_at: updated_at,
105
+ additional_properties: struct
106
+ )
107
+ end
108
+
109
+ # Serialize an instance of Squad to a JSON object
110
+ #
111
+ # @return [String]
112
+ def to_json(*_args)
113
+ @_field_set&.to_json
114
+ end
115
+
116
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
117
+ # hash and check each fields type against the current object's property
118
+ # definitions.
119
+ #
120
+ # @param obj [Object]
121
+ # @return [Void]
122
+ def self.validate_raw(obj:)
123
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
124
+ obj.members.is_a?(Array) != false || raise("Passed value for field obj.members is not the expected type, validation failed.")
125
+ obj.members_overrides.nil? || Vapi::AssistantOverrides.validate_raw(obj: obj.members_overrides)
126
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
127
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
128
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
129
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "create_assistant_dto"
4
+ require_relative "assistant_overrides"
5
+ require_relative "transfer_destination_assistant"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class SquadMemberDto
11
+ # @return [String] This is the assistant that will be used for the call. To use a transient
12
+ # assistant, use `assistant` instead.
13
+ attr_reader :assistant_id
14
+ # @return [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
15
+ # assistant, use `assistantId` instead.
16
+ attr_reader :assistant
17
+ # @return [Vapi::AssistantOverrides] This can be used to override the assistant's settings and provide values for
18
+ # it's template variables.
19
+ attr_reader :assistant_overrides
20
+ # @return [Array<Vapi::TransferDestinationAssistant>] These are the others assistants that this assistant can transfer to.
21
+ # If the assistant already has transfer call tool, these destinations are just
22
+ # appended to existing ones.
23
+ attr_reader :assistant_destinations
24
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
25
+ attr_reader :additional_properties
26
+ # @return [Object]
27
+ attr_reader :_field_set
28
+ protected :_field_set
29
+
30
+ OMIT = Object.new
31
+
32
+ # @param assistant_id [String] This is the assistant that will be used for the call. To use a transient
33
+ # assistant, use `assistant` instead.
34
+ # @param assistant [Vapi::CreateAssistantDto] This is the assistant that will be used for the call. To use an existing
35
+ # assistant, use `assistantId` instead.
36
+ # @param assistant_overrides [Vapi::AssistantOverrides] This can be used to override the assistant's settings and provide values for
37
+ # it's template variables.
38
+ # @param assistant_destinations [Array<Vapi::TransferDestinationAssistant>] These are the others assistants that this assistant can transfer to.
39
+ # If the assistant already has transfer call tool, these destinations are just
40
+ # appended to existing ones.
41
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
42
+ # @return [Vapi::SquadMemberDto]
43
+ def initialize(assistant_id: OMIT, assistant: OMIT, assistant_overrides: OMIT, assistant_destinations: OMIT,
44
+ additional_properties: nil)
45
+ @assistant_id = assistant_id if assistant_id != OMIT
46
+ @assistant = assistant if assistant != OMIT
47
+ @assistant_overrides = assistant_overrides if assistant_overrides != OMIT
48
+ @assistant_destinations = assistant_destinations if assistant_destinations != OMIT
49
+ @additional_properties = additional_properties
50
+ @_field_set = {
51
+ "assistantId": assistant_id,
52
+ "assistant": assistant,
53
+ "assistantOverrides": assistant_overrides,
54
+ "assistantDestinations": assistant_destinations
55
+ }.reject do |_k, v|
56
+ v == OMIT
57
+ end
58
+ end
59
+
60
+ # Deserialize a JSON object to an instance of SquadMemberDto
61
+ #
62
+ # @param json_object [String]
63
+ # @return [Vapi::SquadMemberDto]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ assistant_id = parsed_json["assistantId"]
68
+ if parsed_json["assistant"].nil?
69
+ assistant = nil
70
+ else
71
+ assistant = parsed_json["assistant"].to_json
72
+ assistant = Vapi::CreateAssistantDto.from_json(json_object: assistant)
73
+ end
74
+ if parsed_json["assistantOverrides"].nil?
75
+ assistant_overrides = nil
76
+ else
77
+ assistant_overrides = parsed_json["assistantOverrides"].to_json
78
+ assistant_overrides = Vapi::AssistantOverrides.from_json(json_object: assistant_overrides)
79
+ end
80
+ assistant_destinations = parsed_json["assistantDestinations"]&.map do |item|
81
+ item = item.to_json
82
+ Vapi::TransferDestinationAssistant.from_json(json_object: item)
83
+ end
84
+ new(
85
+ assistant_id: assistant_id,
86
+ assistant: assistant,
87
+ assistant_overrides: assistant_overrides,
88
+ assistant_destinations: assistant_destinations,
89
+ additional_properties: struct
90
+ )
91
+ end
92
+
93
+ # Serialize an instance of SquadMemberDto to a JSON object
94
+ #
95
+ # @return [String]
96
+ def to_json(*_args)
97
+ @_field_set&.to_json
98
+ end
99
+
100
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
101
+ # hash and check each fields type against the current object's property
102
+ # definitions.
103
+ #
104
+ # @param obj [Object]
105
+ # @return [Void]
106
+ def self.validate_raw(obj:)
107
+ obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
108
+ obj.assistant.nil? || Vapi::CreateAssistantDto.validate_raw(obj: obj.assistant)
109
+ obj.assistant_overrides.nil? || Vapi::AssistantOverrides.validate_raw(obj: obj.assistant_overrides)
110
+ obj.assistant_destinations&.is_a?(Array) != false || raise("Passed value for field obj.assistant_destinations is not the expected type, validation failed.")
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "transcription_endpointing_plan"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class StartSpeakingPlan
9
+ # @return [Float] This is how long assistant waits before speaking. Defaults to 0.4.
10
+ # This is the minimum it will wait but if there is latency is the pipeline, this
11
+ # minimum will be exceeded. This is really a stopgap in case the pipeline is
12
+ # moving too fast.
13
+ # Example:
14
+ # - If model generates tokens and voice generates bytes within 100ms, the pipeline
15
+ # still waits 300ms before outputting speech.
16
+ # Usage:
17
+ # - If the customer is taking long pauses, set this to a higher value.
18
+ # - If the assistant is accidentally jumping in too much, set this to a higher
19
+ # value.
20
+ # @default 0.4
21
+ attr_reader :wait_seconds
22
+ # @return [Boolean] This determines if a customer speech is considered done (endpointing) using the
23
+ # VAP model on customer's speech. This is good for middle-of-thought detection.
24
+ # Once an endpoint is triggered, the request is sent to `assistant.model`.
25
+ # Default `false` since experimental.
26
+ # @default false
27
+ attr_reader :smart_endpointing_enabled
28
+ # @return [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
29
+ # transcription of customer's speech.
30
+ # Once an endpoint is triggered, the request is sent to `assistant.model`.
31
+ attr_reader :transcription_endpointing_plan
32
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
33
+ attr_reader :additional_properties
34
+ # @return [Object]
35
+ attr_reader :_field_set
36
+ protected :_field_set
37
+
38
+ OMIT = Object.new
39
+
40
+ # @param wait_seconds [Float] This is how long assistant waits before speaking. Defaults to 0.4.
41
+ # This is the minimum it will wait but if there is latency is the pipeline, this
42
+ # minimum will be exceeded. This is really a stopgap in case the pipeline is
43
+ # moving too fast.
44
+ # Example:
45
+ # - If model generates tokens and voice generates bytes within 100ms, the pipeline
46
+ # still waits 300ms before outputting speech.
47
+ # Usage:
48
+ # - If the customer is taking long pauses, set this to a higher value.
49
+ # - If the assistant is accidentally jumping in too much, set this to a higher
50
+ # value.
51
+ # @default 0.4
52
+ # @param smart_endpointing_enabled [Boolean] This determines if a customer speech is considered done (endpointing) using the
53
+ # VAP model on customer's speech. This is good for middle-of-thought detection.
54
+ # Once an endpoint is triggered, the request is sent to `assistant.model`.
55
+ # Default `false` since experimental.
56
+ # @default false
57
+ # @param transcription_endpointing_plan [Vapi::TranscriptionEndpointingPlan] This determines how a customer speech is considered done (endpointing) using the
58
+ # transcription of customer's speech.
59
+ # Once an endpoint is triggered, the request is sent to `assistant.model`.
60
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
61
+ # @return [Vapi::StartSpeakingPlan]
62
+ def initialize(wait_seconds: OMIT, smart_endpointing_enabled: OMIT, transcription_endpointing_plan: OMIT,
63
+ additional_properties: nil)
64
+ @wait_seconds = wait_seconds if wait_seconds != OMIT
65
+ @smart_endpointing_enabled = smart_endpointing_enabled if smart_endpointing_enabled != OMIT
66
+ @transcription_endpointing_plan = transcription_endpointing_plan if transcription_endpointing_plan != OMIT
67
+ @additional_properties = additional_properties
68
+ @_field_set = {
69
+ "waitSeconds": wait_seconds,
70
+ "smartEndpointingEnabled": smart_endpointing_enabled,
71
+ "transcriptionEndpointingPlan": transcription_endpointing_plan
72
+ }.reject do |_k, v|
73
+ v == OMIT
74
+ end
75
+ end
76
+
77
+ # Deserialize a JSON object to an instance of StartSpeakingPlan
78
+ #
79
+ # @param json_object [String]
80
+ # @return [Vapi::StartSpeakingPlan]
81
+ def self.from_json(json_object:)
82
+ struct = JSON.parse(json_object, object_class: OpenStruct)
83
+ parsed_json = JSON.parse(json_object)
84
+ wait_seconds = parsed_json["waitSeconds"]
85
+ smart_endpointing_enabled = parsed_json["smartEndpointingEnabled"]
86
+ if parsed_json["transcriptionEndpointingPlan"].nil?
87
+ transcription_endpointing_plan = nil
88
+ else
89
+ transcription_endpointing_plan = parsed_json["transcriptionEndpointingPlan"].to_json
90
+ transcription_endpointing_plan = Vapi::TranscriptionEndpointingPlan.from_json(json_object: transcription_endpointing_plan)
91
+ end
92
+ new(
93
+ wait_seconds: wait_seconds,
94
+ smart_endpointing_enabled: smart_endpointing_enabled,
95
+ transcription_endpointing_plan: transcription_endpointing_plan,
96
+ additional_properties: struct
97
+ )
98
+ end
99
+
100
+ # Serialize an instance of StartSpeakingPlan to a JSON object
101
+ #
102
+ # @return [String]
103
+ def to_json(*_args)
104
+ @_field_set&.to_json
105
+ end
106
+
107
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
108
+ # hash and check each fields type against the current object's property
109
+ # definitions.
110
+ #
111
+ # @param obj [Object]
112
+ # @return [Void]
113
+ def self.validate_raw(obj:)
114
+ obj.wait_seconds&.is_a?(Float) != false || raise("Passed value for field obj.wait_seconds is not the expected type, validation failed.")
115
+ obj.smart_endpointing_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.smart_endpointing_enabled is not the expected type, validation failed.")
116
+ obj.transcription_endpointing_plan.nil? || Vapi::TranscriptionEndpointingPlan.validate_raw(obj: obj.transcription_endpointing_plan)
117
+ end
118
+ end
119
+ end