vapi_server_sdk 0.0.0.pre.alpha7 → 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 -10
  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 +167 -8
@@ -5,12 +5,15 @@ require_relative "anyscale_model"
5
5
  require_relative "anthropic_model"
6
6
  require_relative "custom_llm_model"
7
7
  require_relative "deep_infra_model"
8
+ require_relative "google_model"
8
9
  require_relative "groq_model"
10
+ require_relative "inflection_ai_model"
9
11
  require_relative "open_ai_model"
10
12
  require_relative "open_router_model"
11
13
  require_relative "perplexity_ai_model"
12
14
  require_relative "together_ai_model"
13
15
  require_relative "vapi_model"
16
+ require_relative "xai_model"
14
17
 
15
18
  module Vapi
16
19
  # These are the options for the assistant's LLM.
@@ -46,8 +49,12 @@ module Vapi
46
49
  Vapi::CustomLlmModel.from_json(json_object: json_object)
47
50
  when "deepinfra"
48
51
  Vapi::DeepInfraModel.from_json(json_object: json_object)
52
+ when "google"
53
+ Vapi::GoogleModel.from_json(json_object: json_object)
49
54
  when "groq"
50
55
  Vapi::GroqModel.from_json(json_object: json_object)
56
+ when "inflection-ai"
57
+ Vapi::InflectionAiModel.from_json(json_object: json_object)
51
58
  when "openai"
52
59
  Vapi::OpenAiModel.from_json(json_object: json_object)
53
60
  when "openrouter"
@@ -58,6 +65,8 @@ module Vapi
58
65
  Vapi::TogetherAiModel.from_json(json_object: json_object)
59
66
  when "vapi"
60
67
  Vapi::VapiModel.from_json(json_object: json_object)
68
+ when "xai"
69
+ Vapi::XaiModel.from_json(json_object: json_object)
61
70
  else
62
71
  Vapi::AnyscaleModel.from_json(json_object: json_object)
63
72
  end
@@ -77,8 +86,12 @@ module Vapi
77
86
  { **@member.to_json, provider: @discriminant }.to_json
78
87
  when "deepinfra"
79
88
  { **@member.to_json, provider: @discriminant }.to_json
89
+ when "google"
90
+ { **@member.to_json, provider: @discriminant }.to_json
80
91
  when "groq"
81
92
  { **@member.to_json, provider: @discriminant }.to_json
93
+ when "inflection-ai"
94
+ { **@member.to_json, provider: @discriminant }.to_json
82
95
  when "openai"
83
96
  { **@member.to_json, provider: @discriminant }.to_json
84
97
  when "openrouter"
@@ -89,6 +102,8 @@ module Vapi
89
102
  { **@member.to_json, provider: @discriminant }.to_json
90
103
  when "vapi"
91
104
  { **@member.to_json, provider: @discriminant }.to_json
105
+ when "xai"
106
+ { **@member.to_json, provider: @discriminant }.to_json
92
107
  else
93
108
  { "provider": @discriminant, value: @member }.to_json
94
109
  end
@@ -111,8 +126,12 @@ module Vapi
111
126
  Vapi::CustomLlmModel.validate_raw(obj: obj)
112
127
  when "deepinfra"
113
128
  Vapi::DeepInfraModel.validate_raw(obj: obj)
129
+ when "google"
130
+ Vapi::GoogleModel.validate_raw(obj: obj)
114
131
  when "groq"
115
132
  Vapi::GroqModel.validate_raw(obj: obj)
133
+ when "inflection-ai"
134
+ Vapi::InflectionAiModel.validate_raw(obj: obj)
116
135
  when "openai"
117
136
  Vapi::OpenAiModel.validate_raw(obj: obj)
118
137
  when "openrouter"
@@ -123,6 +142,8 @@ module Vapi
123
142
  Vapi::TogetherAiModel.validate_raw(obj: obj)
124
143
  when "vapi"
125
144
  Vapi::VapiModel.validate_raw(obj: obj)
