vapi_server_sdk 0.5.0 → 0.9.1

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 (826) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +539 -197
  4. data/lib/vapi_server_sdk/assistants/client.rb +193 -108
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +47 -2
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound_zero.rb +10 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +2 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +208 -14
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_hooks_item.rb +109 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +36 -36
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -17
  12. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +65 -0
  13. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +61 -9
  14. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voicemail_detection.rb +129 -0
  15. data/lib/vapi_server_sdk/calls/client.rb +1045 -169
  16. data/lib/vapi_server_sdk/calls/types/calls_create_response.rb +56 -0
  17. data/lib/vapi_server_sdk/campaigns/client.rb +651 -0
  18. data/lib/vapi_server_sdk/campaigns/types/campaign_controller_find_all_request_sort_order.rb +10 -0
  19. data/lib/vapi_server_sdk/campaigns/types/campaign_controller_find_all_request_status.rb +11 -0
  20. data/lib/vapi_server_sdk/chats/client.rb +1378 -0
  21. data/lib/vapi_server_sdk/chats/types/chats_create_response.rb +56 -0
  22. data/lib/vapi_server_sdk/chats/types/chats_create_response_response.rb +98 -0
  23. data/lib/vapi_server_sdk/chats/types/chats_list_request_sort_order.rb +10 -0
  24. data/lib/vapi_server_sdk/chats/types/create_chat_dto_input.rb +60 -0
  25. data/lib/vapi_server_sdk/chats/types/create_chat_dto_input_item.rb +98 -0
  26. data/lib/vapi_server_sdk/chats/types/open_ai_responses_request_input.rb +60 -0
  27. data/lib/vapi_server_sdk/chats/types/open_ai_responses_request_input_item.rb +98 -0
  28. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +13 -0
  29. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +13 -0
  30. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +13 -0
  31. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +13 -0
  32. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +13 -0
  33. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +13 -0
  34. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +13 -0
  35. data/lib/vapi_server_sdk/sessions/client.rb +925 -0
  36. data/lib/vapi_server_sdk/sessions/types/create_session_dto_messages_item.rb +98 -0
  37. data/lib/vapi_server_sdk/sessions/types/create_session_dto_status.rb +12 -0
  38. data/lib/vapi_server_sdk/sessions/types/sessions_list_request_sort_order.rb +10 -0
  39. data/lib/vapi_server_sdk/sessions/types/update_session_dto_messages_item.rb +98 -0
  40. data/lib/vapi_server_sdk/sessions/types/update_session_dto_status.rb +11 -0
  41. data/lib/vapi_server_sdk/squads/client.rb +272 -128
  42. data/lib/vapi_server_sdk/test_suite_tests/client.rb +15 -13
  43. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +16 -1
  44. data/lib/vapi_server_sdk/{blocks/types/blocks_update_response.rb → test_suite_tests/types/test_suite_test_controller_create_response.rb} +27 -39
  45. data/lib/vapi_server_sdk/{blocks/types/blocks_create_response.rb → test_suite_tests/types/test_suite_test_controller_find_one_response.rb} +27 -39
  46. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +16 -1
  47. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +16 -1
  48. data/lib/vapi_server_sdk/{blocks/types/blocks_delete_response.rb → test_suite_tests/types/test_suite_test_controller_update_response.rb} +27 -39
  49. data/lib/vapi_server_sdk/test_suites/client.rb +1470 -8
  50. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +157 -1
  51. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +157 -1
  52. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +157 -1
  53. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +157 -1
  54. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +157 -1
  55. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +157 -1
  56. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +157 -1
  57. data/lib/vapi_server_sdk/types/ai_edge_condition.rb +19 -9
  58. data/lib/vapi_server_sdk/types/analysis.rb +12 -1
  59. data/lib/vapi_server_sdk/types/analysis_plan.rb +30 -2
  60. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  61. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -3
  62. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +4 -1
  63. data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +188 -32
  64. data/lib/vapi_server_sdk/types/anthropic_thinking_config.rb +67 -0
  65. data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +188 -32
  66. data/lib/vapi_server_sdk/types/api_request_tool.rb +584 -0
  67. data/lib/vapi_server_sdk/types/api_request_tool_messages_item.rb +120 -0
  68. data/lib/vapi_server_sdk/types/{api_request_method.rb → api_request_tool_method.rb} +1 -1
  69. data/lib/vapi_server_sdk/types/artifact.rb +38 -2
  70. data/lib/vapi_server_sdk/types/artifact_plan.rb +12 -1
  71. data/lib/vapi_server_sdk/types/artifact_plan_recording_format.rb +10 -0
  72. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +103 -3
  73. data/lib/vapi_server_sdk/types/assistant.rb +118 -53
  74. data/lib/vapi_server_sdk/types/assistant_background_sound.rb +47 -2
  75. data/lib/vapi_server_sdk/types/assistant_background_sound_zero.rb +8 -0
  76. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +2 -0
  77. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +208 -14
  78. data/lib/vapi_server_sdk/types/assistant_hook_assistant_speech_interrupted.rb +61 -0
  79. data/lib/vapi_server_sdk/types/assistant_hook_assistant_speech_interrupted_do_item.rb +108 -0
  80. data/lib/vapi_server_sdk/types/{assistant_hooks.rb → assistant_hook_call_ending.rb} +18 -25
  81. data/lib/vapi_server_sdk/types/{block_complete_message_conditions_item.rb → assistant_hook_call_ending_do_item.rb} +25 -25
  82. data/lib/vapi_server_sdk/types/assistant_hook_customer_speech_interrupted.rb +60 -0
  83. data/lib/vapi_server_sdk/types/assistant_hook_customer_speech_interrupted_do_item.rb +108 -0
  84. data/lib/vapi_server_sdk/types/assistant_hooks_item.rb +107 -0
  85. data/lib/vapi_server_sdk/types/assistant_message.rb +98 -0
  86. data/lib/vapi_server_sdk/types/assistant_model.rb +36 -36
  87. data/lib/vapi_server_sdk/types/assistant_overrides.rb +118 -53
  88. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +47 -2
  89. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound_zero.rb +8 -0
  90. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +2 -0
  91. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +208 -14
  92. data/lib/vapi_server_sdk/types/assistant_overrides_hooks_item.rb +107 -0
  93. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +36 -36
  94. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -17
  95. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +65 -0
  96. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +61 -9
  97. data/lib/vapi_server_sdk/types/assistant_overrides_voicemail_detection.rb +127 -0
  98. data/lib/vapi_server_sdk/types/assistant_paginated_response.rb +75 -0
  99. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -17
  100. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +65 -0
  101. data/lib/vapi_server_sdk/types/assistant_user_editable.rb +57 -0
  102. data/lib/vapi_server_sdk/types/assistant_version_paginated_response.rb +80 -0
  103. data/lib/vapi_server_sdk/types/assistant_voice.rb +61 -9
  104. data/lib/vapi_server_sdk/types/assistant_voicemail_detection.rb +127 -0
  105. data/lib/vapi_server_sdk/types/azure_credential.rb +11 -1
  106. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +5 -2
  107. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +21 -3
  108. data/lib/vapi_server_sdk/types/azure_voice.rb +10 -1
  109. data/lib/vapi_server_sdk/types/background_speech_denoising_plan.rb +86 -0
  110. data/lib/vapi_server_sdk/types/backoff_plan.rb +11 -11
  111. data/lib/vapi_server_sdk/types/bash_tool.rb +34 -44
  112. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +34 -44
  113. data/lib/vapi_server_sdk/types/bucket_plan.rb +2 -0
  114. data/lib/vapi_server_sdk/types/byo_phone_number.rb +46 -14
  115. data/lib/vapi_server_sdk/types/call.rb +126 -20
  116. data/lib/vapi_server_sdk/types/call_batch_error.rb +71 -0
  117. data/lib/vapi_server_sdk/types/call_batch_response.rb +73 -0
  118. data/lib/vapi_server_sdk/types/call_costs_item.rb +26 -0
  119. data/lib/vapi_server_sdk/types/call_ended_reason.rb +346 -52
  120. data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +1 -0
  121. data/lib/vapi_server_sdk/types/call_status.rb +1 -0
  122. data/lib/vapi_server_sdk/types/call_type.rb +1 -0
  123. data/lib/vapi_server_sdk/types/campaign.rb +216 -0
  124. data/lib/vapi_server_sdk/types/campaign_ended_reason.rb +10 -0
  125. data/lib/vapi_server_sdk/types/campaign_paginated_response.rb +75 -0
  126. data/lib/vapi_server_sdk/types/campaign_status.rb +10 -0
  127. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +10 -5
  128. data/lib/vapi_server_sdk/types/cartesia_speed_control.rb +52 -0
  129. data/lib/vapi_server_sdk/types/cartesia_transcriber.rb +83 -0
  130. data/lib/vapi_server_sdk/types/cartesia_transcriber_language.rb +191 -0
  131. data/lib/vapi_server_sdk/types/cartesia_voice.rb +10 -2
  132. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +1 -0
  133. data/lib/vapi_server_sdk/types/cerebras_model.rb +178 -0
  134. data/lib/vapi_server_sdk/types/cerebras_model_model.rb +9 -0
  135. data/lib/vapi_server_sdk/types/cerebras_model_tools_item.rb +315 -0
  136. data/lib/vapi_server_sdk/types/chat.rb +236 -0
  137. data/lib/vapi_server_sdk/types/chat_assistant_overrides.rb +57 -0
  138. data/lib/vapi_server_sdk/types/{assistant_hook_action_base.rb → chat_cost.rb} +17 -9
  139. data/lib/vapi_server_sdk/types/{vapi_model_steps_item.rb → chat_costs_item.rb} +25 -25
  140. data/lib/vapi_server_sdk/types/chat_input.rb +57 -0
  141. data/lib/vapi_server_sdk/types/chat_input_item.rb +96 -0
  142. data/lib/vapi_server_sdk/types/chat_messages_item.rb +96 -0
  143. data/lib/vapi_server_sdk/types/chat_output_item.rb +96 -0
  144. data/lib/vapi_server_sdk/types/chat_paginated_response.rb +75 -0
  145. data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +26 -2
  146. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +67 -12
  147. data/lib/vapi_server_sdk/types/client_message_conversation_update_phone_number.rb +135 -0
  148. data/lib/vapi_server_sdk/types/client_message_hang.rb +73 -19
  149. data/lib/vapi_server_sdk/types/client_message_hang_phone_number.rb +134 -0
  150. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +71 -11
  151. data/lib/vapi_server_sdk/types/client_message_language_change_detected_phone_number.rb +135 -0
  152. data/lib/vapi_server_sdk/types/client_message_message.rb +193 -164
  153. data/lib/vapi_server_sdk/types/client_message_metadata.rb +71 -11
  154. data/lib/vapi_server_sdk/types/client_message_metadata_phone_number.rb +134 -0
  155. data/lib/vapi_server_sdk/types/client_message_model_output.rb +71 -11
  156. data/lib/vapi_server_sdk/types/client_message_model_output_phone_number.rb +134 -0
  157. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +80 -11
  158. data/lib/vapi_server_sdk/types/client_message_speech_update_phone_number.rb +134 -0
  159. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +66 -9
  160. data/lib/vapi_server_sdk/types/client_message_tool_calls_phone_number.rb +134 -0
  161. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +71 -11
  162. data/lib/vapi_server_sdk/types/client_message_tool_calls_result_phone_number.rb +135 -0
  163. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +13 -0
  164. data/lib/vapi_server_sdk/types/client_message_transcript.rb +73 -12
  165. data/lib/vapi_server_sdk/types/client_message_transcript_phone_number.rb +134 -0
  166. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +65 -12
  167. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +0 -13
  168. data/lib/vapi_server_sdk/types/client_message_transfer_update_phone_number.rb +135 -0
  169. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +73 -11
  170. data/lib/vapi_server_sdk/types/client_message_user_interrupted_phone_number.rb +135 -0
  171. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +71 -11
  172. data/lib/vapi_server_sdk/types/client_message_voice_input_phone_number.rb +134 -0
  173. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +71 -11
  174. data/lib/vapi_server_sdk/types/client_message_workflow_node_started_phone_number.rb +135 -0
  175. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +11 -1
  176. data/lib/vapi_server_sdk/types/compliance_plan.rb +10 -10
  177. data/lib/vapi_server_sdk/types/computer_tool.rb +34 -44
  178. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +35 -45
  179. data/lib/vapi_server_sdk/types/condition.rb +3 -3
  180. data/lib/vapi_server_sdk/types/conversation_node.rb +247 -0
  181. data/lib/vapi_server_sdk/types/conversation_node_model.rb +122 -0
  182. data/lib/vapi_server_sdk/types/conversation_node_transcriber.rb +213 -0
  183. data/lib/vapi_server_sdk/types/conversation_node_voice.rb +278 -0
  184. data/lib/vapi_server_sdk/types/cost_breakdown.rb +10 -2
  185. data/lib/vapi_server_sdk/types/create_api_request_tool_dto.rb +551 -0
  186. data/lib/vapi_server_sdk/types/create_api_request_tool_dto_messages_item.rb +120 -0
  187. data/lib/vapi_server_sdk/types/create_api_request_tool_dto_method.rb +8 -0
  188. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +118 -53
  189. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +47 -2
  190. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound_zero.rb +8 -0
  191. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +2 -0
  192. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +208 -14
  193. data/lib/vapi_server_sdk/types/create_assistant_dto_hooks_item.rb +107 -0
  194. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +36 -36
  195. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -17
  196. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +65 -0
  197. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +61 -9
  198. data/lib/vapi_server_sdk/types/create_assistant_dto_voicemail_detection.rb +127 -0
  199. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +12 -1
  200. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +5 -2
  201. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +34 -45
  202. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +46 -14
  203. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +2 -9
  204. data/lib/vapi_server_sdk/types/create_chat_stream_response.rb +87 -0
  205. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +12 -2
  206. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +35 -45
  207. data/lib/vapi_server_sdk/types/create_customer_dto.rb +39 -3
  208. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +2 -42
  209. data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +2 -42
  210. data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +46 -38
  211. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +27 -4
  212. data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +2 -48
  213. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_availability_tool_dto.rb +101 -0
  214. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_availability_tool_dto_messages_item.rb +121 -0
  215. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_event_create_tool_dto.rb +101 -0
  216. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.rb +121 -0
  217. data/lib/vapi_server_sdk/types/create_go_high_level_contact_create_tool_dto.rb +100 -0
  218. data/lib/vapi_server_sdk/types/create_go_high_level_contact_create_tool_dto_messages_item.rb +121 -0
  219. data/lib/vapi_server_sdk/types/create_go_high_level_contact_get_tool_dto.rb +99 -0
  220. data/lib/vapi_server_sdk/types/create_go_high_level_contact_get_tool_dto_messages_item.rb +121 -0
  221. data/lib/vapi_server_sdk/types/create_go_high_level_mcp_credential_dto.rb +73 -0
  222. data/lib/vapi_server_sdk/types/create_google_calendar_check_availability_tool_dto.rb +101 -0
  223. data/lib/vapi_server_sdk/types/create_google_calendar_check_availability_tool_dto_messages_item.rb +121 -0
  224. data/lib/vapi_server_sdk/types/create_google_calendar_create_event_tool_dto.rb +100 -0
  225. data/lib/vapi_server_sdk/types/create_google_calendar_create_event_tool_dto_messages_item.rb +121 -0
  226. data/lib/vapi_server_sdk/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb +69 -0
  227. data/lib/vapi_server_sdk/types/create_google_calendar_o_auth_2_client_credential_dto.rb +59 -0
  228. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +2 -11
  229. data/lib/vapi_server_sdk/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb +69 -0
  230. data/lib/vapi_server_sdk/types/create_google_sheets_row_append_tool_dto.rb +99 -0
  231. data/lib/vapi_server_sdk/types/create_google_sheets_row_append_tool_dto_messages_item.rb +121 -0
  232. data/lib/vapi_server_sdk/types/create_hume_credential_dto.rb +67 -0
  233. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +2 -11
  234. data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +2 -48
  235. data/lib/vapi_server_sdk/types/create_mcp_tool_dto.rb +148 -0
  236. data/lib/vapi_server_sdk/types/create_mcp_tool_dto_messages_item.rb +120 -0
  237. data/lib/vapi_server_sdk/types/create_mistral_credential_dto.rb +67 -0
  238. data/lib/vapi_server_sdk/types/create_neuphonic_credential_dto.rb +67 -0
  239. data/lib/vapi_server_sdk/types/create_org_dto.rb +36 -2
  240. data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +132 -5
  241. data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +2 -42
  242. data/lib/vapi_server_sdk/types/create_query_tool_dto.rb +114 -0
  243. data/lib/vapi_server_sdk/types/create_query_tool_dto_messages_item.rb +120 -0
  244. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +12 -2
  245. data/lib/vapi_server_sdk/types/create_sesame_voice_dto.rb +67 -0
  246. data/lib/vapi_server_sdk/types/create_slack_o_auth_2_authorization_credential_dto.rb +69 -0
  247. data/lib/vapi_server_sdk/types/create_slack_send_message_tool_dto.rb +99 -0
  248. data/lib/vapi_server_sdk/types/create_slack_send_message_tool_dto_messages_item.rb +121 -0
  249. data/lib/vapi_server_sdk/types/create_sms_tool_dto.rb +99 -0
  250. data/lib/vapi_server_sdk/types/create_sms_tool_dto_messages_item.rb +120 -0
  251. data/lib/vapi_server_sdk/types/create_speechmatics_credential_dto.rb +67 -0
  252. data/lib/vapi_server_sdk/types/create_supabase_credential_dto.rb +82 -0
  253. data/lib/vapi_server_sdk/types/create_telnyx_phone_number_dto.rb +191 -0
  254. data/lib/vapi_server_sdk/types/create_telnyx_phone_number_dto_fallback_destination.rb +101 -0
  255. data/lib/vapi_server_sdk/types/create_test_suite_test_chat_dto.rb +90 -0
  256. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +34 -45
  257. data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +188 -32
  258. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +78 -0
  259. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +2 -49
  260. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +0 -13
  261. data/lib/vapi_server_sdk/types/create_trieve_credential_dto.rb +67 -0
  262. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +5 -5
  263. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +25 -4
  264. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +84 -16
  265. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +46 -14
  266. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +13 -42
  267. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +52 -18
  268. data/lib/vapi_server_sdk/types/create_web_call_dto.rb +94 -4
  269. data/lib/vapi_server_sdk/types/create_web_chat_dto.rb +137 -0
  270. data/lib/vapi_server_sdk/types/create_web_chat_dto_input.rb +57 -0
  271. data/lib/vapi_server_sdk/types/create_web_chat_dto_input_item.rb +96 -0
  272. data/lib/vapi_server_sdk/types/create_web_customer_dto.rb +153 -0
  273. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +5 -5
  274. data/lib/vapi_server_sdk/types/{update_conversation_block_dto_messages_item.rb → create_webhook_credential_dto_authentication_plan.rb} +26 -25
  275. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +291 -2
  276. data/lib/vapi_server_sdk/types/{transfer_destination_step_message.rb → create_workflow_dto_background_sound.rb} +11 -21
  277. data/lib/vapi_server_sdk/types/create_workflow_dto_background_sound_zero.rb +8 -0
  278. data/lib/vapi_server_sdk/types/create_workflow_dto_credentials_item.rb +704 -0
  279. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +19 -58
  280. data/lib/vapi_server_sdk/types/create_workflow_dto_transcriber.rb +213 -0
  281. data/lib/vapi_server_sdk/types/create_workflow_dto_voice.rb +278 -0
  282. data/lib/vapi_server_sdk/types/credential_action_request.rb +65 -0
  283. data/lib/vapi_server_sdk/types/credential_end_user.rb +65 -0
  284. data/lib/vapi_server_sdk/types/credential_session_dto.rb +58 -0
  285. data/lib/vapi_server_sdk/types/credential_session_dto_provider.rb +12 -0
  286. data/lib/vapi_server_sdk/types/credential_session_error.rb +65 -0
  287. data/lib/vapi_server_sdk/types/credential_session_response.rb +55 -0
  288. data/lib/vapi_server_sdk/types/credential_webhook_dto.rb +158 -0
  289. data/lib/vapi_server_sdk/types/credential_webhook_dto_auth_mode.rb +9 -0
  290. data/lib/vapi_server_sdk/types/credential_webhook_dto_operation.rb +9 -0
  291. data/lib/vapi_server_sdk/types/credential_webhook_dto_type.rb +9 -0
  292. data/lib/vapi_server_sdk/types/custom_endpointing_model_smart_endpointing_plan.rb +132 -0
  293. data/lib/vapi_server_sdk/types/custom_endpointing_model_smart_endpointing_plan_provider.rb +12 -0
  294. data/lib/vapi_server_sdk/types/custom_llm_model.rb +11 -1
  295. data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +188 -32
  296. data/lib/vapi_server_sdk/types/custom_transcriber.rb +23 -3
  297. data/lib/vapi_server_sdk/types/custom_voice.rb +14 -2
  298. data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +188 -32
  299. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +188 -32
  300. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +43 -71
  301. data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +3 -0
  302. data/lib/vapi_server_sdk/types/deepgram_voice.rb +21 -8
  303. data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +45 -46
  304. data/lib/vapi_server_sdk/types/deepgram_voice_model.rb +9 -0
  305. data/lib/vapi_server_sdk/types/developer_message.rb +74 -0
  306. data/lib/vapi_server_sdk/types/dtmf_tool.rb +2 -45
  307. data/lib/vapi_server_sdk/types/edge.rb +5 -5
  308. data/lib/vapi_server_sdk/types/eleven_labs_transcriber.rb +83 -0
  309. data/lib/vapi_server_sdk/types/eleven_labs_transcriber_language.rb +191 -0
  310. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +26 -2
  311. data/lib/vapi_server_sdk/types/end_call_tool.rb +2 -45
  312. data/lib/vapi_server_sdk/types/exact_replacement.rb +25 -2
  313. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +1 -43
  314. data/lib/vapi_server_sdk/types/fallback_assembly_ai_transcriber.rb +181 -0
  315. data/lib/vapi_server_sdk/types/fallback_azure_speech_transcriber.rb +62 -0
  316. data/lib/vapi_server_sdk/types/fallback_azure_speech_transcriber_language.rb +152 -0
  317. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +10 -1
  318. data/lib/vapi_server_sdk/types/fallback_cartesia_transcriber.rb +68 -0
  319. data/lib/vapi_server_sdk/types/fallback_cartesia_transcriber_language.rb +191 -0
  320. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +10 -2
  321. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +1 -0
  322. data/lib/vapi_server_sdk/types/fallback_custom_transcriber.rb +125 -0
  323. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +9 -2
  324. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber.rb +183 -0
  325. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber_language.rb +62 -0
  326. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber_model.rb +37 -0
  327. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +26 -9
  328. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +45 -46
  329. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_model.rb +9 -0
  330. data/lib/vapi_server_sdk/types/fallback_eleven_labs_transcriber.rb +68 -0
  331. data/lib/vapi_server_sdk/types/fallback_eleven_labs_transcriber_language.rb +191 -0
  332. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +26 -2
  333. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber.rb +143 -0
  334. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_language.rb +107 -0
  335. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_language_behaviour.rb +9 -0
  336. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_languages.rb +107 -0
  337. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_model.rb +9 -0
  338. data/lib/vapi_server_sdk/types/fallback_google_transcriber.rb +69 -0
  339. data/lib/vapi_server_sdk/types/fallback_google_transcriber_language.rb +46 -0
  340. data/lib/vapi_server_sdk/types/fallback_google_transcriber_model.rb +25 -0
  341. data/lib/vapi_server_sdk/types/fallback_hume_voice.rb +121 -0
  342. data/lib/vapi_server_sdk/types/fallback_inworld_voice.rb +131 -0
  343. data/lib/vapi_server_sdk/types/fallback_inworld_voice_language_code.rb +18 -0
  344. data/lib/vapi_server_sdk/types/fallback_inworld_voice_voice_id.rb +70 -0
  345. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +24 -2
  346. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +41 -1
  347. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_language.rb +193 -0
  348. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +8 -32
  349. data/lib/vapi_server_sdk/types/fallback_neuphonic_voice.rb +112 -0
  350. data/lib/vapi_server_sdk/types/fallback_neuphonic_voice_model.rb +9 -0
  351. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber.rb +69 -0
  352. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber_language.rb +64 -0
  353. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber_model.rb +9 -0
  354. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +41 -4
  355. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +46 -11
  356. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id_enum.rb +12 -0
  357. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_model.rb +10 -0
  358. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +65 -13
  359. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +10 -2
  360. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +64 -4
  361. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +8 -0
  362. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +2 -2
  363. data/lib/vapi_server_sdk/types/fallback_sesame_voice.rb +94 -0
  364. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +16 -2
  365. data/lib/vapi_server_sdk/types/fallback_speechmatics_transcriber.rb +68 -0
  366. data/lib/vapi_server_sdk/types/fallback_speechmatics_transcriber_language.rb +62 -0
  367. data/lib/vapi_server_sdk/types/fallback_talkscriber_transcriber.rb +72 -0
  368. data/lib/vapi_server_sdk/types/fallback_talkscriber_transcriber_language.rb +109 -0
  369. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +9 -1
  370. data/lib/vapi_server_sdk/types/fallback_transcriber_plan.rb +59 -0
  371. data/lib/vapi_server_sdk/types/fallback_transcriber_plan_transcribers_item.rb +212 -0
  372. data/lib/vapi_server_sdk/types/fallback_vapi_voice.rb +97 -0
  373. data/lib/vapi_server_sdk/types/fallback_vapi_voice_voice_id.rb +18 -0
  374. data/lib/vapi_server_sdk/types/file.rb +17 -1
  375. data/lib/vapi_server_sdk/types/file_status.rb +3 -2
  376. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +1 -0
  377. data/lib/vapi_server_sdk/types/fourier_denoising_plan.rb +123 -0
  378. data/lib/vapi_server_sdk/types/{hangup.rb → function_call.rb} +16 -18
  379. data/lib/vapi_server_sdk/types/function_call_assistant_hook_action.rb +147 -0
  380. data/lib/vapi_server_sdk/types/function_call_assistant_hook_action_messages_item.rb +121 -0
  381. data/lib/vapi_server_sdk/types/function_tool.rb +48 -40
  382. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +48 -40
  383. data/lib/vapi_server_sdk/types/gcp_credential.rb +22 -4
  384. data/lib/vapi_server_sdk/types/get_chat_paginated_dto.rb +177 -0
  385. data/lib/vapi_server_sdk/types/get_chat_paginated_dto_sort_order.rb +9 -0
  386. data/lib/vapi_server_sdk/types/get_session_paginated_dto.rb +177 -0
  387. data/lib/vapi_server_sdk/types/get_session_paginated_dto_sort_order.rb +9 -0
  388. data/lib/vapi_server_sdk/types/ghl_tool.rb +2 -44
  389. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +2 -45
  390. data/lib/vapi_server_sdk/types/gladia_transcriber.rb +40 -3
  391. data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +1 -2
  392. data/lib/vapi_server_sdk/types/gladia_transcriber_languages.rb +107 -0
  393. data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +1 -0
  394. data/lib/vapi_server_sdk/types/global_node_plan.rb +73 -0
  395. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool.rb +135 -0
  396. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_messages_item.rb +121 -0
  397. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_provider_details.rb +73 -0
  398. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_with_tool_call.rb +128 -0
  399. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.rb +121 -0
  400. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool.rb +135 -0
  401. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_messages_item.rb +121 -0
  402. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_provider_details.rb +73 -0
  403. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_with_tool_call.rb +128 -0
  404. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.rb +121 -0
  405. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool.rb +135 -0
  406. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_messages_item.rb +121 -0
  407. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_provider_details.rb +73 -0
  408. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_with_tool_call.rb +128 -0
  409. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_with_tool_call_messages_item.rb +121 -0
  410. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool.rb +135 -0
  411. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_messages_item.rb +121 -0
  412. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_provider_details.rb +73 -0
  413. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_with_tool_call.rb +125 -0
  414. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_with_tool_call_messages_item.rb +121 -0
  415. data/lib/vapi_server_sdk/types/go_high_level_mcp_credential.rb +118 -0
  416. data/lib/vapi_server_sdk/types/google_calendar_check_availability_tool.rb +135 -0
  417. data/lib/vapi_server_sdk/types/google_calendar_check_availability_tool_messages_item.rb +121 -0
  418. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool.rb +135 -0
  419. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_messages_item.rb +121 -0
  420. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_provider_details.rb +73 -0
  421. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_with_tool_call.rb +114 -0
  422. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_with_tool_call_messages_item.rb +121 -0
  423. data/lib/vapi_server_sdk/types/google_calendar_o_auth_2_authorization_credential.rb +114 -0
  424. data/lib/vapi_server_sdk/types/google_calendar_o_auth_2_client_credential.rb +103 -0
  425. data/lib/vapi_server_sdk/types/google_model_model.rb +7 -0
  426. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +188 -32
  427. data/lib/vapi_server_sdk/types/google_sheets_o_auth_2_authorization_credential.rb +114 -0
  428. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool.rb +135 -0
  429. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_messages_item.rb +121 -0
  430. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_provider_details.rb +73 -0
  431. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_with_tool_call.rb +125 -0
  432. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_with_tool_call_messages_item.rb +121 -0
  433. data/lib/vapi_server_sdk/types/google_transcriber.rb +84 -0
  434. data/lib/vapi_server_sdk/types/google_transcriber_language.rb +46 -0
  435. data/lib/vapi_server_sdk/types/google_transcriber_model.rb +25 -0
  436. data/lib/vapi_server_sdk/types/google_voicemail_detection_plan.rb +91 -0
  437. data/lib/vapi_server_sdk/types/groq_model_model.rb +5 -2
  438. data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +188 -32
  439. data/lib/vapi_server_sdk/types/{say_hook.rb → hangup_node.rb} +21 -21
  440. data/lib/vapi_server_sdk/types/hmac_authentication_plan.rb +151 -0
  441. data/lib/vapi_server_sdk/types/hmac_authentication_plan_algorithm.rb +10 -0
  442. data/lib/vapi_server_sdk/types/hmac_authentication_plan_signature_encoding.rb +9 -0
  443. data/lib/vapi_server_sdk/types/hume_credential.rb +111 -0
  444. data/lib/vapi_server_sdk/types/hume_voice.rb +137 -0
  445. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +88 -16
  446. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +52 -22
  447. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +188 -32
  448. data/lib/vapi_server_sdk/types/invoice_plan.rb +89 -0
  449. data/lib/vapi_server_sdk/types/inworld_voice.rb +147 -0
  450. data/lib/vapi_server_sdk/types/inworld_voice_language_code.rb +18 -0
  451. data/lib/vapi_server_sdk/types/inworld_voice_voice_id.rb +70 -0
  452. data/lib/vapi_server_sdk/types/json_schema.rb +40 -27
  453. data/lib/vapi_server_sdk/types/json_schema_format.rb +19 -0
  454. data/lib/vapi_server_sdk/types/jwt_response.rb +65 -0
  455. data/lib/vapi_server_sdk/types/keypad_input_plan.rb +93 -0
  456. data/lib/vapi_server_sdk/types/keypad_input_plan_delimiters.rb +11 -0
  457. data/lib/vapi_server_sdk/types/knowledge_base.rb +95 -0
  458. data/lib/vapi_server_sdk/types/knowledge_base_cost.rb +84 -0
  459. data/lib/vapi_server_sdk/types/knowledge_base_model.rb +25 -0
  460. data/lib/vapi_server_sdk/types/langfuse_observability_plan.rb +84 -0
  461. data/lib/vapi_server_sdk/types/livekit_smart_endpointing_plan.rb +90 -0
  462. data/lib/vapi_server_sdk/types/livekit_smart_endpointing_plan_provider.rb +10 -0
  463. data/lib/vapi_server_sdk/types/lmnt_voice.rb +19 -1
  464. data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +41 -1
  465. data/lib/vapi_server_sdk/types/lmnt_voice_language.rb +193 -0
  466. data/lib/vapi_server_sdk/types/logic_edge_condition.rb +1 -51
  467. data/lib/vapi_server_sdk/types/make_tool.rb +2 -44
  468. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +2 -45
  469. data/lib/vapi_server_sdk/types/mcp_tool.rb +182 -0
  470. data/lib/vapi_server_sdk/types/{tool_call_result_message_item.rb → mcp_tool_messages_item.rb} +33 -7
  471. data/lib/vapi_server_sdk/types/mcp_tool_metadata.rb +58 -0
  472. data/lib/vapi_server_sdk/types/mcp_tool_metadata_protocol.rb +9 -0
  473. data/lib/vapi_server_sdk/types/message_plan.rb +16 -2
  474. data/lib/vapi_server_sdk/types/mistral_credential.rb +111 -0
  475. data/lib/vapi_server_sdk/types/monitor_plan.rb +34 -2
  476. data/lib/vapi_server_sdk/types/mono.rb +84 -0
  477. data/lib/vapi_server_sdk/types/neets_voice.rb +8 -47
  478. data/lib/vapi_server_sdk/types/neuphonic_credential.rb +111 -0
  479. data/lib/vapi_server_sdk/types/neuphonic_voice.rb +128 -0
  480. data/lib/vapi_server_sdk/types/neuphonic_voice_model.rb +9 -0
  481. data/lib/vapi_server_sdk/types/node_artifact.rb +82 -0
  482. data/lib/vapi_server_sdk/types/node_artifact_messages_item.rb +96 -0
  483. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +16 -9
  484. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +13 -2
  485. data/lib/vapi_server_sdk/types/open_ai_model.rb +40 -1
  486. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +70 -1
  487. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +78 -1
  488. data/lib/vapi_server_sdk/types/open_ai_model_tool_strict_compatibility_mode.rb +16 -0
  489. data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +188 -32
  490. data/lib/vapi_server_sdk/types/open_ai_transcriber.rb +84 -0
  491. data/lib/vapi_server_sdk/types/open_ai_transcriber_language.rb +64 -0
  492. data/lib/vapi_server_sdk/types/open_ai_transcriber_model.rb +9 -0
  493. data/lib/vapi_server_sdk/types/open_ai_voice.rb +36 -3
  494. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +46 -11
  495. data/lib/vapi_server_sdk/types/open_ai_voice_id_enum.rb +12 -0
  496. data/lib/vapi_server_sdk/types/open_ai_voice_model.rb +10 -0
  497. data/lib/vapi_server_sdk/types/open_ai_voicemail_detection_plan.rb +91 -0
  498. data/lib/vapi_server_sdk/types/open_ai_web_chat_request.rb +135 -0
  499. data/lib/vapi_server_sdk/types/open_ai_web_chat_request_input.rb +57 -0
  500. data/lib/vapi_server_sdk/types/open_ai_web_chat_request_input_item.rb +96 -0
  501. data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +188 -32
  502. data/lib/vapi_server_sdk/types/org.rb +52 -2
  503. data/lib/vapi_server_sdk/types/output_tool.rb +2 -45
  504. data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +188 -32
  505. data/lib/vapi_server_sdk/types/{hook.rb → phone_number_hook_call_ringing.rb} +12 -13
  506. data/lib/vapi_server_sdk/types/{conversation_block_messages_item.rb → phone_number_hook_call_ringing_do_item.rb} +25 -25
  507. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +13 -0
  508. data/lib/vapi_server_sdk/types/play_ht_voice.rb +10 -2
  509. data/lib/vapi_server_sdk/types/query_tool.rb +148 -0
  510. data/lib/vapi_server_sdk/types/query_tool_messages_item.rb +120 -0
  511. data/lib/vapi_server_sdk/types/recording.rb +105 -0
  512. data/lib/vapi_server_sdk/types/response_completed_event.rb +71 -0
  513. data/lib/vapi_server_sdk/types/response_error_event.rb +94 -0
  514. data/lib/vapi_server_sdk/types/response_object.rb +107 -0
  515. data/lib/vapi_server_sdk/types/response_object_status.rb +11 -0
  516. data/lib/vapi_server_sdk/types/response_output_message.rb +91 -0
  517. data/lib/vapi_server_sdk/types/response_output_message_status.rb +10 -0
  518. data/lib/vapi_server_sdk/types/response_output_text.rb +72 -0
  519. data/lib/vapi_server_sdk/types/response_text_delta_event.rb +92 -0
  520. data/lib/vapi_server_sdk/types/response_text_done_event.rb +92 -0
  521. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +58 -4
  522. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +8 -0
  523. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +2 -2
  524. data/lib/vapi_server_sdk/types/s_3_credential.rb +12 -2
  525. data/lib/vapi_server_sdk/types/say_assistant_hook_action.rb +55 -0
  526. data/lib/vapi_server_sdk/types/{chat_service_response.rb → say_phone_number_hook_action.rb} +17 -9
  527. data/lib/vapi_server_sdk/types/schedule_plan.rb +72 -0
  528. data/lib/vapi_server_sdk/types/server.rb +15 -26
  529. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +28 -58
  530. data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +14 -4
  531. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request.rb +173 -0
  532. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request_messages_item.rb +97 -0
  533. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request_phone_number.rb +135 -0
  534. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +28 -58
  535. data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +14 -4
  536. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +27 -57
  537. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +26 -0
  538. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +346 -52
  539. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +14 -4
  540. data/lib/vapi_server_sdk/types/server_message_hang.rb +28 -66
  541. data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +14 -4
  542. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +28 -60
  543. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_phone_number.rb +14 -4
  544. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +27 -57
  545. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +14 -4
  546. data/lib/vapi_server_sdk/types/server_message_message.rb +250 -212
  547. data/lib/vapi_server_sdk/types/server_message_model_output.rb +27 -57
  548. data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +14 -4
  549. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +28 -64
  550. data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +14 -4
  551. data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +93 -9
  552. data/lib/vapi_server_sdk/types/server_message_response_call_endpointing_request.rb +59 -0
  553. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  554. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +15 -2
  555. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +0 -13
  556. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_message.rb +122 -0
  557. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +36 -58
  558. data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +14 -4
  559. data/lib/vapi_server_sdk/types/server_message_status_update.rb +27 -57
  560. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +346 -52
  561. data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +14 -4
  562. data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +1 -0
  563. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +27 -55
  564. data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +14 -4
  565. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +13 -0
  566. data/lib/vapi_server_sdk/types/server_message_transcript.rb +27 -58
  567. data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +14 -4
  568. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +28 -58
  569. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +14 -4
  570. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +27 -57
  571. data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +0 -13
  572. data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +14 -4
  573. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +28 -58
  574. data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +14 -4
  575. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +27 -57
  576. data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +14 -4
  577. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +27 -95
  578. data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +14 -4
  579. data/lib/vapi_server_sdk/types/sesame_voice.rb +111 -0
  580. data/lib/vapi_server_sdk/types/session.rb +193 -0
  581. data/lib/vapi_server_sdk/types/session_messages_item.rb +96 -0
  582. data/lib/vapi_server_sdk/types/session_paginated_response.rb +75 -0
  583. data/lib/vapi_server_sdk/types/session_status.rb +10 -0
  584. data/lib/vapi_server_sdk/types/slack_o_auth_2_authorization_credential.rb +112 -0
  585. data/lib/vapi_server_sdk/types/slack_send_message_tool.rb +135 -0
  586. data/lib/vapi_server_sdk/types/slack_send_message_tool_messages_item.rb +120 -0
  587. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +9 -1
  588. data/lib/vapi_server_sdk/types/smart_denoising_plan.rb +57 -0
  589. data/lib/vapi_server_sdk/types/sms_tool.rb +135 -0
  590. data/lib/vapi_server_sdk/types/sms_tool_messages_item.rb +120 -0
  591. data/lib/vapi_server_sdk/types/speechmatics_credential.rb +111 -0
  592. data/lib/vapi_server_sdk/types/speechmatics_transcriber.rb +83 -0
  593. data/lib/vapi_server_sdk/types/speechmatics_transcriber_language.rb +62 -0
  594. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +58 -26
  595. data/lib/vapi_server_sdk/types/{neets_voice_id.rb → start_speaking_plan_smart_endpointing_enabled.rb} +6 -6
  596. data/lib/vapi_server_sdk/types/start_speaking_plan_smart_endpointing_plan.rb +76 -0
  597. data/lib/vapi_server_sdk/types/structured_data_multi_plan.rb +71 -0
  598. data/lib/vapi_server_sdk/types/structured_data_plan.rb +8 -4
  599. data/lib/vapi_server_sdk/types/subscription.rb +36 -2
  600. data/lib/vapi_server_sdk/types/subscription_type.rb +4 -0
  601. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +8 -4
  602. data/lib/vapi_server_sdk/types/summary_plan.rb +10 -6
  603. data/lib/vapi_server_sdk/types/supabase_bucket_plan.rb +129 -0
  604. data/lib/vapi_server_sdk/types/supabase_bucket_plan_region.rb +25 -0
  605. data/lib/vapi_server_sdk/types/supabase_credential.rb +128 -0
  606. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +4 -1
  607. data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +17 -2
  608. data/lib/vapi_server_sdk/types/target_plan.rb +115 -0
  609. data/lib/vapi_server_sdk/types/tavus_voice.rb +10 -2
  610. data/lib/vapi_server_sdk/types/telnyx_phone_number.rb +233 -0
  611. data/lib/vapi_server_sdk/types/{edge_condition.rb → telnyx_phone_number_fallback_destination.rb} +31 -38
  612. data/lib/vapi_server_sdk/types/telnyx_phone_number_status.rb +10 -0
  613. data/lib/vapi_server_sdk/types/template_details.rb +188 -32
  614. data/lib/vapi_server_sdk/types/template_provider_details.rb +78 -0
  615. data/lib/vapi_server_sdk/types/test_suite.rb +39 -3
  616. data/lib/vapi_server_sdk/types/test_suite_phone_number.rb +65 -0
  617. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +1 -0
  618. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +31 -4
  619. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt_call.rb +2 -2
  620. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt_metadata.rb +55 -0
  621. data/lib/vapi_server_sdk/types/test_suite_test_chat.rb +132 -0
  622. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +4 -4
  623. data/lib/vapi_server_sdk/types/{create_conversation_block_dto_messages_item.rb → test_suite_tests_paginated_response_results_item.rb} +25 -25
  624. data/lib/vapi_server_sdk/types/{chat_dto.rb → tester_plan.rb} +32 -31
  625. data/lib/vapi_server_sdk/types/text_editor_tool.rb +34 -44
  626. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +34 -44
  627. data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +188 -32
  628. data/lib/vapi_server_sdk/types/tool_call.rb +13 -13
  629. data/lib/vapi_server_sdk/types/tool_call_function.rb +11 -11
  630. data/lib/vapi_server_sdk/types/tool_call_result.rb +20 -9
  631. data/lib/vapi_server_sdk/types/tool_call_result_message.rb +14 -3
  632. data/lib/vapi_server_sdk/types/tool_message.rb +81 -0
  633. data/lib/vapi_server_sdk/types/tool_node.rb +100 -0
  634. data/lib/vapi_server_sdk/types/tool_node_tool.rb +316 -0
  635. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +3 -13
  636. data/lib/vapi_server_sdk/types/transfer_call_tool.rb +3 -45
  637. data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +0 -13
  638. data/lib/vapi_server_sdk/types/transfer_fallback_plan.rb +83 -0
  639. data/lib/vapi_server_sdk/types/{fallback_neets_voice_id.rb → transfer_fallback_plan_message.rb} +11 -9
  640. data/lib/vapi_server_sdk/types/transfer_phone_number_hook_action.rb +65 -0
  641. data/lib/vapi_server_sdk/types/{create_trieve_knowledge_base_dto_create_plan.rb → transfer_phone_number_hook_action_destination.rb} +27 -27
  642. data/lib/vapi_server_sdk/types/transfer_plan.rb +119 -8
  643. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +3 -2
  644. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +6 -0
  645. data/lib/vapi_server_sdk/types/trieve_credential.rb +111 -0
  646. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +5 -5
  647. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +13 -3
  648. data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +13 -3
  649. data/lib/vapi_server_sdk/types/twilio_credential.rb +20 -4
  650. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +91 -23
  651. data/lib/vapi_server_sdk/types/{twilio_voicemail_detection.rb → twilio_voicemail_detection_plan.rb} +9 -17
  652. data/lib/vapi_server_sdk/types/{twilio_voicemail_detection_voicemail_detection_types_item.rb → twilio_voicemail_detection_plan_voicemail_detection_types_item.rb} +1 -1
  653. data/lib/vapi_server_sdk/types/update_api_request_tool_dto.rb +551 -0
  654. data/lib/vapi_server_sdk/types/update_api_request_tool_dto_messages_item.rb +120 -0
  655. data/lib/vapi_server_sdk/types/update_api_request_tool_dto_method.rb +8 -0
  656. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +11 -1
  657. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +5 -2
  658. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +33 -44
  659. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +46 -14
  660. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +12 -2
  661. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +34 -44
  662. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +2 -42
  663. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +2 -42
  664. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +46 -38
  665. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +27 -4
  666. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +2 -49
  667. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_availability_tool_dto.rb +101 -0
  668. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_availability_tool_dto_messages_item.rb +121 -0
  669. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_event_create_tool_dto.rb +101 -0
  670. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.rb +121 -0
  671. data/lib/vapi_server_sdk/types/update_go_high_level_contact_create_tool_dto.rb +100 -0
  672. data/lib/vapi_server_sdk/types/update_go_high_level_contact_create_tool_dto_messages_item.rb +121 -0
  673. data/lib/vapi_server_sdk/types/update_go_high_level_contact_get_tool_dto.rb +99 -0
  674. data/lib/vapi_server_sdk/types/update_go_high_level_contact_get_tool_dto_messages_item.rb +121 -0
  675. data/lib/vapi_server_sdk/types/update_go_high_level_mcp_credential_dto.rb +73 -0
  676. data/lib/vapi_server_sdk/types/update_google_calendar_check_availability_tool_dto.rb +101 -0
  677. data/lib/vapi_server_sdk/types/update_google_calendar_check_availability_tool_dto_messages_item.rb +121 -0
  678. data/lib/vapi_server_sdk/types/update_google_calendar_create_event_tool_dto.rb +100 -0
  679. data/lib/vapi_server_sdk/types/update_google_calendar_create_event_tool_dto_messages_item.rb +121 -0
  680. data/lib/vapi_server_sdk/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb +69 -0
  681. data/lib/vapi_server_sdk/types/update_google_calendar_o_auth_2_client_credential_dto.rb +59 -0
  682. data/lib/vapi_server_sdk/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb +69 -0
  683. data/lib/vapi_server_sdk/types/update_google_sheets_row_append_tool_dto.rb +99 -0
  684. data/lib/vapi_server_sdk/types/update_google_sheets_row_append_tool_dto_messages_item.rb +121 -0
  685. data/lib/vapi_server_sdk/types/update_hume_credential_dto.rb +67 -0
  686. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +2 -49
  687. data/lib/vapi_server_sdk/types/update_mcp_tool_dto.rb +148 -0
  688. data/lib/vapi_server_sdk/types/update_mcp_tool_dto_messages_item.rb +120 -0
  689. data/lib/vapi_server_sdk/types/update_mistral_credential_dto.rb +67 -0
  690. data/lib/vapi_server_sdk/types/update_neuphonic_credential_dto.rb +67 -0
  691. data/lib/vapi_server_sdk/types/update_org_dto.rb +36 -2
  692. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +2 -42
  693. data/lib/vapi_server_sdk/types/update_query_tool_dto.rb +114 -0
  694. data/lib/vapi_server_sdk/types/update_query_tool_dto_messages_item.rb +120 -0
  695. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +11 -1
  696. data/lib/vapi_server_sdk/types/update_slack_o_auth_2_authorization_credential_dto.rb +69 -0
  697. data/lib/vapi_server_sdk/types/update_slack_send_message_tool_dto.rb +99 -0
  698. data/lib/vapi_server_sdk/types/update_slack_send_message_tool_dto_messages_item.rb +121 -0
  699. data/lib/vapi_server_sdk/types/update_sms_tool_dto.rb +99 -0
  700. data/lib/vapi_server_sdk/types/update_sms_tool_dto_messages_item.rb +120 -0
  701. data/lib/vapi_server_sdk/types/update_speechmatics_credential_dto.rb +67 -0
  702. data/lib/vapi_server_sdk/types/update_supabase_credential_dto.rb +82 -0
  703. data/lib/vapi_server_sdk/types/update_telnyx_phone_number_dto.rb +191 -0
  704. data/lib/vapi_server_sdk/types/update_telnyx_phone_number_dto_fallback_destination.rb +101 -0
  705. data/lib/vapi_server_sdk/types/update_test_suite_test_chat_dto.rb +90 -0
  706. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +33 -44
  707. data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +188 -32
  708. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +78 -0
  709. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +2 -49
  710. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +0 -13
  711. data/lib/vapi_server_sdk/types/update_trieve_credential_dto.rb +67 -0
  712. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +5 -5
  713. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +23 -2
  714. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +83 -15
  715. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +46 -14
  716. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +52 -18
  717. data/lib/vapi_server_sdk/types/update_webhook_credential_dto.rb +73 -0
  718. data/lib/vapi_server_sdk/types/{update_trieve_knowledge_base_dto_create_plan.rb → update_webhook_credential_dto_authentication_plan.rb} +26 -27
  719. data/lib/vapi_server_sdk/types/vapi_model.rb +15 -19
  720. data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +188 -32
  721. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +46 -14
  722. data/lib/vapi_server_sdk/types/vapi_smart_endpointing_plan.rb +56 -0
  723. data/lib/vapi_server_sdk/types/vapi_smart_endpointing_plan_provider.rb +10 -0
  724. data/lib/vapi_server_sdk/types/vapi_voice.rb +114 -0
  725. data/lib/vapi_server_sdk/types/vapi_voice_voice_id.rb +18 -0
  726. data/lib/vapi_server_sdk/types/vapi_voicemail_detection_plan.rb +91 -0
  727. data/lib/vapi_server_sdk/types/variable_extraction_alias.rb +81 -0
  728. data/lib/vapi_server_sdk/types/variable_extraction_plan.rb +297 -0
  729. data/lib/vapi_server_sdk/types/voicemail_detection_backoff_plan.rb +78 -0
  730. data/lib/vapi_server_sdk/types/voicemail_detection_cost.rb +110 -0
  731. data/lib/vapi_server_sdk/types/voicemail_detection_cost_provider.rb +11 -0
  732. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +52 -18
  733. data/lib/vapi_server_sdk/types/web_chat.rb +80 -0
  734. data/lib/vapi_server_sdk/types/web_chat_output_item.rb +96 -0
  735. data/lib/vapi_server_sdk/types/webhook_credential.rb +5 -5
  736. data/lib/vapi_server_sdk/types/{block_start_message_conditions_item.rb → webhook_credential_authentication_plan.rb} +26 -25
  737. data/lib/vapi_server_sdk/types/workflow.rb +288 -3
  738. data/lib/vapi_server_sdk/types/workflow_anthropic_model.rb +97 -0
  739. data/lib/vapi_server_sdk/types/workflow_anthropic_model_model.rb +16 -0
  740. data/lib/vapi_server_sdk/types/workflow_background_sound.rb +55 -0
  741. data/lib/vapi_server_sdk/types/workflow_background_sound_zero.rb +8 -0
  742. data/lib/vapi_server_sdk/types/workflow_credentials_item.rb +704 -0
  743. data/lib/vapi_server_sdk/types/workflow_custom_model.rb +124 -0
  744. data/lib/vapi_server_sdk/types/workflow_custom_model_metadata_send_mode.rb +18 -0
  745. data/lib/vapi_server_sdk/types/workflow_google_model.rb +75 -0
  746. data/lib/vapi_server_sdk/types/workflow_google_model_model.rb +25 -0
  747. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +19 -58
  748. data/lib/vapi_server_sdk/types/workflow_open_ai_model.rb +89 -0
  749. data/lib/vapi_server_sdk/types/workflow_open_ai_model_model.rb +107 -0
  750. data/lib/vapi_server_sdk/types/workflow_overrides.rb +73 -0
  751. data/lib/vapi_server_sdk/types/workflow_transcriber.rb +213 -0
  752. data/lib/vapi_server_sdk/types/workflow_user_editable.rb +369 -0
  753. data/lib/vapi_server_sdk/types/workflow_user_editable_background_sound.rb +55 -0
  754. data/lib/vapi_server_sdk/types/workflow_user_editable_background_sound_zero.rb +8 -0
  755. data/lib/vapi_server_sdk/types/workflow_user_editable_credentials_item.rb +704 -0
  756. data/lib/vapi_server_sdk/types/{create_workflow_block_dto_steps_item.rb → workflow_user_editable_nodes_item.rb} +25 -25
  757. data/lib/vapi_server_sdk/types/workflow_user_editable_transcriber.rb +213 -0
  758. data/lib/vapi_server_sdk/types/workflow_user_editable_voice.rb +278 -0
  759. data/lib/vapi_server_sdk/types/workflow_voice.rb +278 -0
  760. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +188 -32
  761. data/lib/vapi_server_sdk/workflow/client.rb +788 -0
  762. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_background_sound.rb +57 -0
  763. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_background_sound_zero.rb +10 -0
  764. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_credentials_item.rb +706 -0
  765. data/lib/vapi_server_sdk/{blocks/types/blocks_get_response.rb → workflow/types/update_workflow_dto_nodes_item.rb} +21 -34
  766. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_transcriber.rb +215 -0
  767. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_voice.rb +280 -0
  768. data/lib/vapi_server_sdk.rb +56 -35
  769. metadata +432 -87
  770. data/lib/vapi_server_sdk/blocks/client.rb +0 -323
  771. data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +0 -109
  772. data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +0 -109
  773. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +0 -109
  774. data/lib/vapi_server_sdk/types/api_request.rb +0 -165
  775. data/lib/vapi_server_sdk/types/api_request_mode.rb +0 -10
  776. data/lib/vapi_server_sdk/types/assignment_mutation.rb +0 -189
  777. data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +0 -94
  778. data/lib/vapi_server_sdk/types/block_complete_message.rb +0 -98
  779. data/lib/vapi_server_sdk/types/block_start_message.rb +0 -98
  780. data/lib/vapi_server_sdk/types/callback_step.rb +0 -204
  781. data/lib/vapi_server_sdk/types/callback_step_block.rb +0 -108
  782. data/lib/vapi_server_sdk/types/chat_completion_message.rb +0 -80
  783. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +0 -94
  784. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +0 -84
  785. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +0 -10
  786. data/lib/vapi_server_sdk/types/conversation_block.rb +0 -239
  787. data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +0 -206
  788. data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +0 -168
  789. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +0 -94
  790. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +0 -161
  791. data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +0 -154
  792. data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +0 -94
  793. data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +0 -18
  794. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +0 -18
  795. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +0 -7
  796. data/lib/vapi_server_sdk/types/gather.rb +0 -143
  797. data/lib/vapi_server_sdk/types/handoff_step.rb +0 -204
  798. data/lib/vapi_server_sdk/types/handoff_step_block.rb +0 -108
  799. data/lib/vapi_server_sdk/types/hook_on.rb +0 -9
  800. data/lib/vapi_server_sdk/types/metrics.rb +0 -165
  801. data/lib/vapi_server_sdk/types/model_based_condition.rb +0 -117
  802. data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +0 -7
  803. data/lib/vapi_server_sdk/types/rule_based_condition.rb +0 -195
  804. data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +0 -14
  805. data/lib/vapi_server_sdk/types/say.rb +0 -81
  806. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +0 -10
  807. data/lib/vapi_server_sdk/types/step_destination.rb +0 -82
  808. data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +0 -94
  809. data/lib/vapi_server_sdk/types/tool_call_block.rb +0 -201
  810. data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +0 -94
  811. data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +0 -161
  812. data/lib/vapi_server_sdk/types/transfer.rb +0 -74
  813. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +0 -104
  814. data/lib/vapi_server_sdk/types/transport.rb +0 -70
  815. data/lib/vapi_server_sdk/types/transport_provider.rb +0 -11
  816. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +0 -96
  817. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +0 -206
  818. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +0 -168
  819. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +0 -94
  820. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +0 -161
  821. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +0 -154
  822. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +0 -94
  823. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +0 -94
  824. data/lib/vapi_server_sdk/types/workflow_block.rb +0 -187
  825. data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +0 -94
  826. data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +0 -94
