vapi_server_sdk 0.1.0 → 0.2.0

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 (356) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +184 -26
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +57 -60
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +58 -28
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  14. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  19. data/lib/vapi_server_sdk/logs/client.rb +10 -6
  20. data/lib/vapi_server_sdk/squads/client.rb +56 -32
  21. data/lib/vapi_server_sdk/tools/client.rb +4 -0
  22. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  23. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  24. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  25. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  26. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  27. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  28. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  29. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  30. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  31. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  32. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  33. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  34. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  35. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  36. data/lib/vapi_server_sdk/types/assistant.rb +42 -64
  37. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  38. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  39. data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
  40. data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
  41. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
  43. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
  45. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
  46. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  47. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
  48. data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
  49. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  50. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
  51. data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
  52. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  53. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
  54. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  55. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
  56. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  57. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  58. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  59. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  60. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  61. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  62. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  63. data/lib/vapi_server_sdk/types/call.rb +15 -1
  64. data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
  65. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  66. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  67. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  68. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  69. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  70. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  71. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  72. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  73. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  74. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  75. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  76. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  77. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  78. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  79. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  80. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  81. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  82. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  83. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
  84. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
  85. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
  86. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
  87. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  88. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
  89. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  90. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
  91. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
  92. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
  93. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  94. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
  95. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  96. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
  97. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  98. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  99. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
  100. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
  101. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  102. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  103. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  104. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
  105. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
  106. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
  107. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
  108. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
  109. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
  110. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
  111. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  112. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
  113. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  114. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
  115. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
  117. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
  118. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
  119. data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
  120. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  121. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
  122. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
  123. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
  124. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
  125. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
  126. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
  127. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  128. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  129. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
  130. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  131. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
  132. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
  133. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
  134. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
  135. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
  136. data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
  137. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  138. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  139. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  140. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  141. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  142. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  143. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  144. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  145. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  146. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  147. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  148. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  149. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  150. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  151. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  152. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  153. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  154. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  155. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  156. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
  157. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  158. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  159. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  160. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  161. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  162. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  163. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  164. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
  165. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  166. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  167. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  168. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  169. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  170. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  171. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  172. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  173. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  174. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
  175. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  176. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  177. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  178. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  179. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  180. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  181. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  182. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  183. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  184. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  185. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  186. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  187. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  188. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  189. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  190. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  191. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  192. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  193. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  194. data/lib/vapi_server_sdk/types/google_model.rb +178 -0
  195. data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
  196. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  197. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  198. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  199. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  201. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  202. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  203. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  204. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  205. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  206. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  207. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  208. data/lib/vapi_server_sdk/types/log.rb +12 -4
  209. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  210. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  211. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  212. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  213. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  214. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  215. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  216. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  217. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  218. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  219. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  220. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  221. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  222. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  223. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  224. data/lib/vapi_server_sdk/types/org.rb +35 -2
  225. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  226. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  227. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  228. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  229. data/lib/vapi_server_sdk/types/payment.rb +167 -0
  230. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
  231. data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
  232. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
  233. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  234. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  235. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  236. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  237. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  238. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  239. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  240. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  241. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  242. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  243. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  244. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  245. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  246. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  247. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  248. data/lib/vapi_server_sdk/types/server.rb +16 -2
  249. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
  250. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  251. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  252. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  253. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  254. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  255. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  256. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  257. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  258. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
  259. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  260. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  261. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  262. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  263. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  264. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  265. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  266. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
  267. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
  268. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
  269. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
  270. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  271. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  272. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  273. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  274. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  275. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  276. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  277. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  278. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  279. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  280. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  281. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  282. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  283. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  284. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  285. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  286. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  287. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  288. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  289. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  290. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  291. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  292. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  293. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  294. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  295. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  296. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  297. data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
  298. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
  299. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  300. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  301. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  302. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  303. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  304. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  305. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  306. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  307. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  308. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  309. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
  310. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
  311. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
  312. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
  313. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  314. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
  315. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  316. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
  317. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
  318. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
  319. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
  320. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
  321. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
  322. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
  323. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
  324. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
  325. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
  326. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
  327. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
  328. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
  329. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
  330. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
  331. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
  332. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
  333. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
  334. data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
  335. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  336. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
  337. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
  338. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
  339. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
  340. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
  341. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
  342. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
  343. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
  344. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
  345. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
  346. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  347. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  348. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  349. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
  350. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  351. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  352. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  353. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  354. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  355. data/lib/vapi_server_sdk.rb +7 -0
  356. metadata +165 -6
@@ -20,6 +20,7 @@ require_relative "../types/message_plan"
20
20
  require_relative "../types/start_speaking_plan"
21
21
  require_relative "../types/stop_speaking_plan"
22
22
  require_relative "../types/monitor_plan"
23
+ require_relative "../types/server"
23
24
  require "async"