145
+ when "xai"
146
+ Vapi::XaiModel.validate_raw(obj: obj)
126
147
  else
127
148
  raise("Passed value matched no type within the union, validation failed.")
128
149
  end
@@ -160,12 +181,24 @@ module Vapi
160
181
  new(member: member, discriminant: "deepinfra")
161
182
  end
162
183
 
184
+ # @param member [Vapi::GoogleModel]
185
+ # @return [Vapi::AssistantModel]
186
+ def self.google(member:)
187
+ new(member: member, discriminant: "google")
188
+ end
189
+
163
190
  # @param member [Vapi::GroqModel]
164
191
  # @return [Vapi::AssistantModel]
165
192
  def self.groq(member:)
166
193
  new(member: member, discriminant: "groq")
167
194
  end
168
195
 
196
+ # @param member [Vapi::InflectionAiModel]
197
+ # @return [Vapi::AssistantModel]
198
+ def self.inflection_ai(member:)
199
+ new(member: member, discriminant: "inflection-ai")
200
+ end
201
+
169
202
  # @param member [Vapi::OpenAiModel]
170
203
  # @return [Vapi::AssistantModel]
171
204
  def self.openai(member:)
@@ -195,5 +228,11 @@ module Vapi
195
228
  def self.vapi(member:)
196
229
  new(member: member, discriminant: "vapi")
197
230
  end
231
+
232
+ # @param member [Vapi::XaiModel]
233
+ # @return [Vapi::AssistantModel]
234
+ def self.xai(member:)
235
+ new(member: member, discriminant: "xai")
236
+ end
198
237
  end
199
238
  end
@@ -15,6 +15,7 @@ require_relative "message_plan"
15
15
  require_relative "start_speaking_plan"
16
16
  require_relative "stop_speaking_plan"
17
17
  require_relative "monitor_plan"
18
+ require_relative "server"
18
19
  require "ostruct"
19
20
  require "json"
20
21
 
@@ -26,6 +27,11 @@ module Vapi
26
27
  attr_reader :model
27
28
  # @return [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
28
29
  attr_reader :voice
30
+ # @return [String] This is the first message that the assistant will say. This can also be a URL to
31
+ # a containerized audio file (mp3, wav, etc.).
32
+ # If unspecified, assistant will wait for user to speak and use the model to
33
+ # respond once they speak.
34
+ attr_reader :first_message
29
35
  # @return [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
30
36
  # Use:
31
37
  # - 'assistant-speaks-first' to have the assistant speak first.
@@ -42,7 +48,7 @@ module Vapi
42
48
  # store on your server. Defaults to false.
43
49
  attr_reader :hipaa_enabled
44
50
  # @return [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
45
- # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
51
+ # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
46
52
  # You can check the shape of the messages in ClientMessage schema.
47
53
  attr_reader :client_messages
48
54
  # @return [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
@@ -59,11 +65,6 @@ module Vapi
59
65
  # @return [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
60
66
  # and default for web calls is 'off'.
61
67
  attr_reader :background_sound
62
- # @return [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
63
- # speaking.
64
- # Default `false` while in beta.
65
- # @default false
66
- attr_reader :backchanneling_enabled
67
68
  # @return [Boolean] This enables filtering of noise and background speech while the user is talking.
68
69
  # Default `false` while in beta.
69
70
  # @default false
@@ -80,15 +81,17 @@ module Vapi
80
81
  attr_reader :transport_configurations
81
82
  # @return [Hash{String => Object}] These are values that will be used to replace the template variables in the
82
83
  # assistant messages and other text-based fields.
84
+ # This uses LiquidJS syntax. https://liquidjs.com/tutorials/intro-to-liquid.html
85
+ # So for example, `{{ name }}` will be replaced with the value of `name` in
86
+ # `variableValues`.
87
+ # `{{"now" | date: "%b %d, %Y, %I:%M %p", "America/New_York"}}` will be replaced
88
+ # with the current date and time in New York.
89
+ # Some VAPI reserved defaults:
90
+ # - *customer* - the customer object
83
91
  attr_reader :variable_values