@@ -0,0 +1,123 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class FourierDenoisingPlan
8
+ # @return [Boolean] Whether Fourier denoising is enabled. Note that this is experimental and may not
9
+ # work as expected.
10
+ attr_reader :enabled
11
+ # @return [Boolean] Whether automatic media detection is enabled. When enabled, the filter will
12
+ # automatically
13
+ # detect consistent background TV/music/radio and switch to more aggressive
14
+ # filtering settings.
15
+ # Only applies when enabled is true.
16
+ attr_reader :media_detection_enabled
17
+ # @return [Float] Static threshold in dB used as fallback when no baseline is established.
18
+ attr_reader :static_threshold
19
+ # @return [Float] How far below the rolling baseline to filter audio, in dB.
20
+ # Lower values (e.g., -10) are more aggressive, higher values (e.g., -20) are more
21
+ # conservative.
22
+ attr_reader :baseline_offset_db
23
+ # @return [Float] Rolling window size in milliseconds for calculating the audio baseline.
24
+ # Larger windows adapt more slowly but are more stable.
25
+ attr_reader :window_size_ms
26
+ # @return [Float] Percentile to use for baseline calculation (1-99).
27
+ # Higher percentiles (e.g., 85) focus on louder speech, lower percentiles (e.g.,
28
+ # 50) include quieter speech.
29
+ attr_reader :baseline_percentile
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 enabled [Boolean] Whether Fourier denoising is enabled. Note that this is experimental and may not
39
+ # work as expected.
40
+ # @param media_detection_enabled [Boolean] Whether automatic media detection is enabled. When enabled, the filter will
41
+ # automatically
42
+ # detect consistent background TV/music/radio and switch to more aggressive
43
+ # filtering settings.
44
+ # Only applies when enabled is true.
45
+ # @param static_threshold [Float] Static threshold in dB used as fallback when no baseline is established.
46
+ # @param baseline_offset_db [Float] How far below the rolling baseline to filter audio, in dB.
47
+ # Lower values (e.g., -10) are more aggressive, higher values (e.g., -20) are more
48
+ # conservative.
49
+ # @param window_size_ms [Float] Rolling window size in milliseconds for calculating the audio baseline.
50
+ # Larger windows adapt more slowly but are more stable.
51
+ # @param baseline_percentile [Float] Percentile to use for baseline calculation (1-99).
52
+ # Higher percentiles (e.g., 85) focus on louder speech, lower percentiles (e.g.,
53
+ # 50) include quieter speech.
54
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
55
+ # @return [Vapi::FourierDenoisingPlan]
56
+ def initialize(enabled: OMIT, media_detection_enabled: OMIT, static_threshold: OMIT, baseline_offset_db: OMIT,
57
+ window_size_ms: OMIT, baseline_percentile: OMIT, additional_properties: nil)
58
+ @enabled = enabled if enabled != OMIT
59
+ @media_detection_enabled = media_detection_enabled if media_detection_enabled != OMIT
60
+ @static_threshold = static_threshold if static_threshold != OMIT
61
+ @baseline_offset_db = baseline_offset_db if baseline_offset_db != OMIT
62
+ @window_size_ms = window_size_ms if window_size_ms != OMIT
63
+ @baseline_percentile = baseline_percentile if baseline_percentile != OMIT
64
+ @additional_properties = additional_properties
65
+ @_field_set = {
66
+ "enabled": enabled,
67
+ "mediaDetectionEnabled": media_detection_enabled,
68
+ "staticThreshold": static_threshold,
69
+ "baselineOffsetDb": baseline_offset_db,
70
+ "windowSizeMs": window_size_ms,
71
+ "baselinePercentile": baseline_percentile
72
+ }.reject do |_k, v|
73
+ v == OMIT
74
+ end
75
+ end
76
+
77
+ # Deserialize a JSON object to an instance of FourierDenoisingPlan
78
+ #
79
+ # @param json_object [String]
80
+ # @return [Vapi::FourierDenoisingPlan]
81
+ def self.from_json(json_object:)
82
+ struct = JSON.parse(json_object, object_class: OpenStruct)
83
+ parsed_json = JSON.parse(json_object)
84
+ enabled = parsed_json["enabled"]
85
+ media_detection_enabled = parsed_json["mediaDetectionEnabled"]
86
+ static_threshold = parsed_json["staticThreshold"]
87
+ baseline_offset_db = parsed_json["baselineOffsetDb"]
88
+ window_size_ms = parsed_json["windowSizeMs"]
89
+ baseline_percentile = parsed_json["baselinePercentile"]
90
+ new(
91
+ enabled: enabled,
92
+ media_detection_enabled: media_detection_enabled,
93
+ static_threshold: static_threshold,
94
+ baseline_offset_db: baseline_offset_db,
95
+ window_size_ms: window_size_ms,
96
+ baseline_percentile: baseline_percentile,
97
+ additional_properties: struct
98
+ )
99
+ end
100
+
101
+ # Serialize an instance of FourierDenoisingPlan to a JSON object
102
+ #
103
+ # @return [String]
104
+ def to_json(*_args)
105
+ @_field_set&.to_json
106
+ end
107
+
108
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
109
+ # hash and check each fields type against the current object's property
110
+ # definitions.
111
+ #
112
+ # @param obj [Object]
113
+ # @return [Void]
114
+ def self.validate_raw(obj:)
115
+ obj.enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.enabled is not the expected type, validation failed.")
116
+ obj.media_detection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.media_detection_enabled is not the expected type, validation failed.")
117
+ obj.static_threshold&.is_a?(Float) != false || raise("Passed value for field obj.static_threshold is not the expected type, validation failed.")
118
+ obj.baseline_offset_db&.is_a?(Float) != false || raise("Passed value for field obj.baseline_offset_db is not the expected type, validation failed.")
119
+ obj.window_size_ms&.is_a?(Float) != false || raise("Passed value for field obj.window_size_ms is not the expected type, validation failed.")
120
+ obj.baseline_percentile&.is_a?(Float) != false || raise("Passed value for field obj.baseline_percentile is not the expected type, validation failed.")
121
+ end
122
+ end
123
+ end
@@ -4,11 +4,11 @@ require "ostruct"
4
4
  require "json"