24
25
 
25
26
  module Vapi
@@ -93,6 +94,7 @@ module Vapi
93
94
  # * :transcriber (Hash)
94
95
  # * :model (Hash)
95
96
  # * :voice (Hash)
97
+ # * :first_message (String)
96
98
  # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
97
99
  # * :hipaa_enabled (Boolean)
98
100
  # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
@@ -100,12 +102,10 @@ module Vapi
100
102
  # * :silence_timeout_seconds (Float)
101
103
  # * :max_duration_seconds (Float)
102
104
  # * :background_sound (Vapi::CreateAssistantDtoBackgroundSound)
103
- # * :backchanneling_enabled (Boolean)
104
105
  # * :background_denoising_enabled (Boolean)
105
106
  # * :model_output_in_messages_enabled (Boolean)
106
107
  # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
107
108
  # * :name (String)
108
- # * :first_message (String)
109
109
  # * :voicemail_detection (Hash)
110
110
  # * :provider (String)
111
111
  # * :voicemail_detection_types (Array<Vapi::TwilioVoicemailDetectionVoicemailDetectionTypesItem>)
@@ -118,8 +118,6 @@ module Vapi
118
118
  # * :end_call_message (String)
119
119
  # * :end_call_phrases (Array<String>)
120
120
  # * :metadata (Hash{String => Object})
121
- # * :server_url (String)
122
- # * :server_url_secret (String)
123
121
  # * :analysis_plan (Hash)
124
122
  # * :summary_plan (Hash)
125
123
  # * :messages (Array<Hash{String => Object}>)
@@ -155,6 +153,7 @@ module Vapi
155
153
  # * :start_speaking_plan (Hash)
156
154
  # * :wait_seconds (Float)
157
155
  # * :smart_endpointing_enabled (Boolean)
156
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
158
157
  # * :transcription_endpointing_plan (Hash)
159
158
  # * :on_punctuation_seconds (Float)
160
159
  # * :on_no_punctuation_seconds (Float)
@@ -167,6 +166,11 @@ module Vapi
167
166
  # * :listen_enabled (Boolean)
168
167
  # * :control_enabled (Boolean)
169
168
  # * :credential_ids (Array<String>)
169
+ # * :server (Hash)
170
+ # * :timeout_seconds (Float)
171
+ # * :url (String)
172
+ # * :secret (String)
173
+ # * :headers (Hash{String => Object})
170
174
  # @param request_options [Vapi::RequestOptions]
171
175
  # @return [Vapi::Assistant]
172
176
  # @example
@@ -258,6 +262,10 @@ module Vapi
258
262
  # @param transcriber [Vapi::Assistants::UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber.
259
263
  # @param model [Vapi::Assistants::UpdateAssistantDtoModel] These are the options for the assistant's LLM.
260
264
  # @param voice [Vapi::Assistants::UpdateAssistantDtoVoice] These are the options for the assistant's voice.
265
+ # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
266
+ # a containerized audio file (mp3, wav, etc.).
267
+ # If unspecified, assistant will wait for user to speak and use the model to
268
+ # respond once they speak.
261
269
  # @param first_message_mode [Vapi::Assistants::UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
262
270
  # Use:
263
271
  # - 'assistant-speaks-first' to have the assistant speak first.
@@ -272,7 +280,7 @@ module Vapi
272
280
  # the end of the call, you will still receive an end-of-call-report message to
273
281
  # store on your server. Defaults to false.
274
282
  # @param client_messages [Array<Vapi::Assistants::UpdateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
275
- # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
283
+ # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
276
284
  # You can check the shape of the messages in ClientMessage schema.
277
285
  # @param server_messages [Array<Vapi::Assistants::UpdateAssistantDtoServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
278
286
  # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
@@ -284,10 +292,6 @@ module Vapi
284
292
  # @default 600 (10 minutes)
285
293
  # @param background_sound [Vapi::Assistants::UpdateAssistantDtoBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
286
294
  # and default for web calls is 'off'.
287
- # @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
288
- # speaking.
289
- # Default `false` while in beta.
290
- # @default false
291
295
  # @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
292
296
  # Default `false` while in beta.
293
297
  # @default false
@@ -305,10 +309,6 @@ module Vapi
305
309
  # * :recording_channels (Vapi::TransportConfigurationTwilioRecordingChannels)
306
310
  # @param name [String] This is the name of the assistant.
307
311
  # This is required when you want to transfer between assistants in a call.
308
- # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
309
- # a containerized audio file (mp3, wav, etc.).
310
- # If unspecified, assistant will wait for user to speak and use the model to
311
- # respond once they speak.
312
312
  # @param voicemail_detection [Hash] These are the settings to configure or disable voicemail detection.
313
313
  # Alternatively, voicemail detection can be configured using the
314
314
  # model.tools=[VoicemailTool].