84
92
  # @return [String] This is the name of the assistant.
85
93
  # This is required when you want to transfer between assistants in a call.
86
94
  attr_reader :name
87
- # @return [String] This is the first message that the assistant will say. This can also be a URL to
88
- # a containerized audio file (mp3, wav, etc.).
89
- # If unspecified, assistant will wait for user to speak and use the model to
90
- # respond once they speak.
91
- attr_reader :first_message
92
95
  # @return [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
93
96
  # Alternatively, voicemail detection can be configured using the
94
97
  # model.tools=[VoicemailTool].
@@ -109,18 +112,6 @@ module Vapi
109
112
  attr_reader :end_call_phrases
110
113
  # @return [Hash{String => Object}] This is for metadata you want to store on the assistant.
111
114
  attr_reader :metadata
112
- # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
113
- # is used for retrieving context, function calling, and end-of-call reports.
114
- # All requests will be sent with the call object among other things relevant to
115
- # that message. You can find more details in the Server URL documentation.
116
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
117
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
118
- # org.serverUrl
119
- attr_reader :server_url
120
- # @return [String] This is the secret you can set that Vapi will send with every request to your
121
- # server. Will be sent as a header called x-vapi-secret.
122
- # Same precedence logic as serverUrl.
123
- attr_reader :server_url_secret
124
115
  # @return [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
125
116
  attr_reader :analysis_plan
126
117
  # @return [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
@@ -166,6 +157,13 @@ module Vapi
166
157
  # all the credentials are available for use in the call but you can provide a
167
158
  # subset using this.
168
159
  attr_reader :credential_ids
160
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
161
+ # with their shape in ServerMessage schema.
162
+ # The order of precedence is:
163
+ # 1. assistant.server.url
164
+ # 2. phoneNumber.serverUrl
165
+ # 3. org.serverUrl
166
+ attr_reader :server
169
167
  # @return [OpenStruct] Additional properties unmapped to the current class definition
170
168
  attr_reader :additional_properties
171
169
  # @return [Object]
@@ -177,6 +175,10 @@ module Vapi
177
175
  # @param transcriber [Vapi::AssistantOverridesTranscriber] These are the options for the assistant's transcriber.
178
176
  # @param model [Vapi::AssistantOverridesModel] These are the options for the assistant's LLM.
179
177
  # @param voice [Vapi::AssistantOverridesVoice] These are the options for the assistant's voice.
178
+ # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
179
+ # a containerized audio file (mp3, wav, etc.).
180
+ # If unspecified, assistant will wait for user to speak and use the model to
181
+ # respond once they speak.
180
182
  # @param first_message_mode [Vapi::AssistantOverridesFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
181
183
  # Use:
182
184
  # - 'assistant-speaks-first' to have the assistant speak first.
@@ -191,7 +193,7 @@ module Vapi
191
193
  # the end of the call, you will still receive an end-of-call-report message to
192
194
  # store on your server. Defaults to false.
193
195
  # @param client_messages [Array<Vapi::AssistantOverridesClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
194
- # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
196
+ # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
195
197
  # You can check the shape of the messages in ClientMessage schema.
196
198
  # @param server_messages [Array<Vapi::AssistantOverridesServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
197
199
  # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
@@ -203,10 +205,6 @@ module Vapi
203
205
  # @default 600 (10 minutes)
204
206
  # @param background_sound [Vapi::AssistantOverridesBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
205
207
  # and default for web calls is 'off'.
206
- # @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
207
- # speaking.
208
- # Default `false` while in beta.
209
- # @default false
210
208
  # @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
211
209
  # Default `false` while in beta.
212
210
  # @default false
@@ -220,12 +218,15 @@ module Vapi
220
218
  # call transport provider is used.
221
219
  # @param variable_values [Hash{String => Object}] These are values that will be used to replace the template variables in the
222
220
  # assistant messages and other text-based fields.