5
5
 
6
6
  module Vapi
7
- class Hangup
8
- # @return [String]
7
+ class FunctionCall
8
+ # @return [String] This is the arguments to call the function with
9
+ attr_reader :arguments
10
+ # @return [String] This is the name of the function to call
9
11
  attr_reader :name
10
- # @return [Hash{String => Object}] This is for metadata you want to store on the task.
11
- attr_reader :metadata
12
12
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
13
  attr_reader :additional_properties
14
14
  # @return [Object]
@@ -17,36 +17,34 @@ module Vapi
17
17
 
18
18
  OMIT = Object.new
19
19
 
20
- # @param name [String]
21
- # @param metadata [Hash{String => Object}] This is for metadata you want to store on the task.
20
+ # @param arguments [String] This is the arguments to call the function with
21
+ # @param name [String] This is the name of the function to call
22
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
- # @return [Vapi::Hangup]
24
- def initialize(name:, metadata: OMIT, additional_properties: nil)
23
+ # @return [Vapi::FunctionCall]
24
+ def initialize(arguments:, name:, additional_properties: nil)
25
+ @arguments = arguments
25
26
  @name = name
26
- @metadata = metadata if metadata != OMIT
27
27
  @additional_properties = additional_properties
28
- @_field_set = { "name": name, "metadata": metadata }.reject do |_k, v|
29
- v == OMIT
30
- end
28
+ @_field_set = { "arguments": arguments, "name": name }
31
29
  end