@@ -331,16 +331,6 @@ module Vapi
331
331
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
332
332
  # call to be hung up. Case insensitive.
333
333
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
334
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
335
- # is used for retrieving context, function calling, and end-of-call reports.
336
- # All requests will be sent with the call object among other things relevant to
337
- # that message. You can find more details in the Server URL documentation.
338
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
339
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
340
- # org.serverUrl
341
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
342
- # server. Will be sent as a header called x-vapi-secret.
343
- # Same precedence logic as serverUrl.
344
334
  # @param analysis_plan [Hash] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.Request of type Vapi::AnalysisPlan, as a Hash
345
335
  # * :summary_plan (Hash)
346
336
  # * :messages (Array<Hash{String => Object}>)
@@ -389,6 +379,7 @@ module Vapi
389
379
  # - The assistant is so fast that it's actually interrupting the customer.Request of type Vapi::StartSpeakingPlan, as a Hash
390
380
  # * :wait_seconds (Float)
391
381
  # * :smart_endpointing_enabled (Boolean)
382
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
392
383
  # * :transcription_endpointing_plan (Hash)
393
384
  # * :on_punctuation_seconds (Float)
394
385
  # * :on_no_punctuation_seconds (Float)
@@ -419,6 +410,16 @@ module Vapi
419
410
  # @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
420
411
  # all the credentials are available for use in the call but you can provide a
421
412
  # subset using this.
413
+ # @param server [Hash] This is where Vapi will send webhooks. You can find all webhooks available along
414
+ # with their shape in ServerMessage schema.
415
+ # The order of precedence is:
416
+ # 1. assistant.server.url
417
+ # 2. phoneNumber.serverUrl
418
+ # 3. org.serverUrlRequest of type Vapi::Server, as a Hash
419
+ # * :timeout_seconds (Float)
420
+ # * :url (String)
421
+ # * :secret (String)
422
+ # * :headers (Hash{String => Object})
422
423
  # @param request_options [Vapi::RequestOptions]
423
424
  # @return [Vapi::Assistant]
424
425
  # @example
@@ -428,8 +429,8 @@ module Vapi
428
429
  # token: "YOUR_AUTH_TOKEN"
429
430
  # )
430
431
  # api.assistants.update(id: "id")
431
- def update(id:, transcriber: nil, model: nil, voice: nil, first_message_mode: nil, hipaa_enabled: nil,
432
- client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, backchanneling_enabled: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, name: nil, first_message: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, server_url: nil, server_url_secret: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, request_options: nil)
432
+ def update(id:, transcriber: nil, model: nil, voice: nil, first_message: nil, first_message_mode: nil,
433
+ hipaa_enabled: nil, client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, request_options: nil)
433
434
  response = @request_client.conn.patch do |req|
434
435
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
435
436
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -446,6 +447,7 @@ module Vapi
446
447
  transcriber: transcriber,
447
448
  model: model,
448
449
  voice: voice,
450
+ firstMessage: first_message,
449
451
  firstMessageMode: first_message_mode,
450
452
  hipaaEnabled: hipaa_enabled,
451
453
  clientMessages: client_messages,
@@ -453,26 +455,23 @@ module Vapi
453
455
  silenceTimeoutSeconds: silence_timeout_seconds,
454
456
  maxDurationSeconds: max_duration_seconds,
455
457
  backgroundSound: background_sound,
456
- backchannelingEnabled: backchanneling_enabled,
457
458
  backgroundDenoisingEnabled: background_denoising_enabled,
458
459
  modelOutputInMessagesEnabled: model_output_in_messages_enabled,
459
460
  transportConfigurations: transport_configurations,
460
461
  name: name,
461
- firstMessage: first_message,
462
462
  voicemailDetection: voicemail_detection,
463
463
  voicemailMessage: voicemail_message,
464
464
  endCallMessage: end_call_message,
465
465
  endCallPhrases: end_call_phrases,
466
466
  metadata: metadata,
467
- serverUrl: server_url,
468
- serverUrlSecret: server_url_secret,
469
467
  analysisPlan: analysis_plan,
470
468
  artifactPlan: artifact_plan,
471
469
  messagePlan: message_plan,
472
470
  startSpeakingPlan: start_speaking_plan,
473
471
  stopSpeakingPlan: stop_speaking_plan,
474
472
  monitorPlan: monitor_plan,
475
- credentialIds: credential_ids
473
+ credentialIds: credential_ids,
474
+ server: server
476
475
  }.compact
477
476
  req.url "#{@request_client.get_url(request_options: request_options)}/assistant/#{id}"
478
477
  end
@@ -552,6 +551,7 @@ module Vapi
552
551
  # * :transcriber (Hash)
553
552
  # * :model (Hash)
554
553
  # * :voice (Hash)