221
+ # This uses LiquidJS syntax. https://liquidjs.com/tutorials/intro-to-liquid.html
222
+ # So for example, `{{ name }}` will be replaced with the value of `name` in
223
+ # `variableValues`.
224
+ # `{{"now" | date: "%b %d, %Y, %I:%M %p", "America/New_York"}}` will be replaced
225
+ # with the current date and time in New York.
226
+ # Some VAPI reserved defaults:
227
+ # - *customer* - the customer object
223
228
  # @param name [String] This is the name of the assistant.
224
229
  # This is required when you want to transfer between assistants in a call.
225
- # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
226
- # a containerized audio file (mp3, wav, etc.).
227
- # If unspecified, assistant will wait for user to speak and use the model to
228
- # respond once they speak.
229
230
  # @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
230
231
  # Alternatively, voicemail detection can be configured using the
231
232
  # model.tools=[VoicemailTool].
@@ -241,16 +242,6 @@ module Vapi
241
242
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
242
243
  # call to be hung up. Case insensitive.
243
244
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
244
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
245
- # is used for retrieving context, function calling, and end-of-call reports.
246
- # All requests will be sent with the call object among other things relevant to
247
- # that message. You can find more details in the Server URL documentation.
248
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
249
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
250
- # org.serverUrl
251
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
252
- # server. Will be sent as a header called x-vapi-secret.
253
- # Same precedence logic as serverUrl.
254
245
  # @param analysis_plan [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
255
246
  # @param artifact_plan [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
256
247
  # `call.artifact`.
@@ -289,13 +280,20 @@ module Vapi
289
280
  # @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
290
281
  # all the credentials are available for use in the call but you can provide a
291
282
  # subset using this.
283
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
284
+ # with their shape in ServerMessage schema.
285
+ # The order of precedence is:
286
+ # 1. assistant.server.url
287
+ # 2. phoneNumber.serverUrl
288
+ # 3. org.serverUrl
292
289
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
293
290
  # @return [Vapi::AssistantOverrides]
294
- def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message_mode: OMIT, hipaa_enabled: OMIT,
295
- client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, backchanneling_enabled: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, variable_values: OMIT, name: OMIT, first_message: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, server_url: OMIT, server_url_secret: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, additional_properties: nil)
291
+ def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
292
+ hipaa_enabled: OMIT, client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, variable_values: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, additional_properties: nil)
296
293
  @transcriber = transcriber if transcriber != OMIT
297
294
  @model = model if model != OMIT
298
295
  @voice = voice if voice != OMIT
296
+ @first_message = first_message if first_message != OMIT
299
297
  @first_message_mode = first_message_mode if first_message_mode != OMIT
300
298
  @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
301
299
  @client_messages = client_messages if client_messages != OMIT
@@ -303,20 +301,16 @@ module Vapi
303
301
  @silence_timeout_seconds = silence_timeout_seconds if silence_timeout_seconds != OMIT
304
302
  @max_duration_seconds = max_duration_seconds if max_duration_seconds != OMIT
305
303
  @background_sound = background_sound if background_sound != OMIT
306
- @backchanneling_enabled = backchanneling_enabled if backchanneling_enabled != OMIT
307
304
  @background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
308
305
  @model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
309
306
  @transport_configurations = transport_configurations if transport_configurations != OMIT
310
307
  @variable_values = variable_values if variable_values != OMIT
311
308
  @name = name if name != OMIT
312
- @first_message = first_message if first_message != OMIT
313
309
  @voicemail_detection = voicemail_detection if voicemail_detection != OMIT
314
310
  @voicemail_message = voicemail_message if voicemail_message != OMIT
315
311
  @end_call_message = end_call_message if end_call_message != OMIT
316
312
  @end_call_phrases = end_call_phrases if end_call_phrases != OMIT
317
313
  @metadata = metadata if metadata != OMIT
318
- @server_url = server_url if server_url != OMIT
319
- @server_url_secret = server_url_secret if server_url_secret != OMIT
320
314
  @analysis_plan = analysis_plan if analysis_plan != OMIT