32
30
 
33
- # Deserialize a JSON object to an instance of Hangup
31
+ # Deserialize a JSON object to an instance of FunctionCall
34
32
  #
35
33
  # @param json_object [String]
36
- # @return [Vapi::Hangup]
34
+ # @return [Vapi::FunctionCall]
37
35
  def self.from_json(json_object:)
38
36
  struct = JSON.parse(json_object, object_class: OpenStruct)
39
37
  parsed_json = JSON.parse(json_object)
38
+ arguments = parsed_json["arguments"]
40
39
  name = parsed_json["name"]
41
- metadata = parsed_json["metadata"]
42
40
  new(
41
+ arguments: arguments,
43
42
  name: name,
44
- metadata: metadata,
45
43
  additional_properties: struct
46
44
  )
47
45
  end
48
46
 
49
- # Serialize an instance of Hangup to a JSON object
47
+ # Serialize an instance of FunctionCall to a JSON object
50
48
  #
51
49
  # @return [String]
52
50
  def to_json(*_args)
@@ -60,8 +58,8 @@ module Vapi
60
58
  # @param obj [Object]
61
59
  # @return [Void]
62
60
  def self.validate_raw(obj:)
61
+ obj.arguments.is_a?(String) != false || raise("Passed value for field obj.arguments is not the expected type, validation failed.")
63
62
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
64
- obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
65
63
  end