554
+ # * :first_message (String)
555
555
  # * :first_message_mode (Vapi::CreateAssistantDtoFirstMessageMode)
556
556
  # * :hipaa_enabled (Boolean)
557
557
  # * :client_messages (Array<Vapi::CreateAssistantDtoClientMessagesItem>)
@@ -559,12 +559,10 @@ module Vapi
559
559
  # * :silence_timeout_seconds (Float)
560
560
  # * :max_duration_seconds (Float)
561
561
  # * :background_sound (Vapi::CreateAssistantDtoBackgroundSound)
562
- # * :backchanneling_enabled (Boolean)
563
562
  # * :background_denoising_enabled (Boolean)
564
563
  # * :model_output_in_messages_enabled (Boolean)
565
564
  # * :transport_configurations (Array<Vapi::TransportConfigurationTwilio>)
566
565
  # * :name (String)
567
- # * :first_message (String)
568
566
  # * :voicemail_detection (Hash)
569
567
  # * :provider (String)
570
568
  # * :voicemail_detection_types (Array<Vapi::TwilioVoicemailDetectionVoicemailDetectionTypesItem>)
@@ -577,8 +575,6 @@ module Vapi
577
575
  # * :end_call_message (String)
578
576
  # * :end_call_phrases (Array<String>)
579
577
  # * :metadata (Hash{String => Object})
580
- # * :server_url (String)
581
- # * :server_url_secret (String)
582
578
  # * :analysis_plan (Hash)
583
579
  # * :summary_plan (Hash)
584
580
  # * :messages (Array<Hash{String => Object}>)
@@ -614,6 +610,7 @@ module Vapi
614
610
  # * :start_speaking_plan (Hash)
615
611
  # * :wait_seconds (Float)
616
612
  # * :smart_endpointing_enabled (Boolean)
613
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
617
614
  # * :transcription_endpointing_plan (Hash)
618
615
  # * :on_punctuation_seconds (Float)
619
616
  # * :on_no_punctuation_seconds (Float)
@@ -626,6 +623,11 @@ module Vapi
626
623
  # * :listen_enabled (Boolean)
627
624
  # * :control_enabled (Boolean)
628
625
  # * :credential_ids (Array<String>)
626
+ # * :server (Hash)
627
+ # * :timeout_seconds (Float)
628
+ # * :url (String)
629
+ # * :secret (String)
630
+ # * :headers (Hash{String => Object})
629
631
  # @param request_options [Vapi::RequestOptions]
630
632
  # @return [Vapi::Assistant]
631
633
  # @example
@@ -723,6 +725,10 @@ module Vapi
723
725
  # @param transcriber [Vapi::Assistants::UpdateAssistantDtoTranscriber] These are the options for the assistant's transcriber.
724
726
  # @param model [Vapi::Assistants::UpdateAssistantDtoModel] These are the options for the assistant's LLM.
725
727
  # @param voice [Vapi::Assistants::UpdateAssistantDtoVoice] These are the options for the assistant's voice.
728
+ # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
729
+ # a containerized audio file (mp3, wav, etc.).
730
+ # If unspecified, assistant will wait for user to speak and use the model to
731
+ # respond once they speak.
726
732
  # @param first_message_mode [Vapi::Assistants::UpdateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
727
733
  # Use:
728
734
  # - 'assistant-speaks-first' to have the assistant speak first.
@@ -737,7 +743,7 @@ module Vapi
737
743
  # the end of the call, you will still receive an end-of-call-report message to
738
744
  # store on your server. Defaults to false.
739
745
  # @param client_messages [Array<Vapi::Assistants::UpdateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
740
- # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
746
+ # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
741
747
  # You can check the shape of the messages in ClientMessage schema.
742
748
  # @param server_messages [Array<Vapi::Assistants::UpdateAssistantDtoServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
743
749
  # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
@@ -749,10 +755,6 @@ module Vapi
749
755
  # @default 600 (10 minutes)
750
756
  # @param background_sound [Vapi::Assistants::UpdateAssistantDtoBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
751
757
  # and default for web calls is 'off'.
752
- # @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
753
- # speaking.
754
- # Default `false` while in beta.
755
- # @default false
756
758
  # @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
757
759
  # Default `false` while in beta.
758
760
  # @default false
@@ -770,10 +772,6 @@ module Vapi
770
772
  # * :recording_channels (Vapi::TransportConfigurationTwilioRecordingChannels)
771
773
  # @param name [String] This is the name of the assistant.
772
774
  # This is required when you want to transfer between assistants in a call.
773
- # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
774
- # a containerized audio file (mp3, wav, etc.).
775
- # If unspecified, assistant will wait for user to speak and use the model to
776
- # respond once they speak.
777
775
  # @param voicemail_detection [Hash] These are the settings to configure or disable voicemail detection.
778
776
  # Alternatively, voicemail detection can be configured using the
