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