66
64
  end
67
65
  end
@@ -0,0 +1,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "function_call_assistant_hook_action_messages_item"
4
+ require_relative "server"
5
+ require_relative "open_ai_function"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class FunctionCallAssistantHookAction
11
+ # @return [Array<Vapi::FunctionCallAssistantHookActionMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
12
+ # For some tools, this is auto-filled based on special fields like
13
+ # `tool.destinations`. For others like the function tool, these can be custom
14
+ # configured.
15
+ attr_reader :messages
16
+ # @return [Boolean] This determines if the tool is async.
17
+ # If async, the assistant will move forward without waiting for your server to
18
+ # respond. This is useful if you just want to trigger something on your server.
19
+ # If sync, the assistant will wait for your server to respond. This is useful if
20
+ # want assistant to respond with the result from your server.
21
+ # Defaults to synchronous (`false`).
22
+ attr_reader :async
23
+ # @return [Vapi::Server]
24
+ # This is the server where a `tool-calls` webhook will be sent.
25
+ # Notes:
26
+ # - Webhook is sent to this server when a tool call is made.
27
+ # - Webhook contains the call, assistant, and phone number objects.
28
+ # - Webhook contains the variables set on the assistant.
29
+ # - Webhook is sent to the first available URL in this order:
30
+ # {{tool.server.url}}, {{assistant.server.url}}, {{phoneNumber.server.url}},
31
+ # {{org.server.url}}.
32
+ # - Webhook expects a response with tool call result.
33
+ attr_reader :server
34
+ # @return [Vapi::OpenAiFunction] This is the function definition of the tool.
35
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
36
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
37
+ # provide a custom function definition for advanced use cases.
38
+ # An example of an advanced use case is if you want to customize the message
39
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
40
+ # argument "reason". Then, in `messages` array, you can have many
41
+ # "request-complete" messages. One of these messages will be triggered if the
42
+ # `messages[].conditions` matches the "reason" argument.
43
+ attr_reader :function
44
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
45
+ attr_reader :additional_properties
46
+ # @return [Object]
47
+ attr_reader :_field_set
48
+ protected :_field_set
49
+
50
+ OMIT = Object.new
51
+
52
+ # @param messages [Array<Vapi::FunctionCallAssistantHookActionMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
53
+ # For some tools, this is auto-filled based on special fields like
54
+ # `tool.destinations`. For others like the function tool, these can be custom
55
+ # configured.
56
+ # @param async [Boolean] This determines if the tool is async.
57
+ # If async, the assistant will move forward without waiting for your server to
58
+ # respond. This is useful if you just want to trigger something on your server.
59
+ # If sync, the assistant will wait for your server to respond. This is useful if
60
+ # want assistant to respond with the result from your server.
61
+ # Defaults to synchronous (`false`).
62
+ # @param server [Vapi::Server]
63
+ # This is the server where a `tool-calls` webhook will be sent.
64
+ # Notes:
65
+ # - Webhook is sent to this server when a tool call is made.
66
+ # - Webhook contains the call, assistant, and phone number objects.
67
+ # - Webhook contains the variables set on the assistant.
68
+ # - Webhook is sent to the first available URL in this order:
69
+ # {{tool.server.url}}, {{assistant.server.url}}, {{phoneNumber.server.url}},
70
+ # {{org.server.url}}.
71
+ # - Webhook expects a response with tool call result.
72
+ # @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
73
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
74
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
75
+ # provide a custom function definition for advanced use cases.
76
+ # An example of an advanced use case is if you want to customize the message
77
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
78
+ # argument "reason". Then, in `messages` array, you can have many
79
+ # "request-complete" messages. One of these messages will be triggered if the
80
+ # `messages[].conditions` matches the "reason" argument.
81
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
+ # @return [Vapi::FunctionCallAssistantHookAction]
83
+ def initialize(messages: OMIT, async: OMIT, server: OMIT, function: OMIT, additional_properties: nil)
84
+ @messages = messages if messages != OMIT
85
+ @async = async if async != OMIT
86
+ @server = server if server != OMIT
87
+ @function = function if function != OMIT
88
+ @additional_properties = additional_properties
89
+ @_field_set = { "messages": messages, "async": async, "server": server, "function": function }.reject do |_k, v|
90
+ v == OMIT
91
+ end
92
+ end
93
+
94
+ # Deserialize a JSON object to an instance of FunctionCallAssistantHookAction
95
+ #
96
+ # @param json_object [String]
97
+ # @return [Vapi::FunctionCallAssistantHookAction]
98
+ def self.from_json(json_object:)
99
+ struct = JSON.parse(json_object, object_class: OpenStruct)
100
+ parsed_json = JSON.parse(json_object)
101
+ messages = parsed_json["messages"]&.map do |item|
102
+ item = item.to_json
103
+ Vapi::FunctionCallAssistantHookActionMessagesItem.from_json(json_object: item)
104
+ end
105
+ async = parsed_json["async"]
106
+ if parsed_json["server"].nil?
107
+ server = nil
108
+ else
109
+ server = parsed_json["server"].to_json
110
+ server = Vapi::Server.from_json(json_object: server)
111
+ end
112
+ if parsed_json["function"].nil?
113
+ function = nil
114
+ else
115
+ function = parsed_json["function"].to_json
116
+ function = Vapi::OpenAiFunction.from_json(json_object: function)
117
+ end
118
+ new(
119
+ messages: messages,
120
+ async: async,
121
+ server: server,
122
+ function: function,
123
+ additional_properties: struct
124
+ )
125
+ end
126
+
127
+ # Serialize an instance of FunctionCallAssistantHookAction to a JSON object
128
+ #
129
+ # @return [String]
130
+ def to_json(*_args)
131
+ @_field_set&.to_json
132
+ end
133
+
134
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
135
+ # hash and check each fields type against the current object's property
136
+ # definitions.
137
+ #
138
+ # @param obj [Object]
139
+ # @return [Void]
140
+ def self.validate_raw(obj:)
141
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
142
+ obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
143
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
144
+ obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "tool_message_start"
5
+ require_relative "tool_message_complete"
6
+ require_relative "tool_message_failed"
7
+ require_relative "tool_message_delayed"
8
+
9
+ module Vapi
10
+ class FunctionCallAssistantHookActionMessagesItem
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # FunctionCallAssistantHookActionMessagesItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "request-start"
36
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
37
+ when "request-complete"
38
+ Vapi::ToolMessageComplete.from_json(json_object: json_object)
39
+ when "request-failed"
40
+ Vapi::ToolMessageFailed.from_json(json_object: json_object)
41
+ when "request-response-delayed"
42
+ Vapi::ToolMessageDelayed.from_json(json_object: json_object)
43
+ else
44
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.type)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "request-start"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ when "request-complete"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ when "request-failed"
59
+ { **@member.to_json, type: @discriminant }.to_json
60
+ when "request-response-delayed"
61
+ { **@member.to_json, type: @discriminant }.to_json
62
+ else
63
+ { "type": @discriminant, value: @member }.to_json
64
+ end
65
+ @member.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ case obj.type
76
+ when "request-start"
77
+ Vapi::ToolMessageStart.validate_raw(obj: obj)
78
+ when "request-complete"
79
+ Vapi::ToolMessageComplete.validate_raw(obj: obj)
80
+ when "request-failed"
81
+ Vapi::ToolMessageFailed.validate_raw(obj: obj)
82
+ when "request-response-delayed"
83
+ Vapi::ToolMessageDelayed.validate_raw(obj: obj)
84
+ else
85
+ raise("Passed value matched no type within the union, validation failed.")
86
+ end
87
+ end
88
+
89
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Boolean]
93
+ def is_a?(obj)
94
+ @member.is_a?(obj)
95
+ end
96
+
97
+ # @param member [Vapi::ToolMessageStart]
98
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
99
+ def self.request_start(member:)
100
+ new(member: member, discriminant: "request-start")
101
+ end
102
+
103
+ # @param member [Vapi::ToolMessageComplete]
104
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
105
+ def self.request_complete(member:)
106
+ new(member: member, discriminant: "request-complete")
107
+ end
108
+
109
+ # @param member [Vapi::ToolMessageFailed]
110
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
111
+ def self.request_failed(member:)
112
+ new(member: member, discriminant: "request-failed")
113
+ end
114
+
115
+ # @param member [Vapi::ToolMessageDelayed]
116
+ # @return [Vapi::FunctionCallAssistantHookActionMessagesItem]
117
+ def self.request_response_delayed(member:)
118
+ new(member: member, discriminant: "request-response-delayed")
119
+ end
120
+ end
121
+ end
@@ -1,14 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "function_tool_messages_item"
4
+ require_relative "server"
4
5
  require "date"