779
777
  # model.tools=[VoicemailTool].
@@ -796,16 +794,6 @@ module Vapi
796
794
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
797
795
  # call to be hung up. Case insensitive.
798
796
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
799
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
800
- # is used for retrieving context, function calling, and end-of-call reports.
801
- # All requests will be sent with the call object among other things relevant to
802
- # that message. You can find more details in the Server URL documentation.
803
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
804
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
805
- # org.serverUrl
806
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
807
- # server. Will be sent as a header called x-vapi-secret.
808
- # Same precedence logic as serverUrl.
809
797
  # @param analysis_plan [Hash] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.Request of type Vapi::AnalysisPlan, as a Hash
810
798
  # * :summary_plan (Hash)
811
799
  # * :messages (Array<Hash{String => Object}>)
@@ -854,6 +842,7 @@ module Vapi
854
842
  # - The assistant is so fast that it's actually interrupting the customer.Request of type Vapi::StartSpeakingPlan, as a Hash
855
843
  # * :wait_seconds (Float)
856
844
  # * :smart_endpointing_enabled (Boolean)
845
+ # * :custom_endpointing_rules (Array<Vapi::StartSpeakingPlanCustomEndpointingRulesItem>)
857
846
  # * :transcription_endpointing_plan (Hash)
858
847
  # * :on_punctuation_seconds (Float)
859
848
  # * :on_no_punctuation_seconds (Float)
@@ -884,6 +873,16 @@ module Vapi
884
873
  # @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
885
874
  # all the credentials are available for use in the call but you can provide a
886
875
  # subset using this.
876
+ # @param server [Hash] This is where Vapi will send webhooks. You can find all webhooks available along
877
+ # with their shape in ServerMessage schema.
878
+ # The order of precedence is:
879
+ # 1. assistant.server.url
880
+ # 2. phoneNumber.serverUrl
881
+ # 3. org.serverUrlRequest of type Vapi::Server, as a Hash
882
+ # * :timeout_seconds (Float)
883
+ # * :url (String)
884
+ # * :secret (String)
885
+ # * :headers (Hash{String => Object})
887
886
  # @param request_options [Vapi::RequestOptions]
888
887
  # @return [Vapi::Assistant]
889
888
  # @example
@@ -893,8 +892,8 @@ module Vapi
893
892
  # token: "YOUR_AUTH_TOKEN"
894
893
  # )
895
894
  # api.assistants.update(id: "id")
896
- def update(id:, transcriber: nil, model: nil, voice: nil, first_message_mode: nil, hipaa_enabled: nil,
897
- client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, backchanneling_enabled: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, name: nil, first_message: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, server_url: nil, server_url_secret: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, request_options: nil)
895
+ def update(id:, transcriber: nil, model: nil, voice: nil, first_message: nil, first_message_mode: nil,
896
+ hipaa_enabled: nil, client_messages: nil, server_messages: nil, silence_timeout_seconds: nil, max_duration_seconds: nil, background_sound: nil, background_denoising_enabled: nil, model_output_in_messages_enabled: nil, transport_configurations: nil, name: nil, voicemail_detection: nil, voicemail_message: nil, end_call_message: nil, end_call_phrases: nil, metadata: nil, analysis_plan: nil, artifact_plan: nil, message_plan: nil, start_speaking_plan: nil, stop_speaking_plan: nil, monitor_plan: nil, credential_ids: nil, server: nil, request_options: nil)
898
897
  Async do
899
898
  response = @request_client.conn.patch do |req|
900
899
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -912,6 +911,7 @@ module Vapi
912
911
  transcriber: transcriber,
913
912
  model: model,
914
913
  voice: voice,
914
+ firstMessage: first_message,
915
915
  firstMessageMode: first_message_mode,
916
916
  hipaaEnabled: hipaa_enabled,
917
917
  clientMessages: client_messages,
@@ -919,26 +919,23 @@ module Vapi
919
919
  silenceTimeoutSeconds: silence_timeout_seconds,
920
920
  maxDurationSeconds: max_duration_seconds,
921
921
  backgroundSound: background_sound,
922
- backchannelingEnabled: backchanneling_enabled,
923
922
  backgroundDenoisingEnabled: background_denoising_enabled,
924
923
  modelOutputInMessagesEnabled: model_output_in_messages_enabled,
925
924
  transportConfigurations: transport_configurations,
926
925
  name: name,
927
- firstMessage: first_message,
928
926
  voicemailDetection: voicemail_detection,
929
927
  voicemailMessage: voicemail_message,
930
928
  endCallMessage: end_call_message,
931
929
  endCallPhrases: end_call_phrases,
932
930
  metadata: metadata,
933
- serverUrl: server_url,
934
- serverUrlSecret: server_url_secret,
935
931
  analysisPlan: analysis_plan,
936
932
  artifactPlan: artifact_plan,