321
315
  @artifact_plan = artifact_plan if artifact_plan != OMIT
322
316
  @message_plan = message_plan if message_plan != OMIT
@@ -324,11 +318,13 @@ module Vapi
324
318
  @stop_speaking_plan = stop_speaking_plan if stop_speaking_plan != OMIT
325
319
  @monitor_plan = monitor_plan if monitor_plan != OMIT
326
320
  @credential_ids = credential_ids if credential_ids != OMIT
321
+ @server = server if server != OMIT
327
322
  @additional_properties = additional_properties
328
323
  @_field_set = {
329
324
  "transcriber": transcriber,
330
325
  "model": model,
331
326
  "voice": voice,
327
+ "firstMessage": first_message,
332
328
  "firstMessageMode": first_message_mode,
333
329
  "hipaaEnabled": hipaa_enabled,
334
330
  "clientMessages": client_messages,
@@ -336,27 +332,24 @@ module Vapi
336
332
  "silenceTimeoutSeconds": silence_timeout_seconds,
337
333
  "maxDurationSeconds": max_duration_seconds,
338
334
  "backgroundSound": background_sound,
339
- "backchannelingEnabled": backchanneling_enabled,
340
335
  "backgroundDenoisingEnabled": background_denoising_enabled,
341
336
  "modelOutputInMessagesEnabled": model_output_in_messages_enabled,
342
337
  "transportConfigurations": transport_configurations,
343
338
  "variableValues": variable_values,
344
339
  "name": name,
345
- "firstMessage": first_message,
346
340
  "voicemailDetection": voicemail_detection,
347
341
  "voicemailMessage": voicemail_message,
348
342
  "endCallMessage": end_call_message,
349
343
  "endCallPhrases": end_call_phrases,
350
344
  "metadata": metadata,
351
- "serverUrl": server_url,
352
- "serverUrlSecret": server_url_secret,
353
345
  "analysisPlan": analysis_plan,
354
346
  "artifactPlan": artifact_plan,
355
347
  "messagePlan": message_plan,
356
348
  "startSpeakingPlan": start_speaking_plan,
357
349
  "stopSpeakingPlan": stop_speaking_plan,
358
350
  "monitorPlan": monitor_plan,
359
- "credentialIds": credential_ids
351
+ "credentialIds": credential_ids,
352
+ "server": server
360
353
  }.reject do |_k, v|
361
354
  v == OMIT
362
355
  end
@@ -387,6 +380,7 @@ module Vapi
387
380
  voice = parsed_json["voice"].to_json
388
381
  voice = Vapi::AssistantOverridesVoice.from_json(json_object: voice)
389
382
  end
383
+ first_message = parsed_json["firstMessage"]
390
384
  first_message_mode = parsed_json["firstMessageMode"]
391
385
  hipaa_enabled = parsed_json["hipaaEnabled"]
392
386
  client_messages = parsed_json["clientMessages"]
@@ -394,7 +388,6 @@ module Vapi
394
388
  silence_timeout_seconds = parsed_json["silenceTimeoutSeconds"]
395
389
  max_duration_seconds = parsed_json["maxDurationSeconds"]
396
390
  background_sound = parsed_json["backgroundSound"]
397
- backchanneling_enabled = parsed_json["backchannelingEnabled"]
398
391
  background_denoising_enabled = parsed_json["backgroundDenoisingEnabled"]
399
392
  model_output_in_messages_enabled = parsed_json["modelOutputInMessagesEnabled"]
400
393
  transport_configurations = parsed_json["transportConfigurations"]&.map do |item|
@@ -403,7 +396,6 @@ module Vapi
403
396
  end
404
397
  variable_values = parsed_json["variableValues"]
405
398
  name = parsed_json["name"]
406
- first_message = parsed_json["firstMessage"]
407
399
  if parsed_json["voicemailDetection"].nil?
408
400
  voicemail_detection = nil
409
401
  else