5
6
  require_relative "open_ai_function"
6
- require_relative "server"
7
7
  require "ostruct"
8
8
  require "json"
9
9
 
10
10
  module Vapi
11
11
  class FunctionTool
12
+ # @return [Array<Vapi::FunctionToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
13
+ # For some tools, this is auto-filled based on special fields like
14
+ # `tool.destinations`. For others like the function tool, these can be custom
15
+ # configured.
16
+ attr_reader :messages
12
17
  # @return [Boolean] This determines if the tool is async.
13
18
  # If async, the assistant will move forward without waiting for your server to
14
19
  # respond. This is useful if you just want to trigger something on your server.
@@ -16,11 +21,17 @@ module Vapi
16
21
  # want assistant to respond with the result from your server.
17
22
  # Defaults to synchronous (`false`).
18
23
  attr_reader :async
19
- # @return [Array<Vapi::FunctionToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
20
- # For some tools, this is auto-filled based on special fields like
21
- # `tool.destinations`. For others like the function tool, these can be custom
22
- # configured.
23
- attr_reader :messages
24
+ # @return [Vapi::Server]
25
+ # This is the server where a `tool-calls` webhook will be sent.
26
+ # Notes:
27
+ # - Webhook is sent to this server when a tool call is made.
28
+ # - Webhook contains the call, assistant, and phone number objects.
29
+ # - Webhook contains the variables set on the assistant.
30
+ # - Webhook is sent to the first available URL in this order:
31
+ # {{tool.server.url}}, {{assistant.server.url}}, {{phoneNumber.server.url}},
32
+ # {{org.server.url}}.
33
+ # - Webhook expects a response with tool call result.
34
+ attr_reader :server
24
35
  # @return [String] This is the unique identifier for the tool.