937
933
  messagePlan: message_plan,
938
934
  startSpeakingPlan: start_speaking_plan,
939
935
  stopSpeakingPlan: stop_speaking_plan,
940
936
  monitorPlan: monitor_plan,
941
- credentialIds: credential_ids
937
+ credentialIds: credential_ids,
938
+ server: server
942
939
  }.compact
943
940
  req.url "#{@request_client.get_url(request_options: request_options)}/assistant/#{id}"
944
941
  end
@@ -15,6 +15,7 @@ module Vapi
15
15
  TRANSCRIPT = "transcript"
16
16
  TOOL_CALLS = "tool-calls"
17
17
  TOOL_CALLS_RESULT = "tool-calls-result"
18
+ TRANSFER_UPDATE = "transfer-update"
18
19
  USER_INTERRUPTED = "user-interrupted"
19
20
  VOICE_INPUT = "voice-input"
20
21
  end
@@ -5,12 +5,15 @@ require_relative "../../types/anyscale_model"
5
5
  require_relative "../../types/anthropic_model"
6
6
  require_relative "../../types/custom_llm_model"
7
7
  require_relative "../../types/deep_infra_model"
8
+ require_relative "../../types/google_model"
8
9
  require_relative "../../types/groq_model"
10
+ require_relative "../../types/inflection_ai_model"
9
11
  require_relative "../../types/open_ai_model"
10
12
  require_relative "../../types/open_router_model"
11
13
  require_relative "../../types/perplexity_ai_model"
12
14
  require_relative "../../types/together_ai_model"
13
15
  require_relative "../../types/vapi_model"
16
+ require_relative "../../types/xai_model"
14
17
 
15
18
  module Vapi
16
19
  class Assistants
@@ -47,8 +50,12 @@ module Vapi
47
50
  Vapi::CustomLlmModel.from_json(json_object: json_object)
48
51
  when "deepinfra"
49
52
  Vapi::DeepInfraModel.from_json(json_object: json_object)
53
+ when "google"
54
+ Vapi::GoogleModel.from_json(json_object: json_object)
50
55
  when "groq"
51
56
  Vapi::GroqModel.from_json(json_object: json_object)
57
+ when "inflection-ai"
58
+ Vapi::InflectionAiModel.from_json(json_object: json_object)
52
59
  when "openai"
53
60
  Vapi::OpenAiModel.from_json(json_object: json_object)
54
61
  when "openrouter"
@@ -59,6 +66,8 @@ module Vapi
59
66
  Vapi::TogetherAiModel.from_json(json_object: json_object)
60
67
  when "vapi"
61
68
  Vapi::VapiModel.from_json(json_object: json_object)
69
+ when "xai"
70
+ Vapi::XaiModel.from_json(json_object: json_object)
62
71
  else
63
72
  Vapi::AnyscaleModel.from_json(json_object: json_object)
64
73
  end
@@ -78,8 +87,12 @@ module Vapi
78
87
  { **@member.to_json, provider: @discriminant }.to_json
79
88
  when "deepinfra"
80
89
  { **@member.to_json, provider: @discriminant }.to_json
90
+ when "google"
91
+ { **@member.to_json, provider: @discriminant }.to_json
81
92
  when "groq"
82
93
  { **@member.to_json, provider: @discriminant }.to_json
94
+ when "inflection-ai"
95
+ { **@member.to_json, provider: @discriminant }.to_json
83
96
  when "openai"
84
97
  { **@member.to_json, provider: @discriminant }.to_json
85
98
  when "openrouter"
@@ -90,6 +103,8 @@ module Vapi
90
103
  { **@member.to_json, provider: @discriminant }.to_json
91
104
  when "vapi"
92
105
  { **@member.to_json, provider: @discriminant }.to_json
106
+ when "xai"
107
+ { **@member.to_json, provider: @discriminant }.to_json
93
108
  else
94
109
  { "provider": @discriminant, value: @member }.to_json
95
110
  end
@@ -112,8 +127,12 @@ module Vapi
112
127
  Vapi::CustomLlmModel.validate_raw(obj: obj)
113
128
  when "deepinfra"
114
129
  Vapi::DeepInfraModel.validate_raw(obj: obj)
130
+ when "google"
131
+ Vapi::GoogleModel.validate_raw(obj: obj)
115
132
  when "groq"
116
133
  Vapi::GroqModel.validate_raw(obj: obj)
134
+ when "inflection-ai"
135
+ Vapi::InflectionAiModel.validate_raw(obj: obj)
117
136
  when "openai"
118
137
  Vapi::OpenAiModel.validate_raw(obj: obj)
119
138
  when "openrouter"
@@ -124,6 +143,8 @@ module Vapi
124
143
  Vapi::TogetherAiModel.validate_raw(obj: obj)
125
144
  when "vapi"
