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,584 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "api_request_tool_messages_item"
4
+ require_relative "api_request_tool_method"
5
+ require "date"
6
+ require_relative "open_ai_function"
7
+ require_relative "json_schema"
8
+ require_relative "backoff_plan"
9
+ require_relative "variable_extraction_plan"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module Vapi
14
+ class ApiRequestTool
15
+ # @return [Array<Vapi::ApiRequestToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
16
+ # For some tools, this is auto-filled based on special fields like
17
+ # `tool.destinations`. For others like the function tool, these can be custom
18
+ # configured.
19
+ attr_reader :messages
20
+ # @return [Vapi::ApiRequestToolMethod]
21
+ attr_reader :method
22
+ # @return [Float] This is the timeout in seconds for the request. Defaults to 20 seconds.
23
+ # @default 20
24
+ attr_reader :timeout_seconds
25
+ # @return [String] This is the unique identifier for the tool.
26
+ attr_reader :id
27
+ # @return [String] This is the unique identifier for the organization that this tool belongs to.
28
+ attr_reader :org_id
29
+ # @return [DateTime] This is the ISO 8601 date-time string of when the tool was created.
30
+ attr_reader :created_at
31
+ # @return [DateTime] This is the ISO 8601 date-time string of when the tool was last updated.
32
+ attr_reader :updated_at
33
+ # @return [Vapi::OpenAiFunction] This is the function definition of the tool.
34
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
35
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
36
+ # provide a custom function definition for advanced use cases.
37
+ # An example of an advanced use case is if you want to customize the message
38
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
39
+ # argument "reason". Then, in `messages` array, you can have many
40
+ # "request-complete" messages. One of these messages will be triggered if the
41
+ # `messages[].conditions` matches the "reason" argument.
42
+ attr_reader :function
43
+ # @return [String] This is the name of the tool. This will be passed to the model.
44
+ # Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length
45
+ # of 40.
46
+ attr_reader :name
47
+ # @return [String] This is the description of the tool. This will be passed to the model.
48
+ attr_reader :description
49
+ # @return [String] This is where the request will be sent.
50
+ attr_reader :url
51
+ # @return [Vapi::JsonSchema] This is the body of the request.
52
+ attr_reader :body
53
+ # @return [Vapi::JsonSchema] These are the headers to send in the request.
54
+ attr_reader :headers
55
+ # @return [Vapi::BackoffPlan] This is the backoff plan if the request fails. Defaults to undefined (the
56
+ # request will not be retried).
57
+ # @default undefined (the request will not be retried)
58
+ attr_reader :backoff_plan
59
+ # @return [Vapi::VariableExtractionPlan] This is the plan to extract variables from the tool's response. These will be
60
+ # accessible during the call and stored in `call.artifact.variableValues` after
61
+ # the call.
62
+ # Usage:
63
+ # 1. Use `aliases` to extract variables from the tool's response body. (Most
64
+ # common case)
65
+ # ```json
66
+ # {
67
+ # "aliases": [
68
+ # {
69
+ # "key": "customerName",
70
+ # "value": "{{customer.name}}"
71
+ # },
72
+ # {
73
+ # "key": "customerAge",
74
+ # "value": "{{customer.age}}"
75
+ # }
76
+ # ]
77
+ # }
78
+ # ```
79
+ # The tool response body is made available to the liquid template.
80
+ # 2. Use `aliases` to extract variables from the tool's response body if the
81
+ # response is an array.
82
+ # ```json
83
+ # {
84
+ # "aliases": [
85
+ # {
86
+ # "key": "customerName",
87
+ # "value": "{{$[0].name}}"
88
+ # },
89
+ # {
90
+ # "key": "customerAge",
91
+ # "value": "{{$[0].age}}"
92
+ # }
93
+ # ]
94
+ # }
95
+ # ```
96
+ # $ is a shorthand for the tool's response body. `$[0]` is the first item in the
97
+ # array. `$[n]` is the nth item in the array. Note, $ is available regardless of
98
+ # the response body type (both object and array).
99
+ # 3. Use `aliases` to extract variables from the tool's response headers.
100
+ # ```json
101
+ # {
102
+ # "aliases": [
103
+ # {
104
+ # "key": "customerName",
105
+ # "value": "{{tool.response.headers.customer-name}}"
106
+ # },
107
+ # {
108
+ # "key": "customerAge",
109
+ # "value": "{{tool.response.headers.customer-age}}"
110
+ # }
111
+ # ]
112
+ # }
113
+ # ```
114
+ # `tool.response` is made available to the liquid template. Particularly, both
115
+ # `tool.response.headers` and `tool.response.body` are available. Note,
116
+ # `tool.response` is available regardless of the response body type (both object
117
+ # and array).
118
+ # 4. Use `schema` to extract a large portion of the tool's response body.
119
+ # 4.1. If you hit example.com and it returns `{"name": "John", "age": 30}`, then
120
+ # you can specify the schema as:
121
+ # ```json
122
+ # {
123
+ # "schema": {
124
+ # "type": "object",
125
+ # "properties": {
126
+ # "name": {
127
+ # "type": "string"
128
+ # },
129
+ # "age": {
130
+ # "type": "number"
131
+ # }
132
+ # }
133
+ # }
134
+ # }
135
+ # ```
136
+ # 4.2. If you hit example.com and it returns `{"name": {"first": "John", "last":
137
+ # "Doe"}}`, then you can specify the schema as:
138
+ # ```json
139
+ # {
140
+ # "schema": {
141
+ # "type": "object",
142
+ # "properties": {
143
+ # "name": {
144
+ # "type": "object",
145
+ # "properties": {
146
+ # "first": {
147
+ # "type": "string"
148
+ # },
149
+ # "last": {
150
+ # "type": "string"
151
+ # }
152
+ # }
153
+ # }
154
+ # }
155
+ # }
156
+ # }
157
+ # ```
158
+ # These will be extracted as `{{ name }}` and `{{ age }}` respectively. To
159
+ # emphasize, object properties are extracted as direct global variables.
160
+ # 4.3. If you hit example.com and it returns `{"name": {"first": "John", "last":
161
+ # "Doe"}}`, then you can specify the schema as:
162
+ # ```json
163
+ # {
164
+ # "schema": {
165
+ # "type": "object",
166
+ # "properties": {
167
+ # "name": {
168
+ # "type": "object",
169
+ # "properties": {
170
+ # "first": {
171
+ # "type": "string"
172
+ # },
173
+ # "last": {
174
+ # "type": "string"
175
+ # }
176
+ # }
177
+ # }
178
+ # }
179
+ # }
180
+ # }
181
+ # ```
182
+ # These will be extracted as `{{ name }}`. And, `{{ name.first }}` and `{{
183
+ # name.last }}` will be accessible.
184
+ # 4.4. If you hit example.com and it returns `["94123", "94124"]`, then you can
185
+ # specify the schema as:
186
+ # ```json
187
+ # {
188
+ # "schema": {
189
+ # "type": "array",
190
+ # "title": "zipCodes",
191
+ # "items": {
192
+ # "type": "string"
193
+ # }
194
+ # }
195
+ # }
196
+ # ```
197
+ # This will be extracted as `{{ zipCodes }}`. To access the array items, you can
198
+ # use `{{ zipCodes[0] }}` and `{{ zipCodes[1] }}`.
199
+ # 4.5. If you hit example.com and it returns `[{"name": "John", "age": 30,
200
+ # "zipCodes": ["94123", "94124"]}, {"name": "Jane", "age": 25, "zipCodes":
201
+ # ["94125", "94126"]}]`, then you can specify the schema as:
202
+ # ```json
203
+ # {
204
+ # "schema": {
205
+ # "type": "array",
206
+ # "title": "people",
207
+ # "items": {
208
+ # "type": "object",
209
+ # "properties": {
210
+ # "name": {
211
+ # "type": "string"
212
+ # },
213
+ # "age": {
214
+ # "type": "number"
215
+ # },
216
+ # "zipCodes": {
217
+ # "type": "array",
218
+ # "items": {
219
+ # "type": "string"
220
+ # }
221
+ # }
222
+ # }
223
+ # }
224
+ # }
225
+ # }
226
+ # ```
227
+ # This will be extracted as `{{ people }}`. To access the array items, you can use
228
+ # `{{ people[n].name }}`, `{{ people[n].age }}`, `{{ people[n].zipCodes }}`, `{{
229
+ # people[n].zipCodes[0] }}` and `{{ people[n].zipCodes[1] }}`.
230
+ # Note: Both `aliases` and `schema` can be used together.
231
+ attr_reader :variable_extraction_plan
232
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
233
+ attr_reader :additional_properties
234
+ # @return [Object]
235
+ attr_reader :_field_set
236
+ protected :_field_set
237
+
238
+ OMIT = Object.new
239
+
240
+ # @param messages [Array<Vapi::ApiRequestToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
241
+ # For some tools, this is auto-filled based on special fields like
242
+ # `tool.destinations`. For others like the function tool, these can be custom
243
+ # configured.
244
+ # @param method [Vapi::ApiRequestToolMethod]
245
+ # @param timeout_seconds [Float] This is the timeout in seconds for the request. Defaults to 20 seconds.
246
+ # @default 20
247
+ # @param id [String] This is the unique identifier for the tool.
248
+ # @param org_id [String] This is the unique identifier for the organization that this tool belongs to.
249
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the tool was created.
250
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the tool was last updated.
251
+ # @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
252
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
253
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
254
+ # provide a custom function definition for advanced use cases.
255
+ # An example of an advanced use case is if you want to customize the message
256
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
257
+ # argument "reason". Then, in `messages` array, you can have many
258
+ # "request-complete" messages. One of these messages will be triggered if the
259
+ # `messages[].conditions` matches the "reason" argument.
260
+ # @param name [String] This is the name of the tool. This will be passed to the model.
261
+ # Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length
262
+ # of 40.
263
+ # @param description [String] This is the description of the tool. This will be passed to the model.
264
+ # @param url [String] This is where the request will be sent.
265
+ # @param body [Vapi::JsonSchema] This is the body of the request.
266
+ # @param headers [Vapi::JsonSchema] These are the headers to send in the request.
267
+ # @param backoff_plan [Vapi::BackoffPlan] This is the backoff plan if the request fails. Defaults to undefined (the
268
+ # request will not be retried).
269
+ # @default undefined (the request will not be retried)
270
+ # @param variable_extraction_plan [Vapi::VariableExtractionPlan] This is the plan to extract variables from the tool's response. These will be
271
+ # accessible during the call and stored in `call.artifact.variableValues` after
272
+ # the call.
273
+ # Usage:
274
+ # 1. Use `aliases` to extract variables from the tool's response body. (Most
275
+ # common case)
276
+ # ```json
277
+ # {
278
+ # "aliases": [
279
+ # {
280
+ # "key": "customerName",
281
+ # "value": "{{customer.name}}"
282
+ # },
283
+ # {
284
+ # "key": "customerAge",
285
+ # "value": "{{customer.age}}"
286
+ # }
287
+ # ]
288
+ # }
289
+ # ```
290
+ # The tool response body is made available to the liquid template.
291
+ # 2. Use `aliases` to extract variables from the tool's response body if the
292
+ # response is an array.
293
+ # ```json
294
+ # {
295
+ # "aliases": [
296
+ # {
297
+ # "key": "customerName",
298
+ # "value": "{{$[0].name}}"
299
+ # },
300
+ # {
301
+ # "key": "customerAge",
302
+ # "value": "{{$[0].age}}"
303
+ # }
304
+ # ]
305
+ # }
306
+ # ```
307
+ # $ is a shorthand for the tool's response body. `$[0]` is the first item in the
308
+ # array. `$[n]` is the nth item in the array. Note, $ is available regardless of
309
+ # the response body type (both object and array).
310
+ # 3. Use `aliases` to extract variables from the tool's response headers.
311
+ # ```json
312
+ # {
313
+ # "aliases": [
314
+ # {
315
+ # "key": "customerName",
316
+ # "value": "{{tool.response.headers.customer-name}}"
317
+ # },
318
+ # {
319
+ # "key": "customerAge",
320
+ # "value": "{{tool.response.headers.customer-age}}"
321
+ # }
322
+ # ]
323
+ # }
324
+ # ```
325
+ # `tool.response` is made available to the liquid template. Particularly, both
326
+ # `tool.response.headers` and `tool.response.body` are available. Note,
327
+ # `tool.response` is available regardless of the response body type (both object
328
+ # and array).
329
+ # 4. Use `schema` to extract a large portion of the tool's response body.
330
+ # 4.1. If you hit example.com and it returns `{"name": "John", "age": 30}`, then
331
+ # you can specify the schema as:
332
+ # ```json
333
+ # {
334
+ # "schema": {
335
+ # "type": "object",
336
+ # "properties": {
337
+ # "name": {
338
+ # "type": "string"
339
+ # },
340
+ # "age": {
341
+ # "type": "number"
342
+ # }
343
+ # }
344
+ # }
345
+ # }
346
+ # ```
347
+ # 4.2. If you hit example.com and it returns `{"name": {"first": "John", "last":
348
+ # "Doe"}}`, then you can specify the schema as:
349
+ # ```json
350
+ # {
351
+ # "schema": {
352
+ # "type": "object",
353
+ # "properties": {
354
+ # "name": {
355
+ # "type": "object",
356
+ # "properties": {
357
+ # "first": {
358
+ # "type": "string"
359
+ # },
360
+ # "last": {
361
+ # "type": "string"
362
+ # }
363
+ # }
364
+ # }
365
+ # }
366
+ # }
367
+ # }
368
+ # ```
369
+ # These will be extracted as `{{ name }}` and `{{ age }}` respectively. To
370
+ # emphasize, object properties are extracted as direct global variables.
371
+ # 4.3. If you hit example.com and it returns `{"name": {"first": "John", "last":
372
+ # "Doe"}}`, then you can specify the schema as:
373
+ # ```json
374
+ # {
375
+ # "schema": {
376
+ # "type": "object",
377
+ # "properties": {
378
+ # "name": {
379
+ # "type": "object",
380
+ # "properties": {
381
+ # "first": {
382
+ # "type": "string"
383
+ # },
384
+ # "last": {
385
+ # "type": "string"
386
+ # }
387
+ # }
388
+ # }
389
+ # }
390
+ # }
391
+ # }
392
+ # ```
393
+ # These will be extracted as `{{ name }}`. And, `{{ name.first }}` and `{{
394
+ # name.last }}` will be accessible.
395
+ # 4.4. If you hit example.com and it returns `["94123", "94124"]`, then you can
396
+ # specify the schema as:
397
+ # ```json
398
+ # {
399
+ # "schema": {
400
+ # "type": "array",
401
+ # "title": "zipCodes",
402
+ # "items": {
403
+ # "type": "string"
404
+ # }
405
+ # }
406
+ # }
407
+ # ```
408
+ # This will be extracted as `{{ zipCodes }}`. To access the array items, you can
409
+ # use `{{ zipCodes[0] }}` and `{{ zipCodes[1] }}`.
410
+ # 4.5. If you hit example.com and it returns `[{"name": "John", "age": 30,
411
+ # "zipCodes": ["94123", "94124"]}, {"name": "Jane", "age": 25, "zipCodes":
412
+ # ["94125", "94126"]}]`, then you can specify the schema as:
413
+ # ```json
414
+ # {
415
+ # "schema": {
416
+ # "type": "array",
417
+ # "title": "people",
418
+ # "items": {
419
+ # "type": "object",
420
+ # "properties": {
421
+ # "name": {
422
+ # "type": "string"
423
+ # },
424
+ # "age": {
425
+ # "type": "number"
426
+ # },
427
+ # "zipCodes": {
428
+ # "type": "array",
429
+ # "items": {
430
+ # "type": "string"
431
+ # }
432
+ # }
433
+ # }
434
+ # }
435
+ # }
436
+ # }
437
+ # ```
438
+ # This will be extracted as `{{ people }}`. To access the array items, you can use
439
+ # `{{ people[n].name }}`, `{{ people[n].age }}`, `{{ people[n].zipCodes }}`, `{{
440
+ # people[n].zipCodes[0] }}` and `{{ people[n].zipCodes[1] }}`.
441
+ # Note: Both `aliases` and `schema` can be used together.
442
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
443
+ # @return [Vapi::ApiRequestTool]
444
+ def initialize(method:, id:, org_id:, created_at:, updated_at:, url:, messages: OMIT, timeout_seconds: OMIT,
445
+ function: OMIT, name: OMIT, description: OMIT, body: OMIT, headers: OMIT, backoff_plan: OMIT, variable_extraction_plan: OMIT, additional_properties: nil)
446
+ @messages = messages if messages != OMIT
447
+ @method = method
448
+ @timeout_seconds = timeout_seconds if timeout_seconds != OMIT
449
+ @id = id
450
+ @org_id = org_id
451
+ @created_at = created_at
452
+ @updated_at = updated_at
453
+ @function = function if function != OMIT
454
+ @name = name if name != OMIT
455
+ @description = description if description != OMIT
456
+ @url = url
457
+ @body = body if body != OMIT
458
+ @headers = headers if headers != OMIT
459
+ @backoff_plan = backoff_plan if backoff_plan != OMIT
460
+ @variable_extraction_plan = variable_extraction_plan if variable_extraction_plan != OMIT
461
+ @additional_properties = additional_properties
462
+ @_field_set = {
463
+ "messages": messages,
464
+ "method": method,
465
+ "timeoutSeconds": timeout_seconds,
466
+ "id": id,
467
+ "orgId": org_id,
468
+ "createdAt": created_at,
469
+ "updatedAt": updated_at,
470
+ "function": function,
471
+ "name": name,
472
+ "description": description,
473
+ "url": url,
474
+ "body": body,
475
+ "headers": headers,
476
+ "backoffPlan": backoff_plan,
477
+ "variableExtractionPlan": variable_extraction_plan
478
+ }.reject do |_k, v|
479
+ v == OMIT
480
+ end
481
+ end
482
+
483
+ # Deserialize a JSON object to an instance of ApiRequestTool
484
+ #
485
+ # @param json_object [String]
486
+ # @return [Vapi::ApiRequestTool]
487
+ def self.from_json(json_object:)
488
+ struct = JSON.parse(json_object, object_class: OpenStruct)
489
+ parsed_json = JSON.parse(json_object)
490
+ messages = parsed_json["messages"]&.map do |item|
491
+ item = item.to_json
492
+ Vapi::ApiRequestToolMessagesItem.from_json(json_object: item)
493
+ end
494
+ method = parsed_json["method"]
495
+ timeout_seconds = parsed_json["timeoutSeconds"]
496
+ id = parsed_json["id"]
497
+ org_id = parsed_json["orgId"]
498
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
499
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
500
+ if parsed_json["function"].nil?
501
+ function = nil
502
+ else
503
+ function = parsed_json["function"].to_json
504
+ function = Vapi::OpenAiFunction.from_json(json_object: function)
505
+ end
506
+ name = parsed_json["name"]
507
+ description = parsed_json["description"]
508
+ url = parsed_json["url"]
509
+ if parsed_json["body"].nil?
510
+ body = nil
511
+ else
512
+ body = parsed_json["body"].to_json
513
+ body = Vapi::JsonSchema.from_json(json_object: body)
514
+ end
515
+ if parsed_json["headers"].nil?
516
+ headers = nil
517
+ else
518
+ headers = parsed_json["headers"].to_json
519
+ headers = Vapi::JsonSchema.from_json(json_object: headers)
520
+ end
521
+ if parsed_json["backoffPlan"].nil?
522
+ backoff_plan = nil
523
+ else
524
+ backoff_plan = parsed_json["backoffPlan"].to_json
525
+ backoff_plan = Vapi::BackoffPlan.from_json(json_object: backoff_plan)
526
+ end
527
+ if parsed_json["variableExtractionPlan"].nil?
528
+ variable_extraction_plan = nil
529
+ else
530
+ variable_extraction_plan = parsed_json["variableExtractionPlan"].to_json
531
+ variable_extraction_plan = Vapi::VariableExtractionPlan.from_json(json_object: variable_extraction_plan)
532
+ end
533
+ new(
534
+ messages: messages,
535
+ method: method,
536
+ timeout_seconds: timeout_seconds,
537
+ id: id,
538
+ org_id: org_id,
539
+ created_at: created_at,
540
+ updated_at: updated_at,
541
+ function: function,
542
+ name: name,
543
+ description: description,
544
+ url: url,
545
+ body: body,
546
+ headers: headers,
547
+ backoff_plan: backoff_plan,
548
+ variable_extraction_plan: variable_extraction_plan,
549
+ additional_properties: struct
550
+ )
551
+ end
552
+
553
+ # Serialize an instance of ApiRequestTool to a JSON object
554
+ #
555
+ # @return [String]
556
+ def to_json(*_args)
557
+ @_field_set&.to_json
558
+ end
559
+
560
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
561
+ # hash and check each fields type against the current object's property
562
+ # definitions.
563
+ #
564
+ # @param obj [Object]
565
+ # @return [Void]
566
+ def self.validate_raw(obj:)
567
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
568
+ obj.method.is_a?(Vapi::ApiRequestToolMethod) != false || raise("Passed value for field obj.method is not the expected type, validation failed.")
569
+ obj.timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.timeout_seconds is not the expected type, validation failed.")
570
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
571
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
572
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
573
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
574
+ obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
575
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
576
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
577
+ obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
578
+ obj.body.nil? || Vapi::JsonSchema.validate_raw(obj: obj.body)
579
+ obj.headers.nil? || Vapi::JsonSchema.validate_raw(obj: obj.headers)
580
+ obj.backoff_plan.nil? || Vapi::BackoffPlan.validate_raw(obj: obj.backoff_plan)
581
+ obj.variable_extraction_plan.nil? || Vapi::VariableExtractionPlan.validate_raw(obj: obj.variable_extraction_plan)
582
+ end
583
+ end
584
+ end
@@ -0,0 +1,120 @@
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 ApiRequestToolMessagesItem
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::ApiRequestToolMessagesItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of ApiRequestToolMessagesItem
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::ApiRequestToolMessagesItem]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ member = case struct.type
34
+ when "request-start"
35
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
36
+ when "request-complete"
37
+ Vapi::ToolMessageComplete.from_json(json_object: json_object)
38
+ when "request-failed"
39
+ Vapi::ToolMessageFailed.from_json(json_object: json_object)
40
+ when "request-response-delayed"
41
+ Vapi::ToolMessageDelayed.from_json(json_object: json_object)
42
+ else
43
+ Vapi::ToolMessageStart.from_json(json_object: json_object)
44
+ end
45
+ new(member: member, discriminant: struct.type)
46
+ end
47
+
48
+ # For Union Types, to_json functionality is delegated to the wrapped member.
49
+ #
50
+ # @return [String]
51
+ def to_json(*_args)
52
+ case @discriminant
53
+ when "request-start"
54
+ { **@member.to_json, type: @discriminant }.to_json
55
+ when "request-complete"
56
+ { **@member.to_json, type: @discriminant }.to_json
57
+ when "request-failed"
58
+ { **@member.to_json, type: @discriminant }.to_json
59
+ when "request-response-delayed"
60
+ { **@member.to_json, type: @discriminant }.to_json
61
+ else
62
+ { "type": @discriminant, value: @member }.to_json
63
+ end
64
+ @member.to_json
65
+ end
66
+
67
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
68
+ # hash and check each fields type against the current object's property
69
+ # definitions.
70
+ #
71
+ # @param obj [Object]
72
+ # @return [Void]
73
+ def self.validate_raw(obj:)
74
+ case obj.type
75
+ when "request-start"
76
+ Vapi::ToolMessageStart.validate_raw(obj: obj)
77
+ when "request-complete"
78
+ Vapi::ToolMessageComplete.validate_raw(obj: obj)
79
+ when "request-failed"
80
+ Vapi::ToolMessageFailed.validate_raw(obj: obj)
81
+ when "request-response-delayed"
82
+ Vapi::ToolMessageDelayed.validate_raw(obj: obj)
83
+ else
84
+ raise("Passed value matched no type within the union, validation failed.")
85
+ end
86
+ end
87
+
88
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
89
+ #
90
+ # @param obj [Object]
91
+ # @return [Boolean]
92
+ def is_a?(obj)
93
+ @member.is_a?(obj)
94
+ end
95
+
96
+ # @param member [Vapi::ToolMessageStart]
97
+ # @return [Vapi::ApiRequestToolMessagesItem]
98
+ def self.request_start(member:)
99
+ new(member: member, discriminant: "request-start")
100
+ end
101
+
102
+ # @param member [Vapi::ToolMessageComplete]
103
+ # @return [Vapi::ApiRequestToolMessagesItem]
104
+ def self.request_complete(member:)
105
+ new(member: member, discriminant: "request-complete")
106
+ end
107
+
108
+ # @param member [Vapi::ToolMessageFailed]
109
+ # @return [Vapi::ApiRequestToolMessagesItem]
110
+ def self.request_failed(member:)
111
+ new(member: member, discriminant: "request-failed")
112
+ end
113
+
114
+ # @param member [Vapi::ToolMessageDelayed]
115
+ # @return [Vapi::ApiRequestToolMessagesItem]
116
+ def self.request_response_delayed(member:)
117
+ new(member: member, discriminant: "request-response-delayed")
118
+ end
119
+ end
120
+ end