vapi_server_sdk 0.5.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +539 -197
  4. data/lib/vapi_server_sdk/assistants/client.rb +193 -108
  5. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +47 -2
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound_zero.rb +10 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +2 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +208 -14
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_hooks_item.rb +109 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +36 -36
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -17
  12. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +65 -0
  13. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +61 -9
  14. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voicemail_detection.rb +129 -0
  15. data/lib/vapi_server_sdk/calls/client.rb +1045 -169
  16. data/lib/vapi_server_sdk/calls/types/calls_create_response.rb +56 -0
  17. data/lib/vapi_server_sdk/campaigns/client.rb +651 -0
  18. data/lib/vapi_server_sdk/campaigns/types/campaign_controller_find_all_request_sort_order.rb +10 -0
  19. data/lib/vapi_server_sdk/campaigns/types/campaign_controller_find_all_request_status.rb +11 -0
  20. data/lib/vapi_server_sdk/chats/client.rb +1378 -0
  21. data/lib/vapi_server_sdk/chats/types/chats_create_response.rb +56 -0
  22. data/lib/vapi_server_sdk/chats/types/chats_create_response_response.rb +98 -0
  23. data/lib/vapi_server_sdk/chats/types/chats_list_request_sort_order.rb +10 -0
  24. data/lib/vapi_server_sdk/chats/types/create_chat_dto_input.rb +60 -0
  25. data/lib/vapi_server_sdk/chats/types/create_chat_dto_input_item.rb +98 -0
  26. data/lib/vapi_server_sdk/chats/types/open_ai_responses_request_input.rb +60 -0
  27. data/lib/vapi_server_sdk/chats/types/open_ai_responses_request_input_item.rb +98 -0
  28. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +13 -0
  29. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +13 -0
  30. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +13 -0
  31. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +13 -0
  32. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +13 -0
  33. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +13 -0
  34. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +13 -0
  35. data/lib/vapi_server_sdk/sessions/client.rb +925 -0
  36. data/lib/vapi_server_sdk/sessions/types/create_session_dto_messages_item.rb +98 -0
  37. data/lib/vapi_server_sdk/sessions/types/create_session_dto_status.rb +12 -0
  38. data/lib/vapi_server_sdk/sessions/types/sessions_list_request_sort_order.rb +10 -0
  39. data/lib/vapi_server_sdk/sessions/types/update_session_dto_messages_item.rb +98 -0
  40. data/lib/vapi_server_sdk/sessions/types/update_session_dto_status.rb +11 -0
  41. data/lib/vapi_server_sdk/squads/client.rb +272 -128
  42. data/lib/vapi_server_sdk/test_suite_tests/client.rb +15 -13
  43. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +16 -1
  44. data/lib/vapi_server_sdk/{blocks/types/blocks_update_response.rb → test_suite_tests/types/test_suite_test_controller_create_response.rb} +27 -39
  45. data/lib/vapi_server_sdk/{blocks/types/blocks_create_response.rb → test_suite_tests/types/test_suite_test_controller_find_one_response.rb} +27 -39
  46. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +16 -1
  47. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +16 -1
  48. data/lib/vapi_server_sdk/{blocks/types/blocks_delete_response.rb → test_suite_tests/types/test_suite_test_controller_update_response.rb} +27 -39
  49. data/lib/vapi_server_sdk/test_suites/client.rb +1470 -8
  50. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +157 -1
  51. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +157 -1
  52. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +157 -1
  53. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +157 -1
  54. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +157 -1
  55. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +157 -1
  56. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +157 -1
  57. data/lib/vapi_server_sdk/types/ai_edge_condition.rb +19 -9
  58. data/lib/vapi_server_sdk/types/analysis.rb +12 -1
  59. data/lib/vapi_server_sdk/types/analysis_plan.rb +30 -2
  60. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  61. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -3
  62. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +4 -1
  63. data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +188 -32
  64. data/lib/vapi_server_sdk/types/anthropic_thinking_config.rb +67 -0
  65. data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +188 -32
  66. data/lib/vapi_server_sdk/types/api_request_tool.rb +584 -0
  67. data/lib/vapi_server_sdk/types/api_request_tool_messages_item.rb +120 -0
  68. data/lib/vapi_server_sdk/types/{api_request_method.rb → api_request_tool_method.rb} +1 -1
  69. data/lib/vapi_server_sdk/types/artifact.rb +38 -2
  70. data/lib/vapi_server_sdk/types/artifact_plan.rb +12 -1
  71. data/lib/vapi_server_sdk/types/artifact_plan_recording_format.rb +10 -0
  72. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +103 -3
  73. data/lib/vapi_server_sdk/types/assistant.rb +118 -53
  74. data/lib/vapi_server_sdk/types/assistant_background_sound.rb +47 -2
  75. data/lib/vapi_server_sdk/types/assistant_background_sound_zero.rb +8 -0
  76. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +2 -0
  77. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +208 -14
  78. data/lib/vapi_server_sdk/types/assistant_hook_assistant_speech_interrupted.rb +61 -0
  79. data/lib/vapi_server_sdk/types/assistant_hook_assistant_speech_interrupted_do_item.rb +108 -0
  80. data/lib/vapi_server_sdk/types/{assistant_hooks.rb → assistant_hook_call_ending.rb} +18 -25
  81. data/lib/vapi_server_sdk/types/{block_complete_message_conditions_item.rb → assistant_hook_call_ending_do_item.rb} +25 -25
  82. data/lib/vapi_server_sdk/types/assistant_hook_customer_speech_interrupted.rb +60 -0
  83. data/lib/vapi_server_sdk/types/assistant_hook_customer_speech_interrupted_do_item.rb +108 -0
  84. data/lib/vapi_server_sdk/types/assistant_hooks_item.rb +107 -0
  85. data/lib/vapi_server_sdk/types/assistant_message.rb +98 -0
  86. data/lib/vapi_server_sdk/types/assistant_model.rb +36 -36
  87. data/lib/vapi_server_sdk/types/assistant_overrides.rb +118 -53
  88. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +47 -2
  89. data/lib/vapi_server_sdk/types/assistant_overrides_background_sound_zero.rb +8 -0
  90. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +2 -0
  91. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +208 -14
  92. data/lib/vapi_server_sdk/types/assistant_overrides_hooks_item.rb +107 -0
  93. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +36 -36
  94. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -17
  95. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +65 -0
  96. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +61 -9
  97. data/lib/vapi_server_sdk/types/assistant_overrides_voicemail_detection.rb +127 -0
  98. data/lib/vapi_server_sdk/types/assistant_paginated_response.rb +75 -0
  99. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -17
  100. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +65 -0
  101. data/lib/vapi_server_sdk/types/assistant_user_editable.rb +57 -0
  102. data/lib/vapi_server_sdk/types/assistant_version_paginated_response.rb +80 -0
  103. data/lib/vapi_server_sdk/types/assistant_voice.rb +61 -9
  104. data/lib/vapi_server_sdk/types/assistant_voicemail_detection.rb +127 -0
  105. data/lib/vapi_server_sdk/types/azure_credential.rb +11 -1
  106. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +5 -2
  107. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +21 -3
  108. data/lib/vapi_server_sdk/types/azure_voice.rb +10 -1
  109. data/lib/vapi_server_sdk/types/background_speech_denoising_plan.rb +86 -0
  110. data/lib/vapi_server_sdk/types/backoff_plan.rb +11 -11
  111. data/lib/vapi_server_sdk/types/bash_tool.rb +34 -44
  112. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +34 -44
  113. data/lib/vapi_server_sdk/types/bucket_plan.rb +2 -0
  114. data/lib/vapi_server_sdk/types/byo_phone_number.rb +46 -14
  115. data/lib/vapi_server_sdk/types/call.rb +126 -20
  116. data/lib/vapi_server_sdk/types/call_batch_error.rb +71 -0
  117. data/lib/vapi_server_sdk/types/call_batch_response.rb +73 -0
  118. data/lib/vapi_server_sdk/types/call_costs_item.rb +26 -0
  119. data/lib/vapi_server_sdk/types/call_ended_reason.rb +346 -52
  120. data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +1 -0
  121. data/lib/vapi_server_sdk/types/call_status.rb +1 -0
  122. data/lib/vapi_server_sdk/types/call_type.rb +1 -0
  123. data/lib/vapi_server_sdk/types/campaign.rb +216 -0
  124. data/lib/vapi_server_sdk/types/campaign_ended_reason.rb +10 -0
  125. data/lib/vapi_server_sdk/types/campaign_paginated_response.rb +75 -0
  126. data/lib/vapi_server_sdk/types/campaign_status.rb +10 -0
  127. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +10 -5
  128. data/lib/vapi_server_sdk/types/cartesia_speed_control.rb +52 -0
  129. data/lib/vapi_server_sdk/types/cartesia_transcriber.rb +83 -0
  130. data/lib/vapi_server_sdk/types/cartesia_transcriber_language.rb +191 -0
  131. data/lib/vapi_server_sdk/types/cartesia_voice.rb +10 -2
  132. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +1 -0
  133. data/lib/vapi_server_sdk/types/cerebras_model.rb +178 -0
  134. data/lib/vapi_server_sdk/types/cerebras_model_model.rb +9 -0
  135. data/lib/vapi_server_sdk/types/cerebras_model_tools_item.rb +315 -0
  136. data/lib/vapi_server_sdk/types/chat.rb +236 -0
  137. data/lib/vapi_server_sdk/types/chat_assistant_overrides.rb +57 -0
  138. data/lib/vapi_server_sdk/types/{assistant_hook_action_base.rb → chat_cost.rb} +17 -9
  139. data/lib/vapi_server_sdk/types/{vapi_model_steps_item.rb → chat_costs_item.rb} +25 -25
  140. data/lib/vapi_server_sdk/types/chat_input.rb +57 -0
  141. data/lib/vapi_server_sdk/types/chat_input_item.rb +96 -0
  142. data/lib/vapi_server_sdk/types/chat_messages_item.rb +96 -0
  143. data/lib/vapi_server_sdk/types/chat_output_item.rb +96 -0
  144. data/lib/vapi_server_sdk/types/chat_paginated_response.rb +75 -0
  145. data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +26 -2
  146. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +67 -12
  147. data/lib/vapi_server_sdk/types/client_message_conversation_update_phone_number.rb +135 -0
  148. data/lib/vapi_server_sdk/types/client_message_hang.rb +73 -19
  149. data/lib/vapi_server_sdk/types/client_message_hang_phone_number.rb +134 -0
  150. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +71 -11
  151. data/lib/vapi_server_sdk/types/client_message_language_change_detected_phone_number.rb +135 -0
  152. data/lib/vapi_server_sdk/types/client_message_message.rb +193 -164
  153. data/lib/vapi_server_sdk/types/client_message_metadata.rb +71 -11
  154. data/lib/vapi_server_sdk/types/client_message_metadata_phone_number.rb +134 -0
  155. data/lib/vapi_server_sdk/types/client_message_model_output.rb +71 -11
  156. data/lib/vapi_server_sdk/types/client_message_model_output_phone_number.rb +134 -0
  157. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +80 -11
  158. data/lib/vapi_server_sdk/types/client_message_speech_update_phone_number.rb +134 -0
  159. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +66 -9
  160. data/lib/vapi_server_sdk/types/client_message_tool_calls_phone_number.rb +134 -0
  161. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +71 -11
  162. data/lib/vapi_server_sdk/types/client_message_tool_calls_result_phone_number.rb +135 -0
  163. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +13 -0
  164. data/lib/vapi_server_sdk/types/client_message_transcript.rb +73 -12
  165. data/lib/vapi_server_sdk/types/client_message_transcript_phone_number.rb +134 -0
  166. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +65 -12
  167. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +0 -13
  168. data/lib/vapi_server_sdk/types/client_message_transfer_update_phone_number.rb +135 -0
  169. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +73 -11
  170. data/lib/vapi_server_sdk/types/client_message_user_interrupted_phone_number.rb +135 -0
  171. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +71 -11
  172. data/lib/vapi_server_sdk/types/client_message_voice_input_phone_number.rb +134 -0
  173. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +71 -11
  174. data/lib/vapi_server_sdk/types/client_message_workflow_node_started_phone_number.rb +135 -0
  175. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +11 -1
  176. data/lib/vapi_server_sdk/types/compliance_plan.rb +10 -10
  177. data/lib/vapi_server_sdk/types/computer_tool.rb +34 -44
  178. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +35 -45
  179. data/lib/vapi_server_sdk/types/condition.rb +3 -3
  180. data/lib/vapi_server_sdk/types/conversation_node.rb +247 -0
  181. data/lib/vapi_server_sdk/types/conversation_node_model.rb +122 -0
  182. data/lib/vapi_server_sdk/types/conversation_node_transcriber.rb +213 -0
  183. data/lib/vapi_server_sdk/types/conversation_node_voice.rb +278 -0
  184. data/lib/vapi_server_sdk/types/cost_breakdown.rb +10 -2
  185. data/lib/vapi_server_sdk/types/create_api_request_tool_dto.rb +551 -0
  186. data/lib/vapi_server_sdk/types/create_api_request_tool_dto_messages_item.rb +120 -0
  187. data/lib/vapi_server_sdk/types/create_api_request_tool_dto_method.rb +8 -0
  188. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +118 -53
  189. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +47 -2
  190. data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound_zero.rb +8 -0
  191. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +2 -0
  192. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +208 -14
  193. data/lib/vapi_server_sdk/types/create_assistant_dto_hooks_item.rb +107 -0
  194. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +36 -36
  195. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -17
  196. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +65 -0
  197. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +61 -9
  198. data/lib/vapi_server_sdk/types/create_assistant_dto_voicemail_detection.rb +127 -0
  199. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +12 -1
  200. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +5 -2
  201. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +34 -45
  202. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +46 -14
  203. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +2 -9
  204. data/lib/vapi_server_sdk/types/create_chat_stream_response.rb +87 -0
  205. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +12 -2
  206. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +35 -45
  207. data/lib/vapi_server_sdk/types/create_customer_dto.rb +39 -3
  208. data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +2 -42
  209. data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +2 -42
  210. data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +46 -38
  211. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +27 -4
  212. data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +2 -48
  213. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_availability_tool_dto.rb +101 -0
  214. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_availability_tool_dto_messages_item.rb +121 -0
  215. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_event_create_tool_dto.rb +101 -0
  216. data/lib/vapi_server_sdk/types/create_go_high_level_calendar_event_create_tool_dto_messages_item.rb +121 -0
  217. data/lib/vapi_server_sdk/types/create_go_high_level_contact_create_tool_dto.rb +100 -0
  218. data/lib/vapi_server_sdk/types/create_go_high_level_contact_create_tool_dto_messages_item.rb +121 -0
  219. data/lib/vapi_server_sdk/types/create_go_high_level_contact_get_tool_dto.rb +99 -0
  220. data/lib/vapi_server_sdk/types/create_go_high_level_contact_get_tool_dto_messages_item.rb +121 -0
  221. data/lib/vapi_server_sdk/types/create_go_high_level_mcp_credential_dto.rb +73 -0
  222. data/lib/vapi_server_sdk/types/create_google_calendar_check_availability_tool_dto.rb +101 -0
  223. data/lib/vapi_server_sdk/types/create_google_calendar_check_availability_tool_dto_messages_item.rb +121 -0
  224. data/lib/vapi_server_sdk/types/create_google_calendar_create_event_tool_dto.rb +100 -0
  225. data/lib/vapi_server_sdk/types/create_google_calendar_create_event_tool_dto_messages_item.rb +121 -0
  226. data/lib/vapi_server_sdk/types/create_google_calendar_o_auth_2_authorization_credential_dto.rb +69 -0
  227. data/lib/vapi_server_sdk/types/create_google_calendar_o_auth_2_client_credential_dto.rb +59 -0
  228. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +2 -11
  229. data/lib/vapi_server_sdk/types/create_google_sheets_o_auth_2_authorization_credential_dto.rb +69 -0
  230. data/lib/vapi_server_sdk/types/create_google_sheets_row_append_tool_dto.rb +99 -0
  231. data/lib/vapi_server_sdk/types/create_google_sheets_row_append_tool_dto_messages_item.rb +121 -0
  232. data/lib/vapi_server_sdk/types/create_hume_credential_dto.rb +67 -0
  233. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +2 -11
  234. data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +2 -48
  235. data/lib/vapi_server_sdk/types/create_mcp_tool_dto.rb +148 -0
  236. data/lib/vapi_server_sdk/types/create_mcp_tool_dto_messages_item.rb +120 -0
  237. data/lib/vapi_server_sdk/types/create_mistral_credential_dto.rb +67 -0
  238. data/lib/vapi_server_sdk/types/create_neuphonic_credential_dto.rb +67 -0
  239. data/lib/vapi_server_sdk/types/create_org_dto.rb +36 -2
  240. data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +132 -5
  241. data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +2 -42
  242. data/lib/vapi_server_sdk/types/create_query_tool_dto.rb +114 -0
  243. data/lib/vapi_server_sdk/types/create_query_tool_dto_messages_item.rb +120 -0
  244. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +12 -2
  245. data/lib/vapi_server_sdk/types/create_sesame_voice_dto.rb +67 -0
  246. data/lib/vapi_server_sdk/types/create_slack_o_auth_2_authorization_credential_dto.rb +69 -0
  247. data/lib/vapi_server_sdk/types/create_slack_send_message_tool_dto.rb +99 -0
  248. data/lib/vapi_server_sdk/types/create_slack_send_message_tool_dto_messages_item.rb +121 -0
  249. data/lib/vapi_server_sdk/types/create_sms_tool_dto.rb +99 -0
  250. data/lib/vapi_server_sdk/types/create_sms_tool_dto_messages_item.rb +120 -0
  251. data/lib/vapi_server_sdk/types/create_speechmatics_credential_dto.rb +67 -0
  252. data/lib/vapi_server_sdk/types/create_supabase_credential_dto.rb +82 -0
  253. data/lib/vapi_server_sdk/types/create_telnyx_phone_number_dto.rb +191 -0
  254. data/lib/vapi_server_sdk/types/create_telnyx_phone_number_dto_fallback_destination.rb +101 -0
  255. data/lib/vapi_server_sdk/types/create_test_suite_test_chat_dto.rb +90 -0
  256. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +34 -45
  257. data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +188 -32
  258. data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +78 -0
  259. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +2 -49
  260. data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +0 -13
  261. data/lib/vapi_server_sdk/types/create_trieve_credential_dto.rb +67 -0
  262. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +5 -5
  263. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +25 -4
  264. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +84 -16
  265. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +46 -14
  266. data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +13 -42
  267. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +52 -18
  268. data/lib/vapi_server_sdk/types/create_web_call_dto.rb +94 -4
  269. data/lib/vapi_server_sdk/types/create_web_chat_dto.rb +137 -0
  270. data/lib/vapi_server_sdk/types/create_web_chat_dto_input.rb +57 -0
  271. data/lib/vapi_server_sdk/types/create_web_chat_dto_input_item.rb +96 -0
  272. data/lib/vapi_server_sdk/types/create_web_customer_dto.rb +153 -0
  273. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +5 -5
  274. data/lib/vapi_server_sdk/types/{update_conversation_block_dto_messages_item.rb → create_webhook_credential_dto_authentication_plan.rb} +26 -25
  275. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +291 -2
  276. data/lib/vapi_server_sdk/types/{transfer_destination_step_message.rb → create_workflow_dto_background_sound.rb} +11 -21
  277. data/lib/vapi_server_sdk/types/create_workflow_dto_background_sound_zero.rb +8 -0
  278. data/lib/vapi_server_sdk/types/create_workflow_dto_credentials_item.rb +704 -0
  279. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +19 -58
  280. data/lib/vapi_server_sdk/types/create_workflow_dto_transcriber.rb +213 -0
  281. data/lib/vapi_server_sdk/types/create_workflow_dto_voice.rb +278 -0
  282. data/lib/vapi_server_sdk/types/credential_action_request.rb +65 -0
  283. data/lib/vapi_server_sdk/types/credential_end_user.rb +65 -0
  284. data/lib/vapi_server_sdk/types/credential_session_dto.rb +58 -0
  285. data/lib/vapi_server_sdk/types/credential_session_dto_provider.rb +12 -0
  286. data/lib/vapi_server_sdk/types/credential_session_error.rb +65 -0
  287. data/lib/vapi_server_sdk/types/credential_session_response.rb +55 -0
  288. data/lib/vapi_server_sdk/types/credential_webhook_dto.rb +158 -0
  289. data/lib/vapi_server_sdk/types/credential_webhook_dto_auth_mode.rb +9 -0
  290. data/lib/vapi_server_sdk/types/credential_webhook_dto_operation.rb +9 -0
  291. data/lib/vapi_server_sdk/types/credential_webhook_dto_type.rb +9 -0
  292. data/lib/vapi_server_sdk/types/custom_endpointing_model_smart_endpointing_plan.rb +132 -0
  293. data/lib/vapi_server_sdk/types/custom_endpointing_model_smart_endpointing_plan_provider.rb +12 -0
  294. data/lib/vapi_server_sdk/types/custom_llm_model.rb +11 -1
  295. data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +188 -32
  296. data/lib/vapi_server_sdk/types/custom_transcriber.rb +23 -3
  297. data/lib/vapi_server_sdk/types/custom_voice.rb +14 -2
  298. data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +188 -32
  299. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +188 -32
  300. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +43 -71
  301. data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +3 -0
  302. data/lib/vapi_server_sdk/types/deepgram_voice.rb +21 -8
  303. data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +45 -46
  304. data/lib/vapi_server_sdk/types/deepgram_voice_model.rb +9 -0
  305. data/lib/vapi_server_sdk/types/developer_message.rb +74 -0
  306. data/lib/vapi_server_sdk/types/dtmf_tool.rb +2 -45
  307. data/lib/vapi_server_sdk/types/edge.rb +5 -5
  308. data/lib/vapi_server_sdk/types/eleven_labs_transcriber.rb +83 -0
  309. data/lib/vapi_server_sdk/types/eleven_labs_transcriber_language.rb +191 -0
  310. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +26 -2
  311. data/lib/vapi_server_sdk/types/end_call_tool.rb +2 -45
  312. data/lib/vapi_server_sdk/types/exact_replacement.rb +25 -2
  313. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +1 -43
  314. data/lib/vapi_server_sdk/types/fallback_assembly_ai_transcriber.rb +181 -0
  315. data/lib/vapi_server_sdk/types/fallback_azure_speech_transcriber.rb +62 -0
  316. data/lib/vapi_server_sdk/types/fallback_azure_speech_transcriber_language.rb +152 -0
  317. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +10 -1
  318. data/lib/vapi_server_sdk/types/fallback_cartesia_transcriber.rb +68 -0
  319. data/lib/vapi_server_sdk/types/fallback_cartesia_transcriber_language.rb +191 -0
  320. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +10 -2
  321. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +1 -0
  322. data/lib/vapi_server_sdk/types/fallback_custom_transcriber.rb +125 -0
  323. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +9 -2
  324. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber.rb +183 -0
  325. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber_language.rb +62 -0
  326. data/lib/vapi_server_sdk/types/fallback_deepgram_transcriber_model.rb +37 -0
  327. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +26 -9
  328. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +45 -46
  329. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_model.rb +9 -0
  330. data/lib/vapi_server_sdk/types/fallback_eleven_labs_transcriber.rb +68 -0
  331. data/lib/vapi_server_sdk/types/fallback_eleven_labs_transcriber_language.rb +191 -0
  332. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +26 -2
  333. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber.rb +143 -0
  334. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_language.rb +107 -0
  335. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_language_behaviour.rb +9 -0
  336. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_languages.rb +107 -0
  337. data/lib/vapi_server_sdk/types/fallback_gladia_transcriber_model.rb +9 -0
  338. data/lib/vapi_server_sdk/types/fallback_google_transcriber.rb +69 -0
  339. data/lib/vapi_server_sdk/types/fallback_google_transcriber_language.rb +46 -0
  340. data/lib/vapi_server_sdk/types/fallback_google_transcriber_model.rb +25 -0
  341. data/lib/vapi_server_sdk/types/fallback_hume_voice.rb +121 -0
  342. data/lib/vapi_server_sdk/types/fallback_inworld_voice.rb +131 -0
  343. data/lib/vapi_server_sdk/types/fallback_inworld_voice_language_code.rb +18 -0
  344. data/lib/vapi_server_sdk/types/fallback_inworld_voice_voice_id.rb +70 -0
  345. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +24 -2
  346. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +41 -1
  347. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_language.rb +193 -0
  348. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +8 -32
  349. data/lib/vapi_server_sdk/types/fallback_neuphonic_voice.rb +112 -0
  350. data/lib/vapi_server_sdk/types/fallback_neuphonic_voice_model.rb +9 -0
  351. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber.rb +69 -0
  352. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber_language.rb +64 -0
  353. data/lib/vapi_server_sdk/types/fallback_open_ai_transcriber_model.rb +9 -0
  354. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +41 -4
  355. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +46 -11
  356. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id_enum.rb +12 -0
  357. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_model.rb +10 -0
  358. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +65 -13
  359. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +10 -2
  360. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +64 -4
  361. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +8 -0
  362. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +2 -2
  363. data/lib/vapi_server_sdk/types/fallback_sesame_voice.rb +94 -0
  364. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +16 -2
  365. data/lib/vapi_server_sdk/types/fallback_speechmatics_transcriber.rb +68 -0
  366. data/lib/vapi_server_sdk/types/fallback_speechmatics_transcriber_language.rb +62 -0
  367. data/lib/vapi_server_sdk/types/fallback_talkscriber_transcriber.rb +72 -0
  368. data/lib/vapi_server_sdk/types/fallback_talkscriber_transcriber_language.rb +109 -0
  369. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +9 -1
  370. data/lib/vapi_server_sdk/types/fallback_transcriber_plan.rb +59 -0
  371. data/lib/vapi_server_sdk/types/fallback_transcriber_plan_transcribers_item.rb +212 -0
  372. data/lib/vapi_server_sdk/types/fallback_vapi_voice.rb +97 -0
  373. data/lib/vapi_server_sdk/types/fallback_vapi_voice_voice_id.rb +18 -0
  374. data/lib/vapi_server_sdk/types/file.rb +17 -1
  375. data/lib/vapi_server_sdk/types/file_status.rb +3 -2
  376. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +1 -0
  377. data/lib/vapi_server_sdk/types/fourier_denoising_plan.rb +123 -0
  378. data/lib/vapi_server_sdk/types/{hangup.rb → function_call.rb} +16 -18
  379. data/lib/vapi_server_sdk/types/function_call_assistant_hook_action.rb +147 -0
  380. data/lib/vapi_server_sdk/types/function_call_assistant_hook_action_messages_item.rb +121 -0
  381. data/lib/vapi_server_sdk/types/function_tool.rb +48 -40
  382. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +48 -40
  383. data/lib/vapi_server_sdk/types/gcp_credential.rb +22 -4
  384. data/lib/vapi_server_sdk/types/get_chat_paginated_dto.rb +177 -0
  385. data/lib/vapi_server_sdk/types/get_chat_paginated_dto_sort_order.rb +9 -0
  386. data/lib/vapi_server_sdk/types/get_session_paginated_dto.rb +177 -0
  387. data/lib/vapi_server_sdk/types/get_session_paginated_dto_sort_order.rb +9 -0
  388. data/lib/vapi_server_sdk/types/ghl_tool.rb +2 -44
  389. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +2 -45
  390. data/lib/vapi_server_sdk/types/gladia_transcriber.rb +40 -3
  391. data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +1 -2
  392. data/lib/vapi_server_sdk/types/gladia_transcriber_languages.rb +107 -0
  393. data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +1 -0
  394. data/lib/vapi_server_sdk/types/global_node_plan.rb +73 -0
  395. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool.rb +135 -0
  396. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_messages_item.rb +121 -0
  397. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_provider_details.rb +73 -0
  398. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_with_tool_call.rb +128 -0
  399. data/lib/vapi_server_sdk/types/go_high_level_calendar_availability_tool_with_tool_call_messages_item.rb +121 -0
  400. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool.rb +135 -0
  401. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_messages_item.rb +121 -0
  402. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_provider_details.rb +73 -0
  403. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_with_tool_call.rb +128 -0
  404. data/lib/vapi_server_sdk/types/go_high_level_calendar_event_create_tool_with_tool_call_messages_item.rb +121 -0
  405. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool.rb +135 -0
  406. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_messages_item.rb +121 -0
  407. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_provider_details.rb +73 -0
  408. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_with_tool_call.rb +128 -0
  409. data/lib/vapi_server_sdk/types/go_high_level_contact_create_tool_with_tool_call_messages_item.rb +121 -0
  410. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool.rb +135 -0
  411. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_messages_item.rb +121 -0
  412. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_provider_details.rb +73 -0
  413. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_with_tool_call.rb +125 -0
  414. data/lib/vapi_server_sdk/types/go_high_level_contact_get_tool_with_tool_call_messages_item.rb +121 -0
  415. data/lib/vapi_server_sdk/types/go_high_level_mcp_credential.rb +118 -0
  416. data/lib/vapi_server_sdk/types/google_calendar_check_availability_tool.rb +135 -0
  417. data/lib/vapi_server_sdk/types/google_calendar_check_availability_tool_messages_item.rb +121 -0
  418. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool.rb +135 -0
  419. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_messages_item.rb +121 -0
  420. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_provider_details.rb +73 -0
  421. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_with_tool_call.rb +114 -0
  422. data/lib/vapi_server_sdk/types/google_calendar_create_event_tool_with_tool_call_messages_item.rb +121 -0
  423. data/lib/vapi_server_sdk/types/google_calendar_o_auth_2_authorization_credential.rb +114 -0
  424. data/lib/vapi_server_sdk/types/google_calendar_o_auth_2_client_credential.rb +103 -0
  425. data/lib/vapi_server_sdk/types/google_model_model.rb +7 -0
  426. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +188 -32
  427. data/lib/vapi_server_sdk/types/google_sheets_o_auth_2_authorization_credential.rb +114 -0
  428. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool.rb +135 -0
  429. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_messages_item.rb +121 -0
  430. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_provider_details.rb +73 -0
  431. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_with_tool_call.rb +125 -0
  432. data/lib/vapi_server_sdk/types/google_sheets_row_append_tool_with_tool_call_messages_item.rb +121 -0
  433. data/lib/vapi_server_sdk/types/google_transcriber.rb +84 -0
  434. data/lib/vapi_server_sdk/types/google_transcriber_language.rb +46 -0
  435. data/lib/vapi_server_sdk/types/google_transcriber_model.rb +25 -0
  436. data/lib/vapi_server_sdk/types/google_voicemail_detection_plan.rb +91 -0
  437. data/lib/vapi_server_sdk/types/groq_model_model.rb +5 -2
  438. data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +188 -32
  439. data/lib/vapi_server_sdk/types/{say_hook.rb → hangup_node.rb} +21 -21
  440. data/lib/vapi_server_sdk/types/hmac_authentication_plan.rb +151 -0
  441. data/lib/vapi_server_sdk/types/hmac_authentication_plan_algorithm.rb +10 -0
  442. data/lib/vapi_server_sdk/types/hmac_authentication_plan_signature_encoding.rb +9 -0
  443. data/lib/vapi_server_sdk/types/hume_credential.rb +111 -0
  444. data/lib/vapi_server_sdk/types/hume_voice.rb +137 -0
  445. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +88 -16
  446. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +52 -22
  447. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +188 -32
  448. data/lib/vapi_server_sdk/types/invoice_plan.rb +89 -0
  449. data/lib/vapi_server_sdk/types/inworld_voice.rb +147 -0
  450. data/lib/vapi_server_sdk/types/inworld_voice_language_code.rb +18 -0
  451. data/lib/vapi_server_sdk/types/inworld_voice_voice_id.rb +70 -0
  452. data/lib/vapi_server_sdk/types/json_schema.rb +40 -27
  453. data/lib/vapi_server_sdk/types/json_schema_format.rb +19 -0
  454. data/lib/vapi_server_sdk/types/jwt_response.rb +65 -0
  455. data/lib/vapi_server_sdk/types/keypad_input_plan.rb +93 -0
  456. data/lib/vapi_server_sdk/types/keypad_input_plan_delimiters.rb +11 -0
  457. data/lib/vapi_server_sdk/types/knowledge_base.rb +95 -0
  458. data/lib/vapi_server_sdk/types/knowledge_base_cost.rb +84 -0
  459. data/lib/vapi_server_sdk/types/knowledge_base_model.rb +25 -0
  460. data/lib/vapi_server_sdk/types/langfuse_observability_plan.rb +84 -0
  461. data/lib/vapi_server_sdk/types/livekit_smart_endpointing_plan.rb +90 -0
  462. data/lib/vapi_server_sdk/types/livekit_smart_endpointing_plan_provider.rb +10 -0
  463. data/lib/vapi_server_sdk/types/lmnt_voice.rb +19 -1
  464. data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +41 -1
  465. data/lib/vapi_server_sdk/types/lmnt_voice_language.rb +193 -0
  466. data/lib/vapi_server_sdk/types/logic_edge_condition.rb +1 -51
  467. data/lib/vapi_server_sdk/types/make_tool.rb +2 -44
  468. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +2 -45
  469. data/lib/vapi_server_sdk/types/mcp_tool.rb +182 -0
  470. data/lib/vapi_server_sdk/types/{tool_call_result_message_item.rb → mcp_tool_messages_item.rb} +33 -7
  471. data/lib/vapi_server_sdk/types/mcp_tool_metadata.rb +58 -0
  472. data/lib/vapi_server_sdk/types/mcp_tool_metadata_protocol.rb +9 -0
  473. data/lib/vapi_server_sdk/types/message_plan.rb +16 -2
  474. data/lib/vapi_server_sdk/types/mistral_credential.rb +111 -0
  475. data/lib/vapi_server_sdk/types/monitor_plan.rb +34 -2
  476. data/lib/vapi_server_sdk/types/mono.rb +84 -0
  477. data/lib/vapi_server_sdk/types/neets_voice.rb +8 -47
  478. data/lib/vapi_server_sdk/types/neuphonic_credential.rb +111 -0
  479. data/lib/vapi_server_sdk/types/neuphonic_voice.rb +128 -0
  480. data/lib/vapi_server_sdk/types/neuphonic_voice_model.rb +9 -0
  481. data/lib/vapi_server_sdk/types/node_artifact.rb +82 -0
  482. data/lib/vapi_server_sdk/types/node_artifact_messages_item.rb +96 -0
  483. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +16 -9
  484. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +13 -2
  485. data/lib/vapi_server_sdk/types/open_ai_model.rb +40 -1
  486. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +70 -1
  487. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +78 -1
  488. data/lib/vapi_server_sdk/types/open_ai_model_tool_strict_compatibility_mode.rb +16 -0
  489. data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +188 -32
  490. data/lib/vapi_server_sdk/types/open_ai_transcriber.rb +84 -0
  491. data/lib/vapi_server_sdk/types/open_ai_transcriber_language.rb +64 -0
  492. data/lib/vapi_server_sdk/types/open_ai_transcriber_model.rb +9 -0
  493. data/lib/vapi_server_sdk/types/open_ai_voice.rb +36 -3
  494. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +46 -11
  495. data/lib/vapi_server_sdk/types/open_ai_voice_id_enum.rb +12 -0
  496. data/lib/vapi_server_sdk/types/open_ai_voice_model.rb +10 -0
  497. data/lib/vapi_server_sdk/types/open_ai_voicemail_detection_plan.rb +91 -0
  498. data/lib/vapi_server_sdk/types/open_ai_web_chat_request.rb +135 -0
  499. data/lib/vapi_server_sdk/types/open_ai_web_chat_request_input.rb +57 -0
  500. data/lib/vapi_server_sdk/types/open_ai_web_chat_request_input_item.rb +96 -0
  501. data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +188 -32
  502. data/lib/vapi_server_sdk/types/org.rb +52 -2
  503. data/lib/vapi_server_sdk/types/output_tool.rb +2 -45
  504. data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +188 -32
  505. data/lib/vapi_server_sdk/types/{hook.rb → phone_number_hook_call_ringing.rb} +12 -13
  506. data/lib/vapi_server_sdk/types/{conversation_block_messages_item.rb → phone_number_hook_call_ringing_do_item.rb} +25 -25
  507. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +13 -0
  508. data/lib/vapi_server_sdk/types/play_ht_voice.rb +10 -2
  509. data/lib/vapi_server_sdk/types/query_tool.rb +148 -0
  510. data/lib/vapi_server_sdk/types/query_tool_messages_item.rb +120 -0
  511. data/lib/vapi_server_sdk/types/recording.rb +105 -0
  512. data/lib/vapi_server_sdk/types/response_completed_event.rb +71 -0
  513. data/lib/vapi_server_sdk/types/response_error_event.rb +94 -0
  514. data/lib/vapi_server_sdk/types/response_object.rb +107 -0
  515. data/lib/vapi_server_sdk/types/response_object_status.rb +11 -0
  516. data/lib/vapi_server_sdk/types/response_output_message.rb +91 -0
  517. data/lib/vapi_server_sdk/types/response_output_message_status.rb +10 -0
  518. data/lib/vapi_server_sdk/types/response_output_text.rb +72 -0
  519. data/lib/vapi_server_sdk/types/response_text_delta_event.rb +92 -0
  520. data/lib/vapi_server_sdk/types/response_text_done_event.rb +92 -0
  521. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +58 -4
  522. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +8 -0
  523. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +2 -2
  524. data/lib/vapi_server_sdk/types/s_3_credential.rb +12 -2
  525. data/lib/vapi_server_sdk/types/say_assistant_hook_action.rb +55 -0
  526. data/lib/vapi_server_sdk/types/{chat_service_response.rb → say_phone_number_hook_action.rb} +17 -9
  527. data/lib/vapi_server_sdk/types/schedule_plan.rb +72 -0
  528. data/lib/vapi_server_sdk/types/server.rb +15 -26
  529. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +28 -58
  530. data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +14 -4
  531. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request.rb +173 -0
  532. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request_messages_item.rb +97 -0
  533. data/lib/vapi_server_sdk/types/server_message_call_endpointing_request_phone_number.rb +135 -0
  534. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +28 -58
  535. data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +14 -4
  536. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +27 -57
  537. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +26 -0
  538. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +346 -52
  539. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +14 -4
  540. data/lib/vapi_server_sdk/types/server_message_hang.rb +28 -66
  541. data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +14 -4
  542. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +28 -60
  543. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_phone_number.rb +14 -4
  544. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +27 -57
  545. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +14 -4
  546. data/lib/vapi_server_sdk/types/server_message_message.rb +250 -212
  547. data/lib/vapi_server_sdk/types/server_message_model_output.rb +27 -57
  548. data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +14 -4
  549. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +28 -64
  550. data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +14 -4
  551. data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +93 -9
  552. data/lib/vapi_server_sdk/types/server_message_response_call_endpointing_request.rb +59 -0
  553. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  554. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +15 -2
  555. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +0 -13
  556. data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_message.rb +122 -0
  557. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +36 -58
  558. data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +14 -4
  559. data/lib/vapi_server_sdk/types/server_message_status_update.rb +27 -57
  560. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +346 -52
  561. data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +14 -4
  562. data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +1 -0
  563. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +27 -55
  564. data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +14 -4
  565. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +13 -0
  566. data/lib/vapi_server_sdk/types/server_message_transcript.rb +27 -58
  567. data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +14 -4
  568. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +28 -58
  569. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +14 -4
  570. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +27 -57
  571. data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +0 -13
  572. data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +14 -4
  573. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +28 -58
  574. data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +14 -4
  575. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +27 -57
  576. data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +14 -4
  577. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +27 -95
  578. data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +14 -4
  579. data/lib/vapi_server_sdk/types/sesame_voice.rb +111 -0
  580. data/lib/vapi_server_sdk/types/session.rb +193 -0
  581. data/lib/vapi_server_sdk/types/session_messages_item.rb +96 -0
  582. data/lib/vapi_server_sdk/types/session_paginated_response.rb +75 -0
  583. data/lib/vapi_server_sdk/types/session_status.rb +10 -0
  584. data/lib/vapi_server_sdk/types/slack_o_auth_2_authorization_credential.rb +112 -0
  585. data/lib/vapi_server_sdk/types/slack_send_message_tool.rb +135 -0
  586. data/lib/vapi_server_sdk/types/slack_send_message_tool_messages_item.rb +120 -0
  587. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +9 -1
  588. data/lib/vapi_server_sdk/types/smart_denoising_plan.rb +57 -0
  589. data/lib/vapi_server_sdk/types/sms_tool.rb +135 -0
  590. data/lib/vapi_server_sdk/types/sms_tool_messages_item.rb +120 -0
  591. data/lib/vapi_server_sdk/types/speechmatics_credential.rb +111 -0
  592. data/lib/vapi_server_sdk/types/speechmatics_transcriber.rb +83 -0
  593. data/lib/vapi_server_sdk/types/speechmatics_transcriber_language.rb +62 -0
  594. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +58 -26
  595. data/lib/vapi_server_sdk/types/{neets_voice_id.rb → start_speaking_plan_smart_endpointing_enabled.rb} +6 -6
  596. data/lib/vapi_server_sdk/types/start_speaking_plan_smart_endpointing_plan.rb +76 -0
  597. data/lib/vapi_server_sdk/types/structured_data_multi_plan.rb +71 -0
  598. data/lib/vapi_server_sdk/types/structured_data_plan.rb +8 -4
  599. data/lib/vapi_server_sdk/types/subscription.rb +36 -2
  600. data/lib/vapi_server_sdk/types/subscription_type.rb +4 -0
  601. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +8 -4
  602. data/lib/vapi_server_sdk/types/summary_plan.rb +10 -6
  603. data/lib/vapi_server_sdk/types/supabase_bucket_plan.rb +129 -0
  604. data/lib/vapi_server_sdk/types/supabase_bucket_plan_region.rb +25 -0
  605. data/lib/vapi_server_sdk/types/supabase_credential.rb +128 -0
  606. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +4 -1
  607. data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +17 -2
  608. data/lib/vapi_server_sdk/types/target_plan.rb +115 -0
  609. data/lib/vapi_server_sdk/types/tavus_voice.rb +10 -2
  610. data/lib/vapi_server_sdk/types/telnyx_phone_number.rb +233 -0
  611. data/lib/vapi_server_sdk/types/{edge_condition.rb → telnyx_phone_number_fallback_destination.rb} +31 -38
  612. data/lib/vapi_server_sdk/types/telnyx_phone_number_status.rb +10 -0
  613. data/lib/vapi_server_sdk/types/template_details.rb +188 -32
  614. data/lib/vapi_server_sdk/types/template_provider_details.rb +78 -0
  615. data/lib/vapi_server_sdk/types/test_suite.rb +39 -3
  616. data/lib/vapi_server_sdk/types/test_suite_phone_number.rb +65 -0
  617. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +1 -0
  618. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +31 -4
  619. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt_call.rb +2 -2
  620. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt_metadata.rb +55 -0
  621. data/lib/vapi_server_sdk/types/test_suite_test_chat.rb +132 -0
  622. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +4 -4
  623. data/lib/vapi_server_sdk/types/{create_conversation_block_dto_messages_item.rb → test_suite_tests_paginated_response_results_item.rb} +25 -25
  624. data/lib/vapi_server_sdk/types/{chat_dto.rb → tester_plan.rb} +32 -31
  625. data/lib/vapi_server_sdk/types/text_editor_tool.rb +34 -44
  626. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +34 -44
  627. data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +188 -32
  628. data/lib/vapi_server_sdk/types/tool_call.rb +13 -13
  629. data/lib/vapi_server_sdk/types/tool_call_function.rb +11 -11
  630. data/lib/vapi_server_sdk/types/tool_call_result.rb +20 -9
  631. data/lib/vapi_server_sdk/types/tool_call_result_message.rb +14 -3
  632. data/lib/vapi_server_sdk/types/tool_message.rb +81 -0
  633. data/lib/vapi_server_sdk/types/tool_node.rb +100 -0
  634. data/lib/vapi_server_sdk/types/tool_node_tool.rb +316 -0
  635. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +3 -13
  636. data/lib/vapi_server_sdk/types/transfer_call_tool.rb +3 -45
  637. data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +0 -13
  638. data/lib/vapi_server_sdk/types/transfer_fallback_plan.rb +83 -0
  639. data/lib/vapi_server_sdk/types/{fallback_neets_voice_id.rb → transfer_fallback_plan_message.rb} +11 -9
  640. data/lib/vapi_server_sdk/types/transfer_phone_number_hook_action.rb +65 -0
  641. data/lib/vapi_server_sdk/types/{create_trieve_knowledge_base_dto_create_plan.rb → transfer_phone_number_hook_action_destination.rb} +27 -27
  642. data/lib/vapi_server_sdk/types/transfer_plan.rb +119 -8
  643. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +3 -2
  644. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +6 -0
  645. data/lib/vapi_server_sdk/types/trieve_credential.rb +111 -0
  646. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +5 -5
  647. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +13 -3
  648. data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +13 -3
  649. data/lib/vapi_server_sdk/types/twilio_credential.rb +20 -4
  650. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +91 -23
  651. data/lib/vapi_server_sdk/types/{twilio_voicemail_detection.rb → twilio_voicemail_detection_plan.rb} +9 -17
  652. data/lib/vapi_server_sdk/types/{twilio_voicemail_detection_voicemail_detection_types_item.rb → twilio_voicemail_detection_plan_voicemail_detection_types_item.rb} +1 -1
  653. data/lib/vapi_server_sdk/types/update_api_request_tool_dto.rb +551 -0
  654. data/lib/vapi_server_sdk/types/update_api_request_tool_dto_messages_item.rb +120 -0
  655. data/lib/vapi_server_sdk/types/update_api_request_tool_dto_method.rb +8 -0
  656. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +11 -1
  657. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +5 -2
  658. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +33 -44
  659. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +46 -14
  660. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +12 -2
  661. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +34 -44
  662. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +2 -42
  663. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +2 -42
  664. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +46 -38
  665. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +27 -4
  666. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +2 -49
  667. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_availability_tool_dto.rb +101 -0
  668. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_availability_tool_dto_messages_item.rb +121 -0
  669. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_event_create_tool_dto.rb +101 -0
  670. data/lib/vapi_server_sdk/types/update_go_high_level_calendar_event_create_tool_dto_messages_item.rb +121 -0
  671. data/lib/vapi_server_sdk/types/update_go_high_level_contact_create_tool_dto.rb +100 -0
  672. data/lib/vapi_server_sdk/types/update_go_high_level_contact_create_tool_dto_messages_item.rb +121 -0
  673. data/lib/vapi_server_sdk/types/update_go_high_level_contact_get_tool_dto.rb +99 -0
  674. data/lib/vapi_server_sdk/types/update_go_high_level_contact_get_tool_dto_messages_item.rb +121 -0
  675. data/lib/vapi_server_sdk/types/update_go_high_level_mcp_credential_dto.rb +73 -0
  676. data/lib/vapi_server_sdk/types/update_google_calendar_check_availability_tool_dto.rb +101 -0
  677. data/lib/vapi_server_sdk/types/update_google_calendar_check_availability_tool_dto_messages_item.rb +121 -0
  678. data/lib/vapi_server_sdk/types/update_google_calendar_create_event_tool_dto.rb +100 -0
  679. data/lib/vapi_server_sdk/types/update_google_calendar_create_event_tool_dto_messages_item.rb +121 -0
  680. data/lib/vapi_server_sdk/types/update_google_calendar_o_auth_2_authorization_credential_dto.rb +69 -0
  681. data/lib/vapi_server_sdk/types/update_google_calendar_o_auth_2_client_credential_dto.rb +59 -0
  682. data/lib/vapi_server_sdk/types/update_google_sheets_o_auth_2_authorization_credential_dto.rb +69 -0
  683. data/lib/vapi_server_sdk/types/update_google_sheets_row_append_tool_dto.rb +99 -0
  684. data/lib/vapi_server_sdk/types/update_google_sheets_row_append_tool_dto_messages_item.rb +121 -0
  685. data/lib/vapi_server_sdk/types/update_hume_credential_dto.rb +67 -0
  686. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +2 -49
  687. data/lib/vapi_server_sdk/types/update_mcp_tool_dto.rb +148 -0
  688. data/lib/vapi_server_sdk/types/update_mcp_tool_dto_messages_item.rb +120 -0
  689. data/lib/vapi_server_sdk/types/update_mistral_credential_dto.rb +67 -0
  690. data/lib/vapi_server_sdk/types/update_neuphonic_credential_dto.rb +67 -0
  691. data/lib/vapi_server_sdk/types/update_org_dto.rb +36 -2
  692. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +2 -42
  693. data/lib/vapi_server_sdk/types/update_query_tool_dto.rb +114 -0
  694. data/lib/vapi_server_sdk/types/update_query_tool_dto_messages_item.rb +120 -0
  695. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +11 -1
  696. data/lib/vapi_server_sdk/types/update_slack_o_auth_2_authorization_credential_dto.rb +69 -0
  697. data/lib/vapi_server_sdk/types/update_slack_send_message_tool_dto.rb +99 -0
  698. data/lib/vapi_server_sdk/types/update_slack_send_message_tool_dto_messages_item.rb +121 -0
  699. data/lib/vapi_server_sdk/types/update_sms_tool_dto.rb +99 -0
  700. data/lib/vapi_server_sdk/types/update_sms_tool_dto_messages_item.rb +120 -0
  701. data/lib/vapi_server_sdk/types/update_speechmatics_credential_dto.rb +67 -0
  702. data/lib/vapi_server_sdk/types/update_supabase_credential_dto.rb +82 -0
  703. data/lib/vapi_server_sdk/types/update_telnyx_phone_number_dto.rb +191 -0
  704. data/lib/vapi_server_sdk/types/update_telnyx_phone_number_dto_fallback_destination.rb +101 -0
  705. data/lib/vapi_server_sdk/types/update_test_suite_test_chat_dto.rb +90 -0
  706. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +33 -44
  707. data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +188 -32
  708. data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +78 -0
  709. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +2 -49
  710. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +0 -13
  711. data/lib/vapi_server_sdk/types/update_trieve_credential_dto.rb +67 -0
  712. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +5 -5
  713. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +23 -2
  714. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +83 -15
  715. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +46 -14
  716. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +52 -18
  717. data/lib/vapi_server_sdk/types/update_webhook_credential_dto.rb +73 -0
  718. data/lib/vapi_server_sdk/types/{update_trieve_knowledge_base_dto_create_plan.rb → update_webhook_credential_dto_authentication_plan.rb} +26 -27
  719. data/lib/vapi_server_sdk/types/vapi_model.rb +15 -19
  720. data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +188 -32
  721. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +46 -14
  722. data/lib/vapi_server_sdk/types/vapi_smart_endpointing_plan.rb +56 -0
  723. data/lib/vapi_server_sdk/types/vapi_smart_endpointing_plan_provider.rb +10 -0
  724. data/lib/vapi_server_sdk/types/vapi_voice.rb +114 -0
  725. data/lib/vapi_server_sdk/types/vapi_voice_voice_id.rb +18 -0
  726. data/lib/vapi_server_sdk/types/vapi_voicemail_detection_plan.rb +91 -0
  727. data/lib/vapi_server_sdk/types/variable_extraction_alias.rb +81 -0
  728. data/lib/vapi_server_sdk/types/variable_extraction_plan.rb +297 -0
  729. data/lib/vapi_server_sdk/types/voicemail_detection_backoff_plan.rb +78 -0
  730. data/lib/vapi_server_sdk/types/voicemail_detection_cost.rb +110 -0
  731. data/lib/vapi_server_sdk/types/voicemail_detection_cost_provider.rb +11 -0
  732. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +52 -18
  733. data/lib/vapi_server_sdk/types/web_chat.rb +80 -0
  734. data/lib/vapi_server_sdk/types/web_chat_output_item.rb +96 -0
  735. data/lib/vapi_server_sdk/types/webhook_credential.rb +5 -5
  736. data/lib/vapi_server_sdk/types/{block_start_message_conditions_item.rb → webhook_credential_authentication_plan.rb} +26 -25
  737. data/lib/vapi_server_sdk/types/workflow.rb +288 -3
  738. data/lib/vapi_server_sdk/types/workflow_anthropic_model.rb +97 -0
  739. data/lib/vapi_server_sdk/types/workflow_anthropic_model_model.rb +16 -0
  740. data/lib/vapi_server_sdk/types/workflow_background_sound.rb +55 -0
  741. data/lib/vapi_server_sdk/types/workflow_background_sound_zero.rb +8 -0
  742. data/lib/vapi_server_sdk/types/workflow_credentials_item.rb +704 -0
  743. data/lib/vapi_server_sdk/types/workflow_custom_model.rb +124 -0
  744. data/lib/vapi_server_sdk/types/workflow_custom_model_metadata_send_mode.rb +18 -0
  745. data/lib/vapi_server_sdk/types/workflow_google_model.rb +75 -0
  746. data/lib/vapi_server_sdk/types/workflow_google_model_model.rb +25 -0
  747. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +19 -58
  748. data/lib/vapi_server_sdk/types/workflow_open_ai_model.rb +89 -0
  749. data/lib/vapi_server_sdk/types/workflow_open_ai_model_model.rb +107 -0
  750. data/lib/vapi_server_sdk/types/workflow_overrides.rb +73 -0
  751. data/lib/vapi_server_sdk/types/workflow_transcriber.rb +213 -0
  752. data/lib/vapi_server_sdk/types/workflow_user_editable.rb +369 -0
  753. data/lib/vapi_server_sdk/types/workflow_user_editable_background_sound.rb +55 -0
  754. data/lib/vapi_server_sdk/types/workflow_user_editable_background_sound_zero.rb +8 -0
  755. data/lib/vapi_server_sdk/types/workflow_user_editable_credentials_item.rb +704 -0
  756. data/lib/vapi_server_sdk/types/{create_workflow_block_dto_steps_item.rb → workflow_user_editable_nodes_item.rb} +25 -25
  757. data/lib/vapi_server_sdk/types/workflow_user_editable_transcriber.rb +213 -0
  758. data/lib/vapi_server_sdk/types/workflow_user_editable_voice.rb +278 -0
  759. data/lib/vapi_server_sdk/types/workflow_voice.rb +278 -0
  760. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +188 -32
  761. data/lib/vapi_server_sdk/workflow/client.rb +788 -0
  762. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_background_sound.rb +57 -0
  763. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_background_sound_zero.rb +10 -0
  764. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_credentials_item.rb +706 -0
  765. data/lib/vapi_server_sdk/{blocks/types/blocks_get_response.rb → workflow/types/update_workflow_dto_nodes_item.rb} +21 -34
  766. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_transcriber.rb +215 -0
  767. data/lib/vapi_server_sdk/workflow/types/update_workflow_dto_voice.rb +280 -0
  768. data/lib/vapi_server_sdk.rb +56 -35
  769. metadata +432 -87
  770. data/lib/vapi_server_sdk/blocks/client.rb +0 -323
  771. data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +0 -109
  772. data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +0 -109
  773. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +0 -109
  774. data/lib/vapi_server_sdk/types/api_request.rb +0 -165
  775. data/lib/vapi_server_sdk/types/api_request_mode.rb +0 -10
  776. data/lib/vapi_server_sdk/types/assignment_mutation.rb +0 -189
  777. data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +0 -94
  778. data/lib/vapi_server_sdk/types/block_complete_message.rb +0 -98
  779. data/lib/vapi_server_sdk/types/block_start_message.rb +0 -98
  780. data/lib/vapi_server_sdk/types/callback_step.rb +0 -204
  781. data/lib/vapi_server_sdk/types/callback_step_block.rb +0 -108
  782. data/lib/vapi_server_sdk/types/chat_completion_message.rb +0 -80
  783. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +0 -94
  784. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +0 -84
  785. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +0 -10
  786. data/lib/vapi_server_sdk/types/conversation_block.rb +0 -239
  787. data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +0 -206
  788. data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +0 -168
  789. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +0 -94
  790. data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +0 -161
  791. data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +0 -154
  792. data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +0 -94
  793. data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +0 -18
  794. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +0 -18
  795. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +0 -7
  796. data/lib/vapi_server_sdk/types/gather.rb +0 -143
  797. data/lib/vapi_server_sdk/types/handoff_step.rb +0 -204
  798. data/lib/vapi_server_sdk/types/handoff_step_block.rb +0 -108
  799. data/lib/vapi_server_sdk/types/hook_on.rb +0 -9
  800. data/lib/vapi_server_sdk/types/metrics.rb +0 -165
  801. data/lib/vapi_server_sdk/types/model_based_condition.rb +0 -117
  802. data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +0 -7
  803. data/lib/vapi_server_sdk/types/rule_based_condition.rb +0 -195
  804. data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +0 -14
  805. data/lib/vapi_server_sdk/types/say.rb +0 -81
  806. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +0 -10
  807. data/lib/vapi_server_sdk/types/step_destination.rb +0 -82
  808. data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +0 -94
  809. data/lib/vapi_server_sdk/types/tool_call_block.rb +0 -201
  810. data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +0 -94
  811. data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +0 -161
  812. data/lib/vapi_server_sdk/types/transfer.rb +0 -74
  813. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +0 -104
  814. data/lib/vapi_server_sdk/types/transport.rb +0 -70
  815. data/lib/vapi_server_sdk/types/transport_provider.rb +0 -11
  816. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +0 -96
  817. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +0 -206
  818. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +0 -168
  819. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +0 -94
  820. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +0 -161
  821. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +0 -154
  822. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +0 -94
  823. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +0 -94
  824. data/lib/vapi_server_sdk/types/workflow_block.rb +0 -187
  825. data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +0 -94
  826. data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +0 -94