126
145
  Vapi::VapiModel.validate_raw(obj: obj)
146
+ when "xai"
147
+ Vapi::XaiModel.validate_raw(obj: obj)
127
148
  else
128
149
  raise("Passed value matched no type within the union, validation failed.")
129
150
  end
@@ -161,12 +182,24 @@ module Vapi
161
182
  new(member: member, discriminant: "deepinfra")
162
183
  end
163
184
 
185
+ # @param member [Vapi::GoogleModel]
186
+ # @return [Vapi::Assistants::UpdateAssistantDtoModel]
187
+ def self.google(member:)
188
+ new(member: member, discriminant: "google")
189
+ end
190
+
164
191
  # @param member [Vapi::GroqModel]
165
192
  # @return [Vapi::Assistants::UpdateAssistantDtoModel]
166
193
  def self.groq(member:)
167
194
  new(member: member, discriminant: "groq")
168
195
  end
169
196
 
197
+ # @param member [Vapi::InflectionAiModel]
198
+ # @return [Vapi::Assistants::UpdateAssistantDtoModel]
199
+ def self.inflection_ai(member:)
200
+ new(member: member, discriminant: "inflection-ai")
201
+ end
202
+
170
203
  # @param member [Vapi::OpenAiModel]
171
204
  # @return [Vapi::Assistants::UpdateAssistantDtoModel]
172
205
  def self.openai(member:)
@@ -196,6 +229,12 @@ module Vapi
196
229
  def self.vapi(member:)
197
230
  new(member: member, discriminant: "vapi")
198
231
  end
232
+
233
+ # @param member [Vapi::XaiModel]
234
+ # @return [Vapi::Assistants::UpdateAssistantDtoModel]
235
+ def self.xai(member:)
236
+ new(member: member, discriminant: "xai")
237
+ end
199
238
  end
200
239
  end
201
240
  end
@@ -8,6 +8,7 @@ module Vapi
8
8
  FUNCTION_CALL = "function-call"
9
9
  HANG = "hang"
10
10
  LANGUAGE_CHANGED = "language-changed"
11
+ LANGUAGE_CHANGE_DETECTED = "language-change-detected"
11
12
  MODEL_OUTPUT = "model-output"
12
13
  PHONE_CALL_CONTROL = "phone-call-control"
13
14
  SPEECH_UPDATE = "speech-update"
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
+ require_relative "../../types/assembly_ai_transcriber"
5
+ require_relative "../../types/custom_transcriber"
4
6
  require_relative "../../types/deepgram_transcriber"
5
7
  require_relative "../../types/gladia_transcriber"
6
8
  require_relative "../../types/talkscriber_transcriber"
@@ -32,6 +34,10 @@ module Vapi
32
34
  def self.from_json(json_object:)
33
35
  struct = JSON.parse(json_object, object_class: OpenStruct)
34
36
  member = case struct.provider
37
+ when "assembly-ai"
38
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
39
+ when "custom-transcriber"
40
+ Vapi::CustomTranscriber.from_json(json_object: json_object)
35
41
  when "deepgram"
36
42
  Vapi::DeepgramTranscriber.from_json(json_object: json_object)
37
43
  when "gladia"
@@ -39,7 +45,7 @@ module Vapi
39
45
  when "talkscriber"
40
46
  Vapi::TalkscriberTranscriber.from_json(json_object: json_object)
41
47
  else
42
- Vapi::DeepgramTranscriber.from_json(json_object: json_object)
48
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
43
49
  end
44
50
  new(member: member, discriminant: struct.provider)
45
51
  end
@@ -49,6 +55,10 @@ module Vapi
49
55
  # @return [String]
50
56
  def to_json(*_args)
51
57
  case @discriminant
58
+ when "assembly-ai"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "custom-transcriber"
61
+ { **@member.to_json, provider: @discriminant }.to_json
52
62
  when "deepgram"
53
63
  { **@member.to_json, provider: @discriminant }.to_json
54
64
  when "gladia"
@@ -69,6 +79,10 @@ module Vapi
69
79
  # @return [Void]
70
80
  def self.validate_raw(obj:)
71
81
  case obj.provider
82
+ when "assembly-ai"
83
+ Vapi::AssemblyAiTranscriber.validate_raw(obj: obj)
84
+ when "custom-transcriber"
85
+ Vapi::CustomTranscriber.validate_raw(obj: obj)
72
86
  when "deepgram"
73
87
  Vapi::DeepgramTranscriber.validate_raw(obj: obj)
74
88
  when "gladia"
@@ -88,6 +102,18 @@ module Vapi
88
102
  @member.is_a?(obj)
89
103
  end
90
104
 