@@ -414,8 +406,6 @@ module Vapi
414
406
  end_call_message = parsed_json["endCallMessage"]
415
407
  end_call_phrases = parsed_json["endCallPhrases"]
416
408
  metadata = parsed_json["metadata"]
417
- server_url = parsed_json["serverUrl"]
418
- server_url_secret = parsed_json["serverUrlSecret"]
419
409
  if parsed_json["analysisPlan"].nil?
420
410
  analysis_plan = nil
421
411
  else
@@ -453,10 +443,17 @@ module Vapi
453
443
  monitor_plan = Vapi::MonitorPlan.from_json(json_object: monitor_plan)
454
444
  end
455
445
  credential_ids = parsed_json["credentialIds"]
446
+ if parsed_json["server"].nil?
447
+ server = nil
448
+ else
449
+ server = parsed_json["server"].to_json
450
+ server = Vapi::Server.from_json(json_object: server)
451
+ end
456
452
  new(
457
453
  transcriber: transcriber,
458
454
  model: model,
459
455
  voice: voice,
456
+ first_message: first_message,
460
457
  first_message_mode: first_message_mode,
461
458
  hipaa_enabled: hipaa_enabled,
462
459
  client_messages: client_messages,
@@ -464,20 +461,16 @@ module Vapi
464
461
  silence_timeout_seconds: silence_timeout_seconds,
465
462
  max_duration_seconds: max_duration_seconds,
466
463
  background_sound: background_sound,
467
- backchanneling_enabled: backchanneling_enabled,
468
464
  background_denoising_enabled: background_denoising_enabled,
469
465
  model_output_in_messages_enabled: model_output_in_messages_enabled,
470
466
  transport_configurations: transport_configurations,
471
467
  variable_values: variable_values,
472
468
  name: name,
473
- first_message: first_message,
474
469
  voicemail_detection: voicemail_detection,
475
470
  voicemail_message: voicemail_message,
476
471
  end_call_message: end_call_message,
477
472
  end_call_phrases: end_call_phrases,
478
473
  metadata: metadata,
479
- server_url: server_url,
480
- server_url_secret: server_url_secret,
481
474
  analysis_plan: analysis_plan,
482
475
  artifact_plan: artifact_plan,
483
476
  message_plan: message_plan,
@@ -485,6 +478,7 @@ module Vapi
485
478
  stop_speaking_plan: stop_speaking_plan,
486
479
  monitor_plan: monitor_plan,
487
480
  credential_ids: credential_ids,
481
+ server: server,
488
482
  additional_properties: struct
489
483
  )
490
484
  end
@@ -506,6 +500,7 @@ module Vapi
506
500
  obj.transcriber.nil? || Vapi::AssistantOverridesTranscriber.validate_raw(obj: obj.transcriber)
507
501
  obj.model.nil? || Vapi::AssistantOverridesModel.validate_raw(obj: obj.model)
508
502
  obj.voice.nil? || Vapi::AssistantOverridesVoice.validate_raw(obj: obj.voice)
503
+ obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
509
504
  obj.first_message_mode&.is_a?(Vapi::AssistantOverridesFirstMessageMode) != false || raise("Passed value for field obj.first_message_mode is not the expected type, validation failed.")
510
505
  obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
511
506
  obj.client_messages&.is_a?(Array) != false || raise("Passed value for field obj.client_messages is not the expected type, validation failed.")
@@ -513,20 +508,16 @@ module Vapi
513
508
  obj.silence_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.silence_timeout_seconds is not the expected type, validation failed.")
514
509
  obj.max_duration_seconds&.is_a?(Float) != false || raise("Passed value for field obj.max_duration_seconds is not the expected type, validation failed.")
515
510
  obj.background_sound&.is_a?(Vapi::AssistantOverridesBackgroundSound) != false || raise("Passed value for field obj.background_sound is not the expected type, validation failed.")
516
- obj.backchanneling_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.backchanneling_enabled is not the expected type, validation failed.")
517
511
  obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