25
36
  attr_reader :id
26
37
  # @return [String] This is the unique identifier for the organization that this tool belongs to.
@@ -39,13 +50,6 @@ module Vapi
39
50
  # "request-complete" messages. One of these messages will be triggered if the
40
51
  # `messages[].conditions` matches the "reason" argument.
41
52
  attr_reader :function
42
- # @return [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
43
- # All requests will be sent with the call object among other things. You can find
44
- # more details in the Server URL documentation.
45
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
46
- # precedence: highest tool.server.url, then assistant.serverUrl, then
47
- # phoneNumber.serverUrl, then org.serverUrl.
48
- attr_reader :server
49
53
  # @return [OpenStruct] Additional properties unmapped to the current class definition
50
54
  attr_reader :additional_properties
51
55
  # @return [Object]
@@ -54,16 +58,26 @@ module Vapi
54
58
 
55
59
  OMIT = Object.new
56
60
 
61
+ # @param messages [Array<Vapi::FunctionToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
62
+ # For some tools, this is auto-filled based on special fields like
63
+ # `tool.destinations`. For others like the function tool, these can be custom
64
+ # configured.
57
65
  # @param async [Boolean] This determines if the tool is async.
58
66
  # If async, the assistant will move forward without waiting for your server to
59
67
  # respond. This is useful if you just want to trigger something on your server.