105
+ # @param member [Vapi::AssemblyAiTranscriber]
106
+ # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
107
+ def self.assembly_ai(member:)
108
+ new(member: member, discriminant: "assembly-ai")
109
+ end
110
+
111
+ # @param member [Vapi::CustomTranscriber]
112
+ # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
113
+ def self.custom_transcriber(member:)
114
+ new(member: member, discriminant: "custom-transcriber")
115
+ end
116
+
91
117
  # @param member [Vapi::DeepgramTranscriber]
92
118
  # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
93
119
  def self.deepgram(member:)
@@ -3,6 +3,7 @@
3
3
  require "json"
4
4
  require_relative "../../types/azure_voice"
5
5
  require_relative "../../types/cartesia_voice"
6
+ require_relative "../../types/custom_voice"
6
7
  require_relative "../../types/deepgram_voice"
7
8
  require_relative "../../types/eleven_labs_voice"
8
9
  require_relative "../../types/lmnt_voice"
@@ -10,6 +11,7 @@ require_relative "../../types/neets_voice"
10
11
  require_relative "../../types/open_ai_voice"
11
12
  require_relative "../../types/play_ht_voice"
12
13
  require_relative "../../types/rime_ai_voice"
14
+ require_relative "../../types/tavus_voice"
13
15
 
14
16
  module Vapi
15
17
  class Assistants
@@ -42,6 +44,8 @@ module Vapi
42
44
  Vapi::AzureVoice.from_json(json_object: json_object)
43
45
  when "cartesia"
44
46
  Vapi::CartesiaVoice.from_json(json_object: json_object)
47
+ when "custom-voice"
48
+ Vapi::CustomVoice.from_json(json_object: json_object)
45
49
  when "deepgram"
46
50
  Vapi::DeepgramVoice.from_json(json_object: json_object)
47
51
  when "11labs"
@@ -56,6 +60,8 @@ module Vapi
56
60
  Vapi::PlayHtVoice.from_json(json_object: json_object)
57
61
  when "rime-ai"
58
62
  Vapi::RimeAiVoice.from_json(json_object: json_object)
63
+ when "tavus"
64
+ Vapi::TavusVoice.from_json(json_object: json_object)
59
65
  else
60
66
  Vapi::AzureVoice.from_json(json_object: json_object)
61
67
  end
@@ -71,6 +77,8 @@ module Vapi
71
77
  { **@member.to_json, provider: @discriminant }.to_json
72
78
  when "cartesia"
73
79
  { **@member.to_json, provider: @discriminant }.to_json
80
+ when "custom-voice"
81
+ { **@member.to_json, provider: @discriminant }.to_json
74
82
  when "deepgram"
75
83
  { **@member.to_json, provider: @discriminant }.to_json
76
84
  when "11labs"
@@ -85,6 +93,8 @@ module Vapi
85
93
  { **@member.to_json, provider: @discriminant }.to_json
86
94
  when "rime-ai"
87
95
  { **@member.to_json, provider: @discriminant }.to_json
96
+ when "tavus"
97
+ { **@member.to_json, provider: @discriminant }.to_json
88
98
  else
89
99
  { "provider": @discriminant, value: @member }.to_json
90
100
  end
@@ -103,6 +113,8 @@ module Vapi
103
113
  Vapi::AzureVoice.validate_raw(obj: obj)
104
114
  when "cartesia"
105
115
  Vapi::CartesiaVoice.validate_raw(obj: obj)
116
+ when "custom-voice"
117
+ Vapi::CustomVoice.validate_raw(obj: obj)
106
118
  when "deepgram"
107
119
  Vapi::DeepgramVoice.validate_raw(obj: obj)
108
120
  when "11labs"
@@ -117,6 +129,8 @@ module Vapi
117
129
  Vapi::PlayHtVoice.validate_raw(obj: obj)
118
130
  when "rime-ai"
119
131
  Vapi::RimeAiVoice.validate_raw(obj: obj)
132
+ when "tavus"
133
+ Vapi::TavusVoice.validate_raw(obj: obj)
120
134
  else
121
135
  raise("Passed value matched no type within the union, validation failed.")
122
136
  end
@@ -142,6 +156,12 @@ module Vapi
142
156
  new(member: member, discriminant: "cartesia")
143
157
  end
144
158
 
159
+ # @param member [Vapi::CustomVoice]
160
+ # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
161
+ def self.custom_voice(member:)
162
+ new(member: member, discriminant: "custom-voice")
163
+ end
164
+
145
165
  # @param member [Vapi::DeepgramVoice]
146
166
  # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
147
167
  def self.deepgram(member:)
@@ -183,6 +203,12 @@ module Vapi
183
203
  def self.rime_ai(member:)
184
204
  new(member: member, discriminant: "rime-ai")
185
205
  end
206
+
207
+ # @param member [Vapi::TavusVoice]
208
+ # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
209
+ def self.tavus(member:)
210
+ new(member: member, discriminant: "tavus")
211
+ end
186
212
  end
187
213
  end
188
214
  end