518
512
  obj.model_output_in_messages_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.model_output_in_messages_enabled is not the expected type, validation failed.")
519
513
  obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
520
514
  obj.variable_values&.is_a?(Hash) != false || raise("Passed value for field obj.variable_values is not the expected type, validation failed.")
521
515
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
522
- obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
523
516
  obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
524
517
  obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
525
518
  obj.end_call_message&.is_a?(String) != false || raise("Passed value for field obj.end_call_message is not the expected type, validation failed.")
526
519
  obj.end_call_phrases&.is_a?(Array) != false || raise("Passed value for field obj.end_call_phrases is not the expected type, validation failed.")
527
520
  obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
528
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
529
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
530
521
  obj.analysis_plan.nil? || Vapi::AnalysisPlan.validate_raw(obj: obj.analysis_plan)
531
522
  obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
532
523
  obj.message_plan.nil? || Vapi::MessagePlan.validate_raw(obj: obj.message_plan)
@@ -534,6 +525,7 @@ module Vapi
534
525
  obj.stop_speaking_plan.nil? || Vapi::StopSpeakingPlan.validate_raw(obj: obj.stop_speaking_plan)
535
526
  obj.monitor_plan.nil? || Vapi::MonitorPlan.validate_raw(obj: obj.monitor_plan)
536
527
  obj.credential_ids&.is_a?(Array) != false || raise("Passed value for field obj.credential_ids is not the expected type, validation failed.")
528
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
537
529
  end
538
530
  end
539
531
  end
@@ -14,6 +14,7 @@ module Vapi
14
14
  TRANSCRIPT = "transcript"
15
15
  TOOL_CALLS = "tool-calls"
16
16
  TOOL_CALLS_RESULT = "tool-calls-result"
17
+ TRANSFER_UPDATE = "transfer-update"
17
18
  USER_INTERRUPTED = "user-interrupted"
18
19
  VOICE_INPUT = "voice-input"
19
20
  end
@@ -5,12 +5,15 @@ require_relative "anyscale_model"
5
5
  require_relative "anthropic_model"
6
6
  require_relative "custom_llm_model"
7
7
  require_relative "deep_infra_model"
8
+ require_relative "google_model"
8
9
  require_relative "groq_model"
10
+ require_relative "inflection_ai_model"
9
11
  require_relative "open_ai_model"
10
12
  require_relative "open_router_model"
11
13
  require_relative "perplexity_ai_model"
12
14
  require_relative "together_ai_model"
13
15
  require_relative "vapi_model"
16
+ require_relative "xai_model"
14
17
 
15
18
  module Vapi
16
19
  # These are the options for the assistant's LLM.
@@ -46,8 +49,12 @@ module Vapi
46
49
  Vapi::CustomLlmModel.from_json(json_object: json_object)
47
50
  when "deepinfra"
48
51
  Vapi::DeepInfraModel.from_json(json_object: json_object)
52
+ when "google"
53
+ Vapi::GoogleModel.from_json(json_object: json_object)
49
54
  when "groq"
50
55
  Vapi::GroqModel.from_json(json_object: json_object)
56
+ when "inflection-ai"
57
+ Vapi::InflectionAiModel.from_json(json_object: json_object)
51
58
  when "openai"
52
59
  Vapi::OpenAiModel.from_json(json_object: json_object)
53
60
  when "openrouter"
@@ -58,6 +65,8 @@ module Vapi
58
65
  Vapi::TogetherAiModel.from_json(json_object: json_object)
59
66
  when "vapi"
60
67
  Vapi::VapiModel.from_json(json_object: json_object)
68
+ when "xai"
69
+ Vapi::XaiModel.from_json(json_object: json_object)
61
70
  else
62
71
  Vapi::AnyscaleModel.from_json(json_object: json_object)
63
72
  end
@@ -77,8 +86,12 @@ module Vapi
77
86
  { **@member.to_json, provider: @discriminant }.to_json
78
87
  when "deepinfra"