60
68
  # If sync, the assistant will wait for your server to respond. This is useful if
61
69
  # want assistant to respond with the result from your server.
62
70
  # Defaults to synchronous (`false`).
63
- # @param messages [Array<Vapi::FunctionToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
64
- # For some tools, this is auto-filled based on special fields like
65
- # `tool.destinations`. For others like the function tool, these can be custom
66
- # configured.
71
+ # @param server [Vapi::Server]
72
+ # This is the server where a `tool-calls` webhook will be sent.
73
+ # Notes:
74
+ # - Webhook is sent to this server when a tool call is made.
75
+ # - Webhook contains the call, assistant, and phone number objects.
76
+ # - Webhook contains the variables set on the assistant.
77
+ # - Webhook is sent to the first available URL in this order:
78
+ # {{tool.server.url}}, {{assistant.server.url}}, {{phoneNumber.server.url}},
79
+ # {{org.server.url}}.
80
+ # - Webhook expects a response with tool call result.
67
81
  # @param id [String] This is the unique identifier for the tool.
68
82
  # @param org_id [String] This is the unique identifier for the organization that this tool belongs to.
69
83
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the tool was created.
@@ -77,34 +91,28 @@ module Vapi
77
91
  # argument "reason". Then, in `messages` array, you can have many
78
92
  # "request-complete" messages. One of these messages will be triggered if the
79
93
  # `messages[].conditions` matches the "reason" argument.
80
- # @param server [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
81
- # All requests will be sent with the call object among other things. You can find
82
- # more details in the Server URL documentation.
83
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
84
- # precedence: highest tool.server.url, then assistant.serverUrl, then
85
- # phoneNumber.serverUrl, then org.serverUrl.
86
94
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
87
95
  # @return [Vapi::FunctionTool]
88
- def initialize(id:, org_id:, created_at:, updated_at:, async: OMIT, messages: OMIT, function: OMIT, server: OMIT,
96
+ def initialize(id:, org_id:, created_at:, updated_at:, messages: OMIT, async: OMIT, server: OMIT, function: OMIT,
89
97
  additional_properties: nil)
90
- @async = async if async != OMIT
91
98
  @messages = messages if messages != OMIT
99
+ @async = async if async != OMIT
100
+ @server = server if server != OMIT
92
101
  @id = id
93
102
  @org_id = org_id
94
103
  @created_at = created_at
95
104
  @updated_at = updated_at
96
105
  @function = function if function != OMIT
97
- @server = server if server != OMIT
98
106
  @additional_properties = additional_properties
99
107
  @_field_set = {
100
- "async": async,
101
108
  "messages": messages,
109
+ "async": async,
110
+ "server": server,
102
111
  "id": id,
103
112
  "orgId": org_id,
104
113
  "createdAt": created_at,
105
114
  "updatedAt": updated_at,
106
- "function": function,
107
- "server": server
115
+ "function": function
108
116
  }.reject do |_k, v|
109
117
  v == OMIT
110
118
  end
@@ -117,11 +125,17 @@ module Vapi
117
125
  def self.from_json(json_object:)
118
126
  struct = JSON.parse(json_object, object_class: OpenStruct)
119
127
  parsed_json = JSON.parse(json_object)
120
- async = parsed_json["async"]
121
128
  messages = parsed_json["messages"]&.map do |item|
122
129
  item = item.to_json
123
130
  Vapi::FunctionToolMessagesItem.from_json(json_object: item)
124
131
  end
132
+ async = parsed_json["async"]
133
+ if parsed_json["server"].nil?
134
+ server = nil
135
+ else
136
+ server = parsed_json["server"].to_json
137
+ server = Vapi::Server.from_json(json_object: server)
138
+ end
125
139
  id = parsed_json["id"]
126
140
  org_id = parsed_json["orgId"]
127
141
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
@@ -132,21 +146,15 @@ module Vapi
132
146
  function = parsed_json["function"].to_json
133
147
  function = Vapi::OpenAiFunction.from_json(json_object: function)
134
148
  end
135
- if parsed_json["server"].nil?
136
- server = nil
137
- else
138
- server = parsed_json["server"].to_json
139
- server = Vapi::Server.from_json(json_object: server)
140
- end
141
149
  new(
142
- async: async,
143
150
  messages: messages,
151
+ async: async,
152
+ server: server,
144
153
  id: id,
145
154
  org_id: org_id,
146
155
  created_at: created_at,
147
156
  updated_at: updated_at,
148
157
  function: function,
149
- server: server,
150
158
  additional_properties: struct
151
159
  )
152
160
  end
@@ -165,14 +173,14 @@ module Vapi
165
173
  # @param obj [Object]
166
174
  # @return [Void]
167
175
  def self.validate_raw(obj:)
168
- obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
169
176
  obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
177
+ obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
178
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
170
179
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
171
180
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
172
181
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
173
182
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
174
183
  obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
175
- obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
176
184
  end
177
185
  end
178
186
  end