@@ -0,0 +1,1378 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "types/chats_list_request_sort_order"
5
+ require "date"
6
+ require_relative "../types/chat_paginated_response"
7
+ require_relative "../types/create_assistant_dto"
8
+ require_relative "../types/assistant_overrides"
9
+ require_relative "types/create_chat_dto_input"
10
+ require_relative "types/chats_create_response"
11
+ require_relative "../types/chat"
12
+ require_relative "types/open_ai_responses_request_input"
13
+ require_relative "types/chats_create_response_response"
14
+ require "async"
15
+
16
+ module Vapi
17
+ class ChatsClient
18
+ # @return [Vapi::RequestClient]
19
+ attr_reader :request_client
20
+
21
+ # @param request_client [Vapi::RequestClient]
22
+ # @return [Vapi::ChatsClient]
23
+ def initialize(request_client:)
24
+ @request_client = request_client
25
+ end
26
+
27
+ # @param assistant_id [String] This is the unique identifier for the assistant that will be used for the chat.
28
+ # @param workflow_id [String] This is the unique identifier for the workflow that will be used for the chat.
29
+ # @param session_id [String] This is the unique identifier for the session that will be used for the chat.
30
+ # @param page [Float] This is the page number to return. Defaults to 1.
31
+ # @param sort_order [Vapi::Chats::ChatsListRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'.
32
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
33
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
34
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
35
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
36
+ # specified value.
37
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
38
+ # specified value.
39
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
40
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
41
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
42
+ # specified value.
43
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
44
+ # specified value.
45
+ # @param request_options [Vapi::RequestOptions]
46
+ # @return [Vapi::ChatPaginatedResponse]
47
+ def list(assistant_id: nil, workflow_id: nil, session_id: nil, page: nil, sort_order: nil, limit: nil,
48
+ created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
49
+ response = @request_client.conn.get do |req|
50
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
51
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
52
+ req.headers = {
53
+ **(req.headers || {}),
54
+ **@request_client.get_headers,
55
+ **(request_options&.additional_headers || {})
56
+ }.compact
57
+ req.params = {
58
+ **(request_options&.additional_query_parameters || {}),
59
+ "assistantId": assistant_id,
60
+ "workflowId": workflow_id,
61
+ "sessionId": session_id,
62
+ "page": page,
63
+ "sortOrder": sort_order,
64
+ "limit": limit,
65
+ "createdAtGt": created_at_gt,
66
+ "createdAtLt": created_at_lt,
67
+ "createdAtGe": created_at_ge,
68
+ "createdAtLe": created_at_le,
69
+ "updatedAtGt": updated_at_gt,
70
+ "updatedAtLt": updated_at_lt,
71
+ "updatedAtGe": updated_at_ge,
72
+ "updatedAtLe": updated_at_le
73
+ }.compact
74
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
75
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
76
+ end
77
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat"
78
+ end
79
+ Vapi::ChatPaginatedResponse.from_json(json_object: response.body)
80
+ end
81
+
82
+ # Creates a new chat. Requires at least one of: assistantId/assistant, sessionId,
83
+ # or previousChatId. Note: sessionId and previousChatId are mutually exclusive.
84
+ #
85
+ # @param assistant_id [String] This is the assistant that will be used for the chat. To use an existing
86
+ # assistant, use `assistantId` instead.
87
+ # @param assistant [Hash] This is the assistant that will be used for the chat. To use an existing
88
+ # assistant, use `assistantId` instead.Request of type Vapi::CreateAssistantDto, as a Hash
89
+ # * :transcriber (Hash)
90
+ # * :model (Hash)
91
+ # * :voice (Hash)
92
+ # * :first_message (String)
93
+ # * :first_message_interruptions_enabled (Boolean)
94
+ # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
95
+ # * :voicemail_detection (Hash)
96
+ # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
97
+ # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
98
+ # * :silence_timeout_seconds (Float)
99
+ # * :max_duration_seconds (Float)
100
+ # * :background_sound (Hash)
101
+ # * :background_denoising_enabled (Boolean)
102
+ # * :model_output_in_messages_enabled (Boolean)
103
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
104
+ # * :observability_plan (Hash)
105
+ # * :provider (String)
106
+ # * :tags (Array<String>)
107
+ # * :metadata (Hash{String => Object})
108
+ # * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
109
+ # * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
110
+ # * :name (String)
111
+ # * :voicemail_message (String)
112
+ # * :end_call_message (String)
113
+ # * :end_call_phrases (Array<String>)
114
+ # * :compliance_plan (Hash)
115
+ # * :hipaa_enabled (Boolean)
116
+ # * :pci_enabled (Boolean)
117
+ # * :metadata (Hash{String => Object})
118
+ # * :background_speech_denoising_plan (Hash)
119
+ # * :smart_denoising_plan (Hash)
120
+ # * :enabled (Boolean)
121
+ # * :fourier_denoising_plan (Hash)
122
+ # * :enabled (Boolean)
123
+ # * :media_detection_enabled (Boolean)
124
+ # * :static_threshold (Float)
125
+ # * :baseline_offset_db (Float)
126
+ # * :window_size_ms (Float)
127
+ # * :baseline_percentile (Float)
128
+ # * :analysis_plan (Hash)
129
+ # * :min_messages_threshold (Float)
130
+ # * :summary_plan (Hash)
131
+ # * :messages (Array<Hash{String => Object}>)
132
+ # * :enabled (Boolean)
133
+ # * :timeout_seconds (Float)
134
+ # * :structured_data_plan (Hash)
135
+ # * :messages (Array<Hash{String => Object}>)
136
+ # * :enabled (Boolean)
137
+ # * :schema (Hash)
138
+ # * :type (Vapi::JsonSchemaType)
139
+ # * :items (Hash{String => Object})
140
+ # * :properties (Hash{String => Object})
141
+ # * :description (String)
142
+ # * :pattern (String)
143
+ # * :format (Vapi::JsonSchemaFormat)
144
+ # * :required (Array<String>)
145
+ # * :enum (Array<String>)
146
+ # * :title (String)
147
+ # * :timeout_seconds (Float)
148
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
149
+ # * :success_evaluation_plan (Hash)
150
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
151
+ # * :messages (Array<Hash{String => Object}>)
152
+ # * :enabled (Boolean)
153
+ # * :timeout_seconds (Float)
154
+ # * :artifact_plan (Hash)
155
+ # * :recording_enabled (Boolean)
156
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
157
+ # * :video_recording_enabled (Boolean)
158
+ # * :pcap_enabled (Boolean)
159
+ # * :pcap_s_3_path_prefix (String)
160
+ # * :transcript_plan (Hash)
161
+ # * :enabled (Boolean)
162
+ # * :assistant_name (String)
163
+ # * :user_name (String)
164
+ # * :recording_path (String)
165
+ # * :message_plan (Hash)
166
+ # * :idle_messages (Array<String>)
167
+ # * :idle_message_max_spoken_count (Float)
168
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
169
+ # * :idle_timeout_seconds (Float)
170
+ # * :silence_timeout_message (String)
171
+ # * :start_speaking_plan (Hash)
172
+ # * :wait_seconds (Float)
173
+ # * :smart_endpointing_enabled (Hash)
174
+ # * :smart_endpointing_plan (Hash)
175
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
176
+ # * :transcription_endpointing_plan (Hash)
177
+ # * :on_punctuation_seconds (Float)
178
+ # * :on_no_punctuation_seconds (Float)
179
+ # * :on_number_seconds (Float)
180
+ # * :stop_speaking_plan (Hash)
181
+ # * :num_words (Float)
182
+ # * :voice_seconds (Float)
183
+ # * :backoff_seconds (Float)
184
+ # * :acknowledgement_phrases (Array<String>)
185
+ # * :interruption_phrases (Array<String>)
186
+ # * :monitor_plan (Hash)
187
+ # * :listen_enabled (Boolean)
188
+ # * :listen_authentication_enabled (Boolean)
189
+ # * :control_enabled (Boolean)
190
+ # * :control_authentication_enabled (Boolean)
191
+ # * :credential_ids (Array<String>)
192
+ # * :server (Hash)
193
+ # * :timeout_seconds (Float)
194
+ # * :url (String)
195
+ # * :headers (Hash{String => Object})
196
+ # * :backoff_plan (Hash)
197
+ # * :type (Hash{String => Object})
198
+ # * :max_retries (Float)
199
+ # * :base_delay_seconds (Float)
200
+ # * :keypad_input_plan (Hash)
201
+ # * :enabled (Boolean)
202
+ # * :timeout_seconds (Float)
203
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
204
+ # @param assistant_overrides [Hash] These are the variable values that will be used to replace template variables in
205
+ # the assistant messages.
206
+ # Only variable substitution is supported in chat contexts - other assistant
207
+ # properties cannot be overridden.Request of type Vapi::AssistantOverrides, as a Hash
208
+ # * :transcriber (Hash)
209
+ # * :model (Hash)
210
+ # * :voice (Hash)
211
+ # * :first_message (String)
212
+ # * :first_message_interruptions_enabled (Boolean)
213
+ # * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
214
+ # * :voicemail_detection (Hash)
215
+ # * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
216
+ # * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
217
+ # * :silence_timeout_seconds (Float)
218
+ # * :max_duration_seconds (Float)
219
+ # * :background_sound (Hash)
220
+ # * :background_denoising_enabled (Boolean)
221
+ # * :model_output_in_messages_enabled (Boolean)
222
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
223
+ # * :observability_plan (Hash)
224
+ # * :provider (String)
225
+ # * :tags (Array<String>)
226
+ # * :metadata (Hash{String => Object})
227
+ # * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
228
+ # * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
229
+ # * :variable_values (Hash{String => Object})
230
+ # * :name (String)
231
+ # * :voicemail_message (String)
232
+ # * :end_call_message (String)
233
+ # * :end_call_phrases (Array<String>)
234
+ # * :compliance_plan (Hash)
235
+ # * :hipaa_enabled (Boolean)
236
+ # * :pci_enabled (Boolean)
237
+ # * :metadata (Hash{String => Object})
238
+ # * :background_speech_denoising_plan (Hash)
239
+ # * :smart_denoising_plan (Hash)
240
+ # * :enabled (Boolean)
241
+ # * :fourier_denoising_plan (Hash)
242
+ # * :enabled (Boolean)
243
+ # * :media_detection_enabled (Boolean)
244
+ # * :static_threshold (Float)
245
+ # * :baseline_offset_db (Float)
246
+ # * :window_size_ms (Float)
247
+ # * :baseline_percentile (Float)
248
+ # * :analysis_plan (Hash)
249
+ # * :min_messages_threshold (Float)
250
+ # * :summary_plan (Hash)
251
+ # * :messages (Array<Hash{String => Object}>)
252
+ # * :enabled (Boolean)
253
+ # * :timeout_seconds (Float)
254
+ # * :structured_data_plan (Hash)
255
+ # * :messages (Array<Hash{String => Object}>)
256
+ # * :enabled (Boolean)
257
+ # * :schema (Hash)
258
+ # * :type (Vapi::JsonSchemaType)
259
+ # * :items (Hash{String => Object})
260
+ # * :properties (Hash{String => Object})
261
+ # * :description (String)
262
+ # * :pattern (String)
263
+ # * :format (Vapi::JsonSchemaFormat)
264
+ # * :required (Array<String>)
265
+ # * :enum (Array<String>)
266
+ # * :title (String)
267
+ # * :timeout_seconds (Float)
268
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
269
+ # * :success_evaluation_plan (Hash)
270
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
271
+ # * :messages (Array<Hash{String => Object}>)
272
+ # * :enabled (Boolean)
273
+ # * :timeout_seconds (Float)
274
+ # * :artifact_plan (Hash)
275
+ # * :recording_enabled (Boolean)
276
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
277
+ # * :video_recording_enabled (Boolean)
278
+ # * :pcap_enabled (Boolean)
279
+ # * :pcap_s_3_path_prefix (String)
280
+ # * :transcript_plan (Hash)
281
+ # * :enabled (Boolean)
282
+ # * :assistant_name (String)
283
+ # * :user_name (String)
284
+ # * :recording_path (String)
285
+ # * :message_plan (Hash)
286
+ # * :idle_messages (Array<String>)
287
+ # * :idle_message_max_spoken_count (Float)
288
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
289
+ # * :idle_timeout_seconds (Float)
290
+ # * :silence_timeout_message (String)
291
+ # * :start_speaking_plan (Hash)
292
+ # * :wait_seconds (Float)
293
+ # * :smart_endpointing_enabled (Hash)
294
+ # * :smart_endpointing_plan (Hash)
295
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
296
+ # * :transcription_endpointing_plan (Hash)
297
+ # * :on_punctuation_seconds (Float)
298
+ # * :on_no_punctuation_seconds (Float)
299
+ # * :on_number_seconds (Float)
300
+ # * :stop_speaking_plan (Hash)
301
+ # * :num_words (Float)
302
+ # * :voice_seconds (Float)
303
+ # * :backoff_seconds (Float)
304
+ # * :acknowledgement_phrases (Array<String>)
305
+ # * :interruption_phrases (Array<String>)
306
+ # * :monitor_plan (Hash)
307
+ # * :listen_enabled (Boolean)
308
+ # * :listen_authentication_enabled (Boolean)
309
+ # * :control_enabled (Boolean)
310
+ # * :control_authentication_enabled (Boolean)
311
+ # * :credential_ids (Array<String>)
312
+ # * :server (Hash)
313
+ # * :timeout_seconds (Float)
314
+ # * :url (String)
315
+ # * :headers (Hash{String => Object})
316
+ # * :backoff_plan (Hash)
317
+ # * :type (Hash{String => Object})
318
+ # * :max_retries (Float)
319
+ # * :base_delay_seconds (Float)
320
+ # * :keypad_input_plan (Hash)
321
+ # * :enabled (Boolean)
322
+ # * :timeout_seconds (Float)
323
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
324
+ # @param name [String] This is the name of the chat. This is just for your own reference.
325
+ # @param session_id [String] This is the ID of the session that will be used for the chat.
326
+ # Mutually exclusive with previousChatId.
327
+ # @param input [String, Array<Vapi::Chats::CreateChatDtoInputItem>] This is the input text for the chat.
328
+ # Can be a string or an array of chat messages.
329
+ # This field is REQUIRED for chat creation.
330
+ # @param stream [Boolean] This is a flag that determines whether the response should be streamed.
331
+ # When true, the response will be sent as chunks of text.
332
+ # @param previous_chat_id [String] This is the ID of the chat that will be used as context for the new chat.
333
+ # The messages from the previous chat will be used as context.
334
+ # Mutually exclusive with sessionId.
335
+ # @param request_options [Vapi::RequestOptions]
336
+ # @return [Vapi::Chat, Vapi::CreateChatStreamResponse]
337
+ def create(input:, assistant_id: nil, assistant: nil, assistant_overrides: nil, name: nil, session_id: nil,
338
+ stream: nil, previous_chat_id: nil, request_options: nil)
339
+ response = @request_client.conn.post do |req|
340
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
341
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
342
+ req.headers = {
343
+ **(req.headers || {}),
344
+ **@request_client.get_headers,
345
+ **(request_options&.additional_headers || {})
346
+ }.compact
347
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
348
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
349
+ end
350
+ req.body = {
351
+ **(request_options&.additional_body_parameters || {}),
352
+ assistantId: assistant_id,
353
+ assistant: assistant,
354
+ assistantOverrides: assistant_overrides,
355
+ name: name,
356
+ sessionId: session_id,
357
+ input: input,
358
+ stream: stream,
359
+ previousChatId: previous_chat_id
360
+ }.compact
361
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat"
362
+ end
363
+ Vapi::Chats::ChatsCreateResponse.from_json(json_object: response.body)
364
+ end
365
+
366
+ # @param id [String]
367
+ # @param request_options [Vapi::RequestOptions]
368
+ # @return [Vapi::Chat]
369
+ def get(id:, request_options: nil)
370
+ response = @request_client.conn.get do |req|
371
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
372
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
373
+ req.headers = {
374
+ **(req.headers || {}),
375
+ **@request_client.get_headers,
376
+ **(request_options&.additional_headers || {})
377
+ }.compact
378
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
379
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
380
+ end
381
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
382
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
383
+ end
384
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/#{id}"
385
+ end
386
+ Vapi::Chat.from_json(json_object: response.body)
387
+ end
388
+
389
+ # @param id [String]
390
+ # @param request_options [Vapi::RequestOptions]
391
+ # @return [Vapi::Chat]
392
+ def delete(id:, request_options: nil)
393
+ response = @request_client.conn.delete do |req|
394
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
395
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
396
+ req.headers = {
397
+ **(req.headers || {}),
398
+ **@request_client.get_headers,
399
+ **(request_options&.additional_headers || {})
400
+ }.compact
401
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
402
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
403
+ end
404
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
405
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
406
+ end
407
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/#{id}"
408
+ end
409
+ Vapi::Chat.from_json(json_object: response.body)
410
+ end
411
+
412
+ # @param assistant_id [String] This is the assistant that will be used for the chat. To use an existing
413
+ # assistant, use `assistantId` instead.
414
+ # @param assistant [Hash] This is the assistant that will be used for the chat. To use an existing
415
+ # assistant, use `assistantId` instead.Request of type Vapi::CreateAssistantDto, as a Hash
416
+ # * :transcriber (Hash)
417
+ # * :model (Hash)
418
+ # * :voice (Hash)
419
+ # * :first_message (String)
420
+ # * :first_message_interruptions_enabled (Boolean)
421
+ # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
422
+ # * :voicemail_detection (Hash)
423
+ # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
424
+ # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
425
+ # * :silence_timeout_seconds (Float)
426
+ # * :max_duration_seconds (Float)
427
+ # * :background_sound (Hash)
428
+ # * :background_denoising_enabled (Boolean)
429
+ # * :model_output_in_messages_enabled (Boolean)
430
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
431
+ # * :observability_plan (Hash)
432
+ # * :provider (String)
433
+ # * :tags (Array<String>)
434
+ # * :metadata (Hash{String => Object})
435
+ # * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
436
+ # * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
437
+ # * :name (String)
438
+ # * :voicemail_message (String)
439
+ # * :end_call_message (String)
440
+ # * :end_call_phrases (Array<String>)
441
+ # * :compliance_plan (Hash)
442
+ # * :hipaa_enabled (Boolean)
443
+ # * :pci_enabled (Boolean)
444
+ # * :metadata (Hash{String => Object})
445
+ # * :background_speech_denoising_plan (Hash)
446
+ # * :smart_denoising_plan (Hash)
447
+ # * :enabled (Boolean)
448
+ # * :fourier_denoising_plan (Hash)
449
+ # * :enabled (Boolean)
450
+ # * :media_detection_enabled (Boolean)
451
+ # * :static_threshold (Float)
452
+ # * :baseline_offset_db (Float)
453
+ # * :window_size_ms (Float)
454
+ # * :baseline_percentile (Float)
455
+ # * :analysis_plan (Hash)
456
+ # * :min_messages_threshold (Float)
457
+ # * :summary_plan (Hash)
458
+ # * :messages (Array<Hash{String => Object}>)
459
+ # * :enabled (Boolean)
460
+ # * :timeout_seconds (Float)
461
+ # * :structured_data_plan (Hash)
462
+ # * :messages (Array<Hash{String => Object}>)
463
+ # * :enabled (Boolean)
464
+ # * :schema (Hash)
465
+ # * :type (Vapi::JsonSchemaType)
466
+ # * :items (Hash{String => Object})
467
+ # * :properties (Hash{String => Object})
468
+ # * :description (String)
469
+ # * :pattern (String)
470
+ # * :format (Vapi::JsonSchemaFormat)
471
+ # * :required (Array<String>)
472
+ # * :enum (Array<String>)
473
+ # * :title (String)
474
+ # * :timeout_seconds (Float)
475
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
476
+ # * :success_evaluation_plan (Hash)
477
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
478
+ # * :messages (Array<Hash{String => Object}>)
479
+ # * :enabled (Boolean)
480
+ # * :timeout_seconds (Float)
481
+ # * :artifact_plan (Hash)
482
+ # * :recording_enabled (Boolean)
483
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
484
+ # * :video_recording_enabled (Boolean)
485
+ # * :pcap_enabled (Boolean)
486
+ # * :pcap_s_3_path_prefix (String)
487
+ # * :transcript_plan (Hash)
488
+ # * :enabled (Boolean)
489
+ # * :assistant_name (String)
490
+ # * :user_name (String)
491
+ # * :recording_path (String)
492
+ # * :message_plan (Hash)
493
+ # * :idle_messages (Array<String>)
494
+ # * :idle_message_max_spoken_count (Float)
495
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
496
+ # * :idle_timeout_seconds (Float)
497
+ # * :silence_timeout_message (String)
498
+ # * :start_speaking_plan (Hash)
499
+ # * :wait_seconds (Float)
500
+ # * :smart_endpointing_enabled (Hash)
501
+ # * :smart_endpointing_plan (Hash)
502
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
503
+ # * :transcription_endpointing_plan (Hash)
504
+ # * :on_punctuation_seconds (Float)
505
+ # * :on_no_punctuation_seconds (Float)
506
+ # * :on_number_seconds (Float)
507
+ # * :stop_speaking_plan (Hash)
508
+ # * :num_words (Float)
509
+ # * :voice_seconds (Float)
510
+ # * :backoff_seconds (Float)
511
+ # * :acknowledgement_phrases (Array<String>)
512
+ # * :interruption_phrases (Array<String>)
513
+ # * :monitor_plan (Hash)
514
+ # * :listen_enabled (Boolean)
515
+ # * :listen_authentication_enabled (Boolean)
516
+ # * :control_enabled (Boolean)
517
+ # * :control_authentication_enabled (Boolean)
518
+ # * :credential_ids (Array<String>)
519
+ # * :server (Hash)
520
+ # * :timeout_seconds (Float)
521
+ # * :url (String)
522
+ # * :headers (Hash{String => Object})
523
+ # * :backoff_plan (Hash)
524
+ # * :type (Hash{String => Object})
525
+ # * :max_retries (Float)
526
+ # * :base_delay_seconds (Float)
527
+ # * :keypad_input_plan (Hash)
528
+ # * :enabled (Boolean)
529
+ # * :timeout_seconds (Float)
530
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
531
+ # @param assistant_overrides [Hash] These are the variable values that will be used to replace template variables in
532
+ # the assistant messages.
533
+ # Only variable substitution is supported in chat contexts - other assistant
534
+ # properties cannot be overridden.Request of type Vapi::AssistantOverrides, as a Hash
535
+ # * :transcriber (Hash)
536
+ # * :model (Hash)
537
+ # * :voice (Hash)
538
+ # * :first_message (String)
539
+ # * :first_message_interruptions_enabled (Boolean)
540
+ # * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
541
+ # * :voicemail_detection (Hash)
542
+ # * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
543
+ # * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
544
+ # * :silence_timeout_seconds (Float)
545
+ # * :max_duration_seconds (Float)
546
+ # * :background_sound (Hash)
547
+ # * :background_denoising_enabled (Boolean)
548
+ # * :model_output_in_messages_enabled (Boolean)
549
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
550
+ # * :observability_plan (Hash)
551
+ # * :provider (String)
552
+ # * :tags (Array<String>)
553
+ # * :metadata (Hash{String => Object})
554
+ # * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
555
+ # * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
556
+ # * :variable_values (Hash{String => Object})
557
+ # * :name (String)
558
+ # * :voicemail_message (String)
559
+ # * :end_call_message (String)
560
+ # * :end_call_phrases (Array<String>)
561
+ # * :compliance_plan (Hash)
562
+ # * :hipaa_enabled (Boolean)
563
+ # * :pci_enabled (Boolean)
564
+ # * :metadata (Hash{String => Object})
565
+ # * :background_speech_denoising_plan (Hash)
566
+ # * :smart_denoising_plan (Hash)
567
+ # * :enabled (Boolean)
568
+ # * :fourier_denoising_plan (Hash)
569
+ # * :enabled (Boolean)
570
+ # * :media_detection_enabled (Boolean)
571
+ # * :static_threshold (Float)
572
+ # * :baseline_offset_db (Float)
573
+ # * :window_size_ms (Float)
574
+ # * :baseline_percentile (Float)
575
+ # * :analysis_plan (Hash)
576
+ # * :min_messages_threshold (Float)
577
+ # * :summary_plan (Hash)
578
+ # * :messages (Array<Hash{String => Object}>)
579
+ # * :enabled (Boolean)
580
+ # * :timeout_seconds (Float)
581
+ # * :structured_data_plan (Hash)
582
+ # * :messages (Array<Hash{String => Object}>)
583
+ # * :enabled (Boolean)
584
+ # * :schema (Hash)
585
+ # * :type (Vapi::JsonSchemaType)
586
+ # * :items (Hash{String => Object})
587
+ # * :properties (Hash{String => Object})
588
+ # * :description (String)
589
+ # * :pattern (String)
590
+ # * :format (Vapi::JsonSchemaFormat)
591
+ # * :required (Array<String>)
592
+ # * :enum (Array<String>)
593
+ # * :title (String)
594
+ # * :timeout_seconds (Float)
595
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
596
+ # * :success_evaluation_plan (Hash)
597
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
598
+ # * :messages (Array<Hash{String => Object}>)
599
+ # * :enabled (Boolean)
600
+ # * :timeout_seconds (Float)
601
+ # * :artifact_plan (Hash)
602
+ # * :recording_enabled (Boolean)
603
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
604
+ # * :video_recording_enabled (Boolean)
605
+ # * :pcap_enabled (Boolean)
606
+ # * :pcap_s_3_path_prefix (String)
607
+ # * :transcript_plan (Hash)
608
+ # * :enabled (Boolean)
609
+ # * :assistant_name (String)
610
+ # * :user_name (String)
611
+ # * :recording_path (String)
612
+ # * :message_plan (Hash)
613
+ # * :idle_messages (Array<String>)
614
+ # * :idle_message_max_spoken_count (Float)
615
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
616
+ # * :idle_timeout_seconds (Float)
617
+ # * :silence_timeout_message (String)
618
+ # * :start_speaking_plan (Hash)
619
+ # * :wait_seconds (Float)
620
+ # * :smart_endpointing_enabled (Hash)
621
+ # * :smart_endpointing_plan (Hash)
622
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
623
+ # * :transcription_endpointing_plan (Hash)
624
+ # * :on_punctuation_seconds (Float)
625
+ # * :on_no_punctuation_seconds (Float)
626
+ # * :on_number_seconds (Float)
627
+ # * :stop_speaking_plan (Hash)
628
+ # * :num_words (Float)
629
+ # * :voice_seconds (Float)
630
+ # * :backoff_seconds (Float)
631
+ # * :acknowledgement_phrases (Array<String>)
632
+ # * :interruption_phrases (Array<String>)
633
+ # * :monitor_plan (Hash)
634
+ # * :listen_enabled (Boolean)
635
+ # * :listen_authentication_enabled (Boolean)
636
+ # * :control_enabled (Boolean)
637
+ # * :control_authentication_enabled (Boolean)
638
+ # * :credential_ids (Array<String>)
639
+ # * :server (Hash)
640
+ # * :timeout_seconds (Float)
641
+ # * :url (String)
642
+ # * :headers (Hash{String => Object})
643
+ # * :backoff_plan (Hash)
644
+ # * :type (Hash{String => Object})
645
+ # * :max_retries (Float)
646
+ # * :base_delay_seconds (Float)
647
+ # * :keypad_input_plan (Hash)
648
+ # * :enabled (Boolean)
649
+ # * :timeout_seconds (Float)
650
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
651
+ # @param name [String] This is the name of the chat. This is just for your own reference.
652
+ # @param session_id [String] This is the ID of the session that will be used for the chat.
653
+ # Mutually exclusive with previousChatId.
654
+ # @param input [String, Array<Vapi::Chats::OpenAiResponsesRequestInputItem>] This is the input text for the chat.
655
+ # Can be a string or an array of chat messages.
656
+ # This field is REQUIRED for chat creation.
657
+ # @param stream [Boolean] Whether to stream the response or not.
658
+ # @param previous_chat_id [String] This is the ID of the chat that will be used as context for the new chat.
659
+ # The messages from the previous chat will be used as context.
660
+ # Mutually exclusive with sessionId.
661
+ # @param request_options [Vapi::RequestOptions]
662
+ # @return [Vapi::ResponseObject, Vapi::ResponseTextDeltaEvent, Vapi::ResponseTextDoneEvent, Vapi::ResponseCompletedEvent, Vapi::ResponseErrorEvent]
663
+ def create_response(input:, assistant_id: nil, assistant: nil, assistant_overrides: nil, name: nil,
664
+ session_id: nil, stream: nil, previous_chat_id: nil, request_options: nil)
665
+ response = @request_client.conn.post do |req|
666
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
667
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
668
+ req.headers = {
669
+ **(req.headers || {}),
670
+ **@request_client.get_headers,
671
+ **(request_options&.additional_headers || {})
672
+ }.compact
673
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
674
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
675
+ end
676
+ req.body = {
677
+ **(request_options&.additional_body_parameters || {}),
678
+ assistantId: assistant_id,
679
+ assistant: assistant,
680
+ assistantOverrides: assistant_overrides,
681
+ name: name,
682
+ sessionId: session_id,
683
+ input: input,
684
+ stream: stream,
685
+ previousChatId: previous_chat_id
686
+ }.compact
687
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/responses"
688
+ end
689
+ Vapi::Chats::ChatsCreateResponseResponse.from_json(json_object: response.body)
690
+ end
691
+ end
692
+
693
+ class AsyncChatsClient
694
+ # @return [Vapi::AsyncRequestClient]
695
+ attr_reader :request_client
696
+
697
+ # @param request_client [Vapi::AsyncRequestClient]
698
+ # @return [Vapi::AsyncChatsClient]
699
+ def initialize(request_client:)
700
+ @request_client = request_client
701
+ end
702
+
703
+ # @param assistant_id [String] This is the unique identifier for the assistant that will be used for the chat.
704
+ # @param workflow_id [String] This is the unique identifier for the workflow that will be used for the chat.
705
+ # @param session_id [String] This is the unique identifier for the session that will be used for the chat.
706
+ # @param page [Float] This is the page number to return. Defaults to 1.
707
+ # @param sort_order [Vapi::Chats::ChatsListRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'.
708
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
709
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
710
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
711
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
712
+ # specified value.
713
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
714
+ # specified value.
715
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
716
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
717
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
718
+ # specified value.
719
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
720
+ # specified value.
721
+ # @param request_options [Vapi::RequestOptions]
722
+ # @return [Vapi::ChatPaginatedResponse]
723
+ def list(assistant_id: nil, workflow_id: nil, session_id: nil, page: nil, sort_order: nil, limit: nil,
724
+ created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
725
+ Async do
726
+ response = @request_client.conn.get do |req|
727
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
728
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
729
+ req.headers = {
730
+ **(req.headers || {}),
731
+ **@request_client.get_headers,
732
+ **(request_options&.additional_headers || {})
733
+ }.compact
734
+ req.params = {
735
+ **(request_options&.additional_query_parameters || {}),
736
+ "assistantId": assistant_id,
737
+ "workflowId": workflow_id,
738
+ "sessionId": session_id,
739
+ "page": page,
740
+ "sortOrder": sort_order,
741
+ "limit": limit,
742
+ "createdAtGt": created_at_gt,
743
+ "createdAtLt": created_at_lt,
744
+ "createdAtGe": created_at_ge,
745
+ "createdAtLe": created_at_le,
746
+ "updatedAtGt": updated_at_gt,
747
+ "updatedAtLt": updated_at_lt,
748
+ "updatedAtGe": updated_at_ge,
749
+ "updatedAtLe": updated_at_le
750
+ }.compact
751
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
752
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
753
+ end
754
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat"
755
+ end
756
+ Vapi::ChatPaginatedResponse.from_json(json_object: response.body)
757
+ end
758
+ end
759
+
760
+ # Creates a new chat. Requires at least one of: assistantId/assistant, sessionId,
761
+ # or previousChatId. Note: sessionId and previousChatId are mutually exclusive.
762
+ #
763
+ # @param assistant_id [String] This is the assistant that will be used for the chat. To use an existing
764
+ # assistant, use `assistantId` instead.
765
+ # @param assistant [Hash] This is the assistant that will be used for the chat. To use an existing
766
+ # assistant, use `assistantId` instead.Request of type Vapi::CreateAssistantDto, as a Hash
767
+ # * :transcriber (Hash)
768
+ # * :model (Hash)
769
+ # * :voice (Hash)
770
+ # * :first_message (String)
771
+ # * :first_message_interruptions_enabled (Boolean)
772
+ # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
773
+ # * :voicemail_detection (Hash)
774
+ # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
775
+ # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
776
+ # * :silence_timeout_seconds (Float)
777
+ # * :max_duration_seconds (Float)
778
+ # * :background_sound (Hash)
779
+ # * :background_denoising_enabled (Boolean)
780
+ # * :model_output_in_messages_enabled (Boolean)
781
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
782
+ # * :observability_plan (Hash)
783
+ # * :provider (String)
784
+ # * :tags (Array<String>)
785
+ # * :metadata (Hash{String => Object})
786
+ # * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
787
+ # * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
788
+ # * :name (String)
789
+ # * :voicemail_message (String)
790
+ # * :end_call_message (String)
791
+ # * :end_call_phrases (Array<String>)
792
+ # * :compliance_plan (Hash)
793
+ # * :hipaa_enabled (Boolean)
794
+ # * :pci_enabled (Boolean)
795
+ # * :metadata (Hash{String => Object})
796
+ # * :background_speech_denoising_plan (Hash)
797
+ # * :smart_denoising_plan (Hash)
798
+ # * :enabled (Boolean)
799
+ # * :fourier_denoising_plan (Hash)
800
+ # * :enabled (Boolean)
801
+ # * :media_detection_enabled (Boolean)
802
+ # * :static_threshold (Float)
803
+ # * :baseline_offset_db (Float)
804
+ # * :window_size_ms (Float)
805
+ # * :baseline_percentile (Float)
806
+ # * :analysis_plan (Hash)
807
+ # * :min_messages_threshold (Float)
808
+ # * :summary_plan (Hash)
809
+ # * :messages (Array<Hash{String => Object}>)
810
+ # * :enabled (Boolean)
811
+ # * :timeout_seconds (Float)
812
+ # * :structured_data_plan (Hash)
813
+ # * :messages (Array<Hash{String => Object}>)
814
+ # * :enabled (Boolean)
815
+ # * :schema (Hash)
816
+ # * :type (Vapi::JsonSchemaType)
817
+ # * :items (Hash{String => Object})
818
+ # * :properties (Hash{String => Object})
819
+ # * :description (String)
820
+ # * :pattern (String)
821
+ # * :format (Vapi::JsonSchemaFormat)
822
+ # * :required (Array<String>)
823
+ # * :enum (Array<String>)
824
+ # * :title (String)
825
+ # * :timeout_seconds (Float)
826
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
827
+ # * :success_evaluation_plan (Hash)
828
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
829
+ # * :messages (Array<Hash{String => Object}>)
830
+ # * :enabled (Boolean)
831
+ # * :timeout_seconds (Float)
832
+ # * :artifact_plan (Hash)
833
+ # * :recording_enabled (Boolean)
834
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
835
+ # * :video_recording_enabled (Boolean)
836
+ # * :pcap_enabled (Boolean)
837
+ # * :pcap_s_3_path_prefix (String)
838
+ # * :transcript_plan (Hash)
839
+ # * :enabled (Boolean)
840
+ # * :assistant_name (String)
841
+ # * :user_name (String)
842
+ # * :recording_path (String)
843
+ # * :message_plan (Hash)
844
+ # * :idle_messages (Array<String>)
845
+ # * :idle_message_max_spoken_count (Float)
846
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
847
+ # * :idle_timeout_seconds (Float)
848
+ # * :silence_timeout_message (String)
849
+ # * :start_speaking_plan (Hash)
850
+ # * :wait_seconds (Float)
851
+ # * :smart_endpointing_enabled (Hash)
852
+ # * :smart_endpointing_plan (Hash)
853
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
854
+ # * :transcription_endpointing_plan (Hash)
855
+ # * :on_punctuation_seconds (Float)
856
+ # * :on_no_punctuation_seconds (Float)
857
+ # * :on_number_seconds (Float)
858
+ # * :stop_speaking_plan (Hash)
859
+ # * :num_words (Float)
860
+ # * :voice_seconds (Float)
861
+ # * :backoff_seconds (Float)
862
+ # * :acknowledgement_phrases (Array<String>)
863
+ # * :interruption_phrases (Array<String>)
864
+ # * :monitor_plan (Hash)
865
+ # * :listen_enabled (Boolean)
866
+ # * :listen_authentication_enabled (Boolean)
867
+ # * :control_enabled (Boolean)
868
+ # * :control_authentication_enabled (Boolean)
869
+ # * :credential_ids (Array<String>)
870
+ # * :server (Hash)
871
+ # * :timeout_seconds (Float)
872
+ # * :url (String)
873
+ # * :headers (Hash{String => Object})
874
+ # * :backoff_plan (Hash)
875
+ # * :type (Hash{String => Object})
876
+ # * :max_retries (Float)
877
+ # * :base_delay_seconds (Float)
878
+ # * :keypad_input_plan (Hash)
879
+ # * :enabled (Boolean)
880
+ # * :timeout_seconds (Float)
881
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
882
+ # @param assistant_overrides [Hash] These are the variable values that will be used to replace template variables in
883
+ # the assistant messages.
884
+ # Only variable substitution is supported in chat contexts - other assistant
885
+ # properties cannot be overridden.Request of type Vapi::AssistantOverrides, as a Hash
886
+ # * :transcriber (Hash)
887
+ # * :model (Hash)
888
+ # * :voice (Hash)
889
+ # * :first_message (String)
890
+ # * :first_message_interruptions_enabled (Boolean)
891
+ # * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
892
+ # * :voicemail_detection (Hash)
893
+ # * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
894
+ # * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
895
+ # * :silence_timeout_seconds (Float)
896
+ # * :max_duration_seconds (Float)
897
+ # * :background_sound (Hash)
898
+ # * :background_denoising_enabled (Boolean)
899
+ # * :model_output_in_messages_enabled (Boolean)
900
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
901
+ # * :observability_plan (Hash)
902
+ # * :provider (String)
903
+ # * :tags (Array<String>)
904
+ # * :metadata (Hash{String => Object})
905
+ # * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
906
+ # * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
907
+ # * :variable_values (Hash{String => Object})
908
+ # * :name (String)
909
+ # * :voicemail_message (String)
910
+ # * :end_call_message (String)
911
+ # * :end_call_phrases (Array<String>)
912
+ # * :compliance_plan (Hash)
913
+ # * :hipaa_enabled (Boolean)
914
+ # * :pci_enabled (Boolean)
915
+ # * :metadata (Hash{String => Object})
916
+ # * :background_speech_denoising_plan (Hash)
917
+ # * :smart_denoising_plan (Hash)
918
+ # * :enabled (Boolean)
919
+ # * :fourier_denoising_plan (Hash)
920
+ # * :enabled (Boolean)
921
+ # * :media_detection_enabled (Boolean)
922
+ # * :static_threshold (Float)
923
+ # * :baseline_offset_db (Float)
924
+ # * :window_size_ms (Float)
925
+ # * :baseline_percentile (Float)
926
+ # * :analysis_plan (Hash)
927
+ # * :min_messages_threshold (Float)
928
+ # * :summary_plan (Hash)
929
+ # * :messages (Array<Hash{String => Object}>)
930
+ # * :enabled (Boolean)
931
+ # * :timeout_seconds (Float)
932
+ # * :structured_data_plan (Hash)
933
+ # * :messages (Array<Hash{String => Object}>)
934
+ # * :enabled (Boolean)
935
+ # * :schema (Hash)
936
+ # * :type (Vapi::JsonSchemaType)
937
+ # * :items (Hash{String => Object})
938
+ # * :properties (Hash{String => Object})
939
+ # * :description (String)
940
+ # * :pattern (String)
941
+ # * :format (Vapi::JsonSchemaFormat)
942
+ # * :required (Array<String>)
943
+ # * :enum (Array<String>)
944
+ # * :title (String)
945
+ # * :timeout_seconds (Float)
946
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
947
+ # * :success_evaluation_plan (Hash)
948
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
949
+ # * :messages (Array<Hash{String => Object}>)
950
+ # * :enabled (Boolean)
951
+ # * :timeout_seconds (Float)
952
+ # * :artifact_plan (Hash)
953
+ # * :recording_enabled (Boolean)
954
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
955
+ # * :video_recording_enabled (Boolean)
956
+ # * :pcap_enabled (Boolean)
957
+ # * :pcap_s_3_path_prefix (String)
958
+ # * :transcript_plan (Hash)
959
+ # * :enabled (Boolean)
960
+ # * :assistant_name (String)
961
+ # * :user_name (String)
962
+ # * :recording_path (String)
963
+ # * :message_plan (Hash)
964
+ # * :idle_messages (Array<String>)
965
+ # * :idle_message_max_spoken_count (Float)
966
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
967
+ # * :idle_timeout_seconds (Float)
968
+ # * :silence_timeout_message (String)
969
+ # * :start_speaking_plan (Hash)
970
+ # * :wait_seconds (Float)
971
+ # * :smart_endpointing_enabled (Hash)
972
+ # * :smart_endpointing_plan (Hash)
973
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
974
+ # * :transcription_endpointing_plan (Hash)
975
+ # * :on_punctuation_seconds (Float)
976
+ # * :on_no_punctuation_seconds (Float)
977
+ # * :on_number_seconds (Float)
978
+ # * :stop_speaking_plan (Hash)
979
+ # * :num_words (Float)
980
+ # * :voice_seconds (Float)
981
+ # * :backoff_seconds (Float)
982
+ # * :acknowledgement_phrases (Array<String>)
983
+ # * :interruption_phrases (Array<String>)
984
+ # * :monitor_plan (Hash)
985
+ # * :listen_enabled (Boolean)
986
+ # * :listen_authentication_enabled (Boolean)
987
+ # * :control_enabled (Boolean)
988
+ # * :control_authentication_enabled (Boolean)
989
+ # * :credential_ids (Array<String>)
990
+ # * :server (Hash)
991
+ # * :timeout_seconds (Float)
992
+ # * :url (String)
993
+ # * :headers (Hash{String => Object})
994
+ # * :backoff_plan (Hash)
995
+ # * :type (Hash{String => Object})
996
+ # * :max_retries (Float)
997
+ # * :base_delay_seconds (Float)
998
+ # * :keypad_input_plan (Hash)
999
+ # * :enabled (Boolean)
1000
+ # * :timeout_seconds (Float)
1001
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
1002
+ # @param name [String] This is the name of the chat. This is just for your own reference.
1003
+ # @param session_id [String] This is the ID of the session that will be used for the chat.
1004
+ # Mutually exclusive with previousChatId.
1005
+ # @param input [String, Array<Vapi::Chats::CreateChatDtoInputItem>] This is the input text for the chat.
1006
+ # Can be a string or an array of chat messages.
1007
+ # This field is REQUIRED for chat creation.
1008
+ # @param stream [Boolean] This is a flag that determines whether the response should be streamed.
1009
+ # When true, the response will be sent as chunks of text.
1010
+ # @param previous_chat_id [String] This is the ID of the chat that will be used as context for the new chat.
1011
+ # The messages from the previous chat will be used as context.
1012
+ # Mutually exclusive with sessionId.
1013
+ # @param request_options [Vapi::RequestOptions]
1014
+ # @return [Vapi::Chat, Vapi::CreateChatStreamResponse]
1015
+ def create(input:, assistant_id: nil, assistant: nil, assistant_overrides: nil, name: nil, session_id: nil,
1016
+ stream: nil, previous_chat_id: nil, request_options: nil)
1017
+ Async do
1018
+ response = @request_client.conn.post do |req|
1019
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1020
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1021
+ req.headers = {
1022
+ **(req.headers || {}),
1023
+ **@request_client.get_headers,
1024
+ **(request_options&.additional_headers || {})
1025
+ }.compact
1026
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1027
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1028
+ end
1029
+ req.body = {
1030
+ **(request_options&.additional_body_parameters || {}),
1031
+ assistantId: assistant_id,
1032
+ assistant: assistant,
1033
+ assistantOverrides: assistant_overrides,
1034
+ name: name,
1035
+ sessionId: session_id,
1036
+ input: input,
1037
+ stream: stream,
1038
+ previousChatId: previous_chat_id
1039
+ }.compact
1040
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat"
1041
+ end
1042
+ Vapi::Chats::ChatsCreateResponse.from_json(json_object: response.body)
1043
+ end
1044
+ end
1045
+
1046
+ # @param id [String]
1047
+ # @param request_options [Vapi::RequestOptions]
1048
+ # @return [Vapi::Chat]
1049
+ def get(id:, request_options: nil)
1050
+ Async do
1051
+ response = @request_client.conn.get do |req|
1052
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1053
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1054
+ req.headers = {
1055
+ **(req.headers || {}),
1056
+ **@request_client.get_headers,
1057
+ **(request_options&.additional_headers || {})
1058
+ }.compact
1059
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1060
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1061
+ end
1062
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1063
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1064
+ end
1065
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/#{id}"
1066
+ end
1067
+ Vapi::Chat.from_json(json_object: response.body)
1068
+ end
1069
+ end
1070
+
1071
+ # @param id [String]
1072
+ # @param request_options [Vapi::RequestOptions]
1073
+ # @return [Vapi::Chat]
1074
+ def delete(id:, request_options: nil)
1075
+ Async do
1076
+ response = @request_client.conn.delete do |req|
1077
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1078
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1079
+ req.headers = {
1080
+ **(req.headers || {}),
1081
+ **@request_client.get_headers,
1082
+ **(request_options&.additional_headers || {})
1083
+ }.compact
1084
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1085
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1086
+ end
1087
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1088
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1089
+ end
1090
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/#{id}"
1091
+ end
1092
+ Vapi::Chat.from_json(json_object: response.body)
1093
+ end
1094
+ end
1095
+
1096
+ # @param assistant_id [String] This is the assistant that will be used for the chat. To use an existing
1097
+ # assistant, use `assistantId` instead.
1098
+ # @param assistant [Hash] This is the assistant that will be used for the chat. To use an existing
1099
+ # assistant, use `assistantId` instead.Request of type Vapi::CreateAssistantDto, as a Hash
1100
+ # * :transcriber (Hash)
1101
+ # * :model (Hash)
1102
+ # * :voice (Hash)
1103
+ # * :first_message (String)
1104
+ # * :first_message_interruptions_enabled (Boolean)
1105
+ # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
1106
+ # * :voicemail_detection (Hash)
1107
+ # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
1108
+ # * :server_messages (Array<Vapi::CreateAssistantDtoServerMessagesItem>)
1109
+ # * :silence_timeout_seconds (Float)
1110
+ # * :max_duration_seconds (Float)
1111
+ # * :background_sound (Hash)
1112
+ # * :background_denoising_enabled (Boolean)
1113
+ # * :model_output_in_messages_enabled (Boolean)
1114
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
1115
+ # * :observability_plan (Hash)
1116
+ # * :provider (String)
1117
+ # * :tags (Array<String>)
1118
+ # * :metadata (Hash{String => Object})
1119
+ # * :credentials (Array<Vapi::CreateAssistantDtoCredentialsItem>)
1120
+ # * :hooks (Array<Vapi::CreateAssistantDtoHooksItem>)
1121
+ # * :name (String)
1122
+ # * :voicemail_message (String)
1123
+ # * :end_call_message (String)
1124
+ # * :end_call_phrases (Array<String>)
1125
+ # * :compliance_plan (Hash)
1126
+ # * :hipaa_enabled (Boolean)
1127
+ # * :pci_enabled (Boolean)
1128
+ # * :metadata (Hash{String => Object})
1129
+ # * :background_speech_denoising_plan (Hash)
1130
+ # * :smart_denoising_plan (Hash)
1131
+ # * :enabled (Boolean)
1132
+ # * :fourier_denoising_plan (Hash)
1133
+ # * :enabled (Boolean)
1134
+ # * :media_detection_enabled (Boolean)
1135
+ # * :static_threshold (Float)
1136
+ # * :baseline_offset_db (Float)
1137
+ # * :window_size_ms (Float)
1138
+ # * :baseline_percentile (Float)
1139
+ # * :analysis_plan (Hash)
1140
+ # * :min_messages_threshold (Float)
1141
+ # * :summary_plan (Hash)
1142
+ # * :messages (Array<Hash{String => Object}>)
1143
+ # * :enabled (Boolean)
1144
+ # * :timeout_seconds (Float)
1145
+ # * :structured_data_plan (Hash)
1146
+ # * :messages (Array<Hash{String => Object}>)
1147
+ # * :enabled (Boolean)
1148
+ # * :schema (Hash)
1149
+ # * :type (Vapi::JsonSchemaType)
1150
+ # * :items (Hash{String => Object})
1151
+ # * :properties (Hash{String => Object})
1152
+ # * :description (String)
1153
+ # * :pattern (String)
1154
+ # * :format (Vapi::JsonSchemaFormat)
1155
+ # * :required (Array<String>)
1156
+ # * :enum (Array<String>)
1157
+ # * :title (String)
1158
+ # * :timeout_seconds (Float)
1159
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
1160
+ # * :success_evaluation_plan (Hash)
1161
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
1162
+ # * :messages (Array<Hash{String => Object}>)
1163
+ # * :enabled (Boolean)
1164
+ # * :timeout_seconds (Float)
1165
+ # * :artifact_plan (Hash)
1166
+ # * :recording_enabled (Boolean)
1167
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
1168
+ # * :video_recording_enabled (Boolean)
1169
+ # * :pcap_enabled (Boolean)
1170
+ # * :pcap_s_3_path_prefix (String)
1171
+ # * :transcript_plan (Hash)
1172
+ # * :enabled (Boolean)
1173
+ # * :assistant_name (String)
1174
+ # * :user_name (String)
1175
+ # * :recording_path (String)
1176
+ # * :message_plan (Hash)
1177
+ # * :idle_messages (Array<String>)
1178
+ # * :idle_message_max_spoken_count (Float)
1179
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
1180
+ # * :idle_timeout_seconds (Float)
1181
+ # * :silence_timeout_message (String)
1182
+ # * :start_speaking_plan (Hash)
1183
+ # * :wait_seconds (Float)
1184
+ # * :smart_endpointing_enabled (Hash)
1185
+ # * :smart_endpointing_plan (Hash)
1186
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
1187
+ # * :transcription_endpointing_plan (Hash)
1188
+ # * :on_punctuation_seconds (Float)
1189
+ # * :on_no_punctuation_seconds (Float)
1190
+ # * :on_number_seconds (Float)
1191
+ # * :stop_speaking_plan (Hash)
1192
+ # * :num_words (Float)
1193
+ # * :voice_seconds (Float)
1194
+ # * :backoff_seconds (Float)
1195
+ # * :acknowledgement_phrases (Array<String>)
1196
+ # * :interruption_phrases (Array<String>)
1197
+ # * :monitor_plan (Hash)
1198
+ # * :listen_enabled (Boolean)
1199
+ # * :listen_authentication_enabled (Boolean)
1200
+ # * :control_enabled (Boolean)
1201
+ # * :control_authentication_enabled (Boolean)
1202
+ # * :credential_ids (Array<String>)
1203
+ # * :server (Hash)
1204
+ # * :timeout_seconds (Float)
1205
+ # * :url (String)
1206
+ # * :headers (Hash{String => Object})
1207
+ # * :backoff_plan (Hash)
1208
+ # * :type (Hash{String => Object})
1209
+ # * :max_retries (Float)
1210
+ # * :base_delay_seconds (Float)
1211
+ # * :keypad_input_plan (Hash)
1212
+ # * :enabled (Boolean)
1213
+ # * :timeout_seconds (Float)
1214
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
1215
+ # @param assistant_overrides [Hash] These are the variable values that will be used to replace template variables in
1216
+ # the assistant messages.
1217
+ # Only variable substitution is supported in chat contexts - other assistant
1218
+ # properties cannot be overridden.Request of type Vapi::AssistantOverrides, as a Hash
1219
+ # * :transcriber (Hash)
1220
+ # * :model (Hash)
1221
+ # * :voice (Hash)
1222
+ # * :first_message (String)
1223
+ # * :first_message_interruptions_enabled (Boolean)
1224
+ # * :first_message_mode (Vapi::AssistantOverridesFirstMessageMode)
1225
+ # * :voicemail_detection (Hash)
1226
+ # * :client_messages (Array<Vapi::AssistantOverridesClientMessagesItem>)
1227
+ # * :server_messages (Array<Vapi::AssistantOverridesServerMessagesItem>)
1228
+ # * :silence_timeout_seconds (Float)
1229
+ # * :max_duration_seconds (Float)
1230
+ # * :background_sound (Hash)
1231
+ # * :background_denoising_enabled (Boolean)
1232
+ # * :model_output_in_messages_enabled (Boolean)
1233
+ # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
1234
+ # * :observability_plan (Hash)
1235
+ # * :provider (String)
1236
+ # * :tags (Array<String>)
1237
+ # * :metadata (Hash{String => Object})
1238
+ # * :credentials (Array<Vapi::AssistantOverridesCredentialsItem>)
1239
+ # * :hooks (Array<Vapi::AssistantOverridesHooksItem>)
1240
+ # * :variable_values (Hash{String => Object})
1241
+ # * :name (String)
1242
+ # * :voicemail_message (String)
1243
+ # * :end_call_message (String)
1244
+ # * :end_call_phrases (Array<String>)
1245
+ # * :compliance_plan (Hash)
1246
+ # * :hipaa_enabled (Boolean)
1247
+ # * :pci_enabled (Boolean)
1248
+ # * :metadata (Hash{String => Object})
1249
+ # * :background_speech_denoising_plan (Hash)
1250
+ # * :smart_denoising_plan (Hash)
1251
+ # * :enabled (Boolean)
1252
+ # * :fourier_denoising_plan (Hash)
1253
+ # * :enabled (Boolean)
1254
+ # * :media_detection_enabled (Boolean)
1255
+ # * :static_threshold (Float)
1256
+ # * :baseline_offset_db (Float)
1257
+ # * :window_size_ms (Float)
1258
+ # * :baseline_percentile (Float)
1259
+ # * :analysis_plan (Hash)
1260
+ # * :min_messages_threshold (Float)
1261
+ # * :summary_plan (Hash)
1262
+ # * :messages (Array<Hash{String => Object}>)
1263
+ # * :enabled (Boolean)
1264
+ # * :timeout_seconds (Float)
1265
+ # * :structured_data_plan (Hash)
1266
+ # * :messages (Array<Hash{String => Object}>)
1267
+ # * :enabled (Boolean)
1268
+ # * :schema (Hash)
1269
+ # * :type (Vapi::JsonSchemaType)
1270
+ # * :items (Hash{String => Object})
1271
+ # * :properties (Hash{String => Object})
1272
+ # * :description (String)
1273
+ # * :pattern (String)
1274
+ # * :format (Vapi::JsonSchemaFormat)
1275
+ # * :required (Array<String>)
1276
+ # * :enum (Array<String>)
1277
+ # * :title (String)
1278
+ # * :timeout_seconds (Float)
1279
+ # * :structured_data_multi_plan (Array<Vapi::StructuredDataMultiPlan>)
1280
+ # * :success_evaluation_plan (Hash)
1281
+ # * :rubric (Vapi::SuccessEvaluationPlanRubric)
1282
+ # * :messages (Array<Hash{String => Object}>)
1283
+ # * :enabled (Boolean)
1284
+ # * :timeout_seconds (Float)
1285
+ # * :artifact_plan (Hash)
1286
+ # * :recording_enabled (Boolean)
1287
+ # * :recording_format (Vapi::ArtifactPlanRecordingFormat)
1288
+ # * :video_recording_enabled (Boolean)
1289
+ # * :pcap_enabled (Boolean)
1290
+ # * :pcap_s_3_path_prefix (String)
1291
+ # * :transcript_plan (Hash)
1292
+ # * :enabled (Boolean)
1293
+ # * :assistant_name (String)
1294
+ # * :user_name (String)
1295
+ # * :recording_path (String)
1296
+ # * :message_plan (Hash)
1297
+ # * :idle_messages (Array<String>)
1298
+ # * :idle_message_max_spoken_count (Float)
1299
+ # * :idle_message_reset_count_on_user_speech_enabled (Boolean)
1300
+ # * :idle_timeout_seconds (Float)
1301
+ # * :silence_timeout_message (String)
1302
+ # * :start_speaking_plan (Hash)
1303
+ # * :wait_seconds (Float)
1304
+ # * :smart_endpointing_enabled (Hash)
1305
+ # * :smart_endpointing_plan (Hash)
1306
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
1307
+ # * :transcription_endpointing_plan (Hash)
1308
+ # * :on_punctuation_seconds (Float)
1309
+ # * :on_no_punctuation_seconds (Float)
1310
+ # * :on_number_seconds (Float)
1311
+ # * :stop_speaking_plan (Hash)
1312
+ # * :num_words (Float)
1313
+ # * :voice_seconds (Float)
1314
+ # * :backoff_seconds (Float)
1315
+ # * :acknowledgement_phrases (Array<String>)
1316
+ # * :interruption_phrases (Array<String>)
1317
+ # * :monitor_plan (Hash)
1318
+ # * :listen_enabled (Boolean)
1319
+ # * :listen_authentication_enabled (Boolean)
1320
+ # * :control_enabled (Boolean)
1321
+ # * :control_authentication_enabled (Boolean)
1322
+ # * :credential_ids (Array<String>)
1323
+ # * :server (Hash)
1324
+ # * :timeout_seconds (Float)
1325
+ # * :url (String)
1326
+ # * :headers (Hash{String => Object})
1327
+ # * :backoff_plan (Hash)
1328
+ # * :type (Hash{String => Object})
1329
+ # * :max_retries (Float)
1330
+ # * :base_delay_seconds (Float)
1331
+ # * :keypad_input_plan (Hash)
1332
+ # * :enabled (Boolean)
1333
+ # * :timeout_seconds (Float)
1334
+ # * :delimiters (Vapi::KeypadInputPlanDelimiters)
1335
+ # @param name [String] This is the name of the chat. This is just for your own reference.
1336
+ # @param session_id [String] This is the ID of the session that will be used for the chat.
1337
+ # Mutually exclusive with previousChatId.
1338
+ # @param input [String, Array<Vapi::Chats::OpenAiResponsesRequestInputItem>] This is the input text for the chat.
1339
+ # Can be a string or an array of chat messages.
1340
+ # This field is REQUIRED for chat creation.
1341
+ # @param stream [Boolean] Whether to stream the response or not.
1342
+ # @param previous_chat_id [String] This is the ID of the chat that will be used as context for the new chat.
1343
+ # The messages from the previous chat will be used as context.
1344
+ # Mutually exclusive with sessionId.
1345
+ # @param request_options [Vapi::RequestOptions]
1346
+ # @return [Vapi::ResponseObject, Vapi::ResponseTextDeltaEvent, Vapi::ResponseTextDoneEvent, Vapi::ResponseCompletedEvent, Vapi::ResponseErrorEvent]
1347
+ def create_response(input:, assistant_id: nil, assistant: nil, assistant_overrides: nil, name: nil,
1348
+ session_id: nil, stream: nil, previous_chat_id: nil, request_options: nil)
1349
+ Async do
1350
+ response = @request_client.conn.post do |req|
1351
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1352
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1353
+ req.headers = {
1354
+ **(req.headers || {}),
1355
+ **@request_client.get_headers,
1356
+ **(request_options&.additional_headers || {})
1357
+ }.compact
1358
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1359
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1360
+ end
1361
+ req.body = {
1362
+ **(request_options&.additional_body_parameters || {}),
1363
+ assistantId: assistant_id,
1364
+ assistant: assistant,
1365
+ assistantOverrides: assistant_overrides,
1366
+ name: name,
1367
+ sessionId: session_id,
1368
+ input: input,
1369
+ stream: stream,
1370
+ previousChatId: previous_chat_id
1371
+ }.compact
1372
+ req.url "#{@request_client.get_url(request_options: request_options)}/chat/responses"
1373
+ end
1374
+ Vapi::Chats::ChatsCreateResponseResponse.from_json(json_object: response.body)
1375
+ end
1376
+ end
1377
+ end
1378
+ end