79
88
  { **@member.to_json, provider: @discriminant }.to_json
89
+ when "google"
90
+ { **@member.to_json, provider: @discriminant }.to_json
80
91
  when "groq"
81
92
  { **@member.to_json, provider: @discriminant }.to_json
93
+ when "inflection-ai"
94
+ { **@member.to_json, provider: @discriminant }.to_json
82
95
  when "openai"
83
96
  { **@member.to_json, provider: @discriminant }.to_json
84
97
  when "openrouter"
@@ -89,6 +102,8 @@ module Vapi
89
102
  { **@member.to_json, provider: @discriminant }.to_json
90
103
  when "vapi"
91
104
  { **@member.to_json, provider: @discriminant }.to_json
105
+ when "xai"
106
+ { **@member.to_json, provider: @discriminant }.to_json
92
107
  else
93
108
  { "provider": @discriminant, value: @member }.to_json
94
109
  end
@@ -111,8 +126,12 @@ module Vapi
111
126
  Vapi::CustomLlmModel.validate_raw(obj: obj)
112
127
  when "deepinfra"
113
128
  Vapi::DeepInfraModel.validate_raw(obj: obj)
129
+ when "google"
130
+ Vapi::GoogleModel.validate_raw(obj: obj)
114
131
  when "groq"
115
132
  Vapi::GroqModel.validate_raw(obj: obj)
133
+ when "inflection-ai"
134
+ Vapi::InflectionAiModel.validate_raw(obj: obj)
116
135
  when "openai"
117
136
  Vapi::OpenAiModel.validate_raw(obj: obj)
118
137
  when "openrouter"
@@ -123,6 +142,8 @@ module Vapi
123
142
  Vapi::TogetherAiModel.validate_raw(obj: obj)
124
143
  when "vapi"
125
144
  Vapi::VapiModel.validate_raw(obj: obj)
145
+ when "xai"
146
+ Vapi::XaiModel.validate_raw(obj: obj)
126
147
  else
127
148
  raise("Passed value matched no type within the union, validation failed.")
128
149
  end
@@ -160,12 +181,24 @@ module Vapi
160
181
  new(member: member, discriminant: "deepinfra")
161
182
  end
162
183
 
184
+ # @param member [Vapi::GoogleModel]
185
+ # @return [Vapi::AssistantOverridesModel]
186
+ def self.google(member:)
187
+ new(member: member, discriminant: "google")
188
+ end
189
+
163
190
  # @param member [Vapi::GroqModel]
164
191
  # @return [Vapi::AssistantOverridesModel]
165
192
  def self.groq(member:)
166
193
  new(member: member, discriminant: "groq")
167
194
  end
168
195
 
196
+ # @param member [Vapi::InflectionAiModel]
197
+ # @return [Vapi::AssistantOverridesModel]
198
+ def self.inflection_ai(member:)
199
+ new(member: member, discriminant: "inflection-ai")
200
+ end
201
+
169
202
  # @param member [Vapi::OpenAiModel]
170
203
  # @return [Vapi::AssistantOverridesModel]
171
204
  def self.openai(member:)
@@ -195,5 +228,11 @@ module Vapi
195
228
  def self.vapi(member:)
196
229
  new(member: member, discriminant: "vapi")
197
230
  end
231
+
232
+ # @param member [Vapi::XaiModel]
233
+ # @return [Vapi::AssistantOverridesModel]
234
+ def self.xai(member:)
235
+ new(member: member, discriminant: "xai")
236
+ end
198
237
  end
199
238
  end
@@ -7,6 +7,7 @@ module Vapi
7
7
  FUNCTION_CALL = "function-call"
8
8
  HANG = "hang"
9
9
  LANGUAGE_CHANGED = "language-changed"
10
+ LANGUAGE_CHANGE_DETECTED = "language-change-detected"
10
11
  MODEL_OUTPUT = "model-output"
11
12
  PHONE_CALL_CONTROL = "phone-call-control"
12
13
  SPEECH_UPDATE = "speech-update"