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
@@ -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::CreateAssistantDtoVoice] 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::CreateAssistantDtoFirstMessageMode] 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::CreateAssistantDtoClientMessagesItem>] 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::CreateAssistantDtoServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
@@ -59,11 +65,6 @@ module Vapi
59
65
  # @return [Vapi::CreateAssistantDtoBackgroundSound] 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
@@ -81,11 +82,6 @@ module Vapi
81
82
  # @return [String] This is the name of the assistant.
82
83
  # This is required when you want to transfer between assistants in a call.
83
84
  attr_reader :name
84
- # @return [String] This is the first message that the assistant will say. This can also be a URL to
85
- # a containerized audio file (mp3, wav, etc.).
86
- # If unspecified, assistant will wait for user to speak and use the model to
87
- # respond once they speak.
88
- attr_reader :first_message
89
85
  # @return [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
90
86
  # Alternatively, voicemail detection can be configured using the
91
87
  # model.tools=[VoicemailTool].
@@ -106,18 +102,6 @@ module Vapi
106
102
  attr_reader :end_call_phrases
107
103
  # @return [Hash{String => Object}] This is for metadata you want to store on the assistant.
108
104
  attr_reader :metadata
109
- # @return [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
110
- # is used for retrieving context, function calling, and end-of-call reports.
111
- # All requests will be sent with the call object among other things relevant to
112
- # that message. You can find more details in the Server URL documentation.
113
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
114
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
115
- # org.serverUrl
116
- attr_reader :server_url
117
- # @return [String] This is the secret you can set that Vapi will send with every request to your
118
- # server. Will be sent as a header called x-vapi-secret.
119
- # Same precedence logic as serverUrl.
120
- attr_reader :server_url_secret
121
105
  # @return [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
122
106
  attr_reader :analysis_plan
123
107
  # @return [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
@@ -163,6 +147,13 @@ module Vapi
163
147
  # all the credentials are available for use in the call but you can provide a
164
148
  # subset using this.
165
149
  attr_reader :credential_ids
150
+ # @return [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
151
+ # with their shape in ServerMessage schema.
152
+ # The order of precedence is:
153
+ # 1. assistant.server.url
154
+ # 2. phoneNumber.serverUrl
155
+ # 3. org.serverUrl
156
+ attr_reader :server
166
157
  # @return [OpenStruct] Additional properties unmapped to the current class definition
167
158
  attr_reader :additional_properties
168
159
  # @return [Object]
@@ -174,6 +165,10 @@ module Vapi
174
165
  # @param transcriber [Vapi::CreateAssistantDtoTranscriber] These are the options for the assistant's transcriber.
175
166
  # @param model [Vapi::CreateAssistantDtoModel] These are the options for the assistant's LLM.
176
167
  # @param voice [Vapi::CreateAssistantDtoVoice] These are the options for the assistant's voice.
168
+ # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
169
+ # a containerized audio file (mp3, wav, etc.).
170
+ # If unspecified, assistant will wait for user to speak and use the model to
171
+ # respond once they speak.
177
172
  # @param first_message_mode [Vapi::CreateAssistantDtoFirstMessageMode] This is the mode for the first message. Default is 'assistant-speaks-first'.
178
173
  # Use:
179
174
  # - 'assistant-speaks-first' to have the assistant speak first.
@@ -188,7 +183,7 @@ module Vapi
188
183
  # the end of the call, you will still receive an end-of-call-report message to
189
184
  # store on your server. Defaults to false.
190
185
  # @param client_messages [Array<Vapi::CreateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
191
- # ,speech-update,status-update,transcript,tool-calls,user-interrupted,voice-input.
186
+ # tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
192
187
  # You can check the shape of the messages in ClientMessage schema.
193
188
  # @param server_messages [Array<Vapi::CreateAssistantDtoServerMessagesItem>] These are the messages that will be sent to your Server URL. Default is
194
189
  # h-update,status-update,tool-calls,transfer-destination-request,user-interrupted.
@@ -200,10 +195,6 @@ module Vapi
200
195
  # @default 600 (10 minutes)
201
196
  # @param background_sound [Vapi::CreateAssistantDtoBackgroundSound] This is the background sound in the call. Default for phone calls is 'office'
202
197
  # and default for web calls is 'off'.
203
- # @param backchanneling_enabled [Boolean] This determines whether the model says 'mhmm', 'ahem' etc. while user is
204
- # speaking.
205
- # Default `false` while in beta.
206
- # @default false
207
198
  # @param background_denoising_enabled [Boolean] This enables filtering of noise and background speech while the user is talking.
208
199
  # Default `false` while in beta.
209
200
  # @default false
@@ -217,10 +208,6 @@ module Vapi
217
208
  # call transport provider is used.
218
209
  # @param name [String] This is the name of the assistant.
219
210
  # This is required when you want to transfer between assistants in a call.
220
- # @param first_message [String] This is the first message that the assistant will say. This can also be a URL to
221
- # a containerized audio file (mp3, wav, etc.).
222
- # If unspecified, assistant will wait for user to speak and use the model to
223
- # respond once they speak.
224
211
  # @param voicemail_detection [Vapi::TwilioVoicemailDetection] These are the settings to configure or disable voicemail detection.
225
212
  # Alternatively, voicemail detection can be configured using the
226
213
  # model.tools=[VoicemailTool].
@@ -236,16 +223,6 @@ module Vapi
236
223
  # @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
237
224
  # call to be hung up. Case insensitive.
238
225
  # @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
239
- # @param server_url [String] This is the URL Vapi will communicate with via HTTP GET and POST Requests. This
240
- # is used for retrieving context, function calling, and end-of-call reports.
241
- # All requests will be sent with the call object among other things relevant to
242
- # that message. You can find more details in the Server URL documentation.
243
- # This overrides the serverUrl set on the org and the phoneNumber. Order of
244
- # precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl >
245
- # org.serverUrl
246
- # @param server_url_secret [String] This is the secret you can set that Vapi will send with every request to your
247
- # server. Will be sent as a header called x-vapi-secret.
248
- # Same precedence logic as serverUrl.
249
226
  # @param analysis_plan [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
250
227
  # @param artifact_plan [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
251
228
  # `call.artifact`.
@@ -284,13 +261,20 @@ module Vapi
284
261
  # @param credential_ids [Array<String>] These are the credentials that will be used for the assistant calls. By default,
285
262
  # all the credentials are available for use in the call but you can provide a
286
263
  # subset using this.
264
+ # @param server [Vapi::Server] This is where Vapi will send webhooks. You can find all webhooks available along
265
+ # with their shape in ServerMessage schema.
266
+ # The order of precedence is:
267
+ # 1. assistant.server.url
268
+ # 2. phoneNumber.serverUrl
269
+ # 3. org.serverUrl
287
270
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
288
271
  # @return [Vapi::CreateAssistantDto]
289
- def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message_mode: OMIT, hipaa_enabled: OMIT,
290
- 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, 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)
272
+ def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
273
+ 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, 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)
291
274
  @transcriber = transcriber if transcriber != OMIT
292
275
  @model = model if model != OMIT
293
276
  @voice = voice if voice != OMIT
277
+ @first_message = first_message if first_message != OMIT
294
278
  @first_message_mode = first_message_mode if first_message_mode != OMIT
295
279
  @hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
296
280
  @client_messages = client_messages if client_messages != OMIT
@@ -298,19 +282,15 @@ module Vapi
298
282
  @silence_timeout_seconds = silence_timeout_seconds if silence_timeout_seconds != OMIT
299
283
  @max_duration_seconds = max_duration_seconds if max_duration_seconds != OMIT
300
284
  @background_sound = background_sound if background_sound != OMIT
301
- @backchanneling_enabled = backchanneling_enabled if backchanneling_enabled != OMIT
302
285
  @background_denoising_enabled = background_denoising_enabled if background_denoising_enabled != OMIT
303
286
  @model_output_in_messages_enabled = model_output_in_messages_enabled if model_output_in_messages_enabled != OMIT
304
287
  @transport_configurations = transport_configurations if transport_configurations != OMIT
305
288
  @name = name if name != OMIT
306
- @first_message = first_message if first_message != OMIT
307
289
  @voicemail_detection = voicemail_detection if voicemail_detection != OMIT
308
290
  @voicemail_message = voicemail_message if voicemail_message != OMIT
309
291
  @end_call_message = end_call_message if end_call_message != OMIT
310
292
  @end_call_phrases = end_call_phrases if end_call_phrases != OMIT
311
293
  @metadata = metadata if metadata != OMIT
312
- @server_url = server_url if server_url != OMIT
313
- @server_url_secret = server_url_secret if server_url_secret != OMIT
314
294
  @analysis_plan = analysis_plan if analysis_plan != OMIT
315
295
  @artifact_plan = artifact_plan if artifact_plan != OMIT
316
296
  @message_plan = message_plan if message_plan != OMIT
@@ -318,11 +298,13 @@ module Vapi
318
298
  @stop_speaking_plan = stop_speaking_plan if stop_speaking_plan != OMIT
319
299
  @monitor_plan = monitor_plan if monitor_plan != OMIT
320
300
  @credential_ids = credential_ids if credential_ids != OMIT
301
+ @server = server if server != OMIT
321
302
  @additional_properties = additional_properties
322
303
  @_field_set = {
323
304
  "transcriber": transcriber,
324
305
  "model": model,
325
306
  "voice": voice,
307
+ "firstMessage": first_message,
326
308
  "firstMessageMode": first_message_mode,
327
309
  "hipaaEnabled": hipaa_enabled,
328
310
  "clientMessages": client_messages,
@@ -330,26 +312,23 @@ module Vapi
330
312
  "silenceTimeoutSeconds": silence_timeout_seconds,
331
313
  "maxDurationSeconds": max_duration_seconds,
332
314
  "backgroundSound": background_sound,
333
- "backchannelingEnabled": backchanneling_enabled,
334
315
  "backgroundDenoisingEnabled": background_denoising_enabled,
335
316
  "modelOutputInMessagesEnabled": model_output_in_messages_enabled,
336
317
  "transportConfigurations": transport_configurations,
337
318
  "name": name,
338
- "firstMessage": first_message,
339
319
  "voicemailDetection": voicemail_detection,
340
320
  "voicemailMessage": voicemail_message,
341
321
  "endCallMessage": end_call_message,
342
322
  "endCallPhrases": end_call_phrases,
343
323
  "metadata": metadata,
344
- "serverUrl": server_url,
345
- "serverUrlSecret": server_url_secret,
346
324
  "analysisPlan": analysis_plan,
347
325
  "artifactPlan": artifact_plan,
348
326
  "messagePlan": message_plan,
349
327
  "startSpeakingPlan": start_speaking_plan,
350
328
  "stopSpeakingPlan": stop_speaking_plan,
351
329
  "monitorPlan": monitor_plan,
352
- "credentialIds": credential_ids
330
+ "credentialIds": credential_ids,
331
+ "server": server
353
332
  }.reject do |_k, v|
354
333
  v == OMIT
355
334
  end
@@ -380,6 +359,7 @@ module Vapi
380
359
  voice = parsed_json["voice"].to_json
381
360
  voice = Vapi::CreateAssistantDtoVoice.from_json(json_object: voice)
382
361
  end
362
+ first_message = parsed_json["firstMessage"]
383
363
  first_message_mode = parsed_json["firstMessageMode"]
384
364
  hipaa_enabled = parsed_json["hipaaEnabled"]
385
365
  client_messages = parsed_json["clientMessages"]
@@ -387,7 +367,6 @@ module Vapi
387
367
  silence_timeout_seconds = parsed_json["silenceTimeoutSeconds"]
388
368
  max_duration_seconds = parsed_json["maxDurationSeconds"]
389
369
  background_sound = parsed_json["backgroundSound"]
390
- backchanneling_enabled = parsed_json["backchannelingEnabled"]
391
370
  background_denoising_enabled = parsed_json["backgroundDenoisingEnabled"]
392
371
  model_output_in_messages_enabled = parsed_json["modelOutputInMessagesEnabled"]
393
372
  transport_configurations = parsed_json["transportConfigurations"]&.map do |item|
@@ -395,7 +374,6 @@ module Vapi
395
374
  Vapi::TransportConfigurationTwilio.from_json(json_object: item)
396
375
  end
397
376
  name = parsed_json["name"]
398
- first_message = parsed_json["firstMessage"]
399
377
  if parsed_json["voicemailDetection"].nil?
400
378
  voicemail_detection = nil
401
379
  else
@@ -406,8 +384,6 @@ module Vapi
406
384
  end_call_message = parsed_json["endCallMessage"]
407
385
  end_call_phrases = parsed_json["endCallPhrases"]
408
386
  metadata = parsed_json["metadata"]
409
- server_url = parsed_json["serverUrl"]
410
- server_url_secret = parsed_json["serverUrlSecret"]
411
387
  if parsed_json["analysisPlan"].nil?
412
388
  analysis_plan = nil
413
389
  else
@@ -445,10 +421,17 @@ module Vapi
445
421
  monitor_plan = Vapi::MonitorPlan.from_json(json_object: monitor_plan)
446
422
  end
447
423
  credential_ids = parsed_json["credentialIds"]
424
+ if parsed_json["server"].nil?
425
+ server = nil
426
+ else
427
+ server = parsed_json["server"].to_json
428
+ server = Vapi::Server.from_json(json_object: server)
429
+ end
448
430
  new(
449
431
  transcriber: transcriber,
450
432
  model: model,
451
433
  voice: voice,
434
+ first_message: first_message,
452
435
  first_message_mode: first_message_mode,
453
436
  hipaa_enabled: hipaa_enabled,
454
437
  client_messages: client_messages,
@@ -456,19 +439,15 @@ module Vapi
456
439
  silence_timeout_seconds: silence_timeout_seconds,
457
440
  max_duration_seconds: max_duration_seconds,
458
441
  background_sound: background_sound,
459
- backchanneling_enabled: backchanneling_enabled,
460
442
  background_denoising_enabled: background_denoising_enabled,
461
443
  model_output_in_messages_enabled: model_output_in_messages_enabled,
462
444
  transport_configurations: transport_configurations,
463
445
  name: name,
464
- first_message: first_message,
465
446
  voicemail_detection: voicemail_detection,
466
447
  voicemail_message: voicemail_message,
467
448
  end_call_message: end_call_message,
468
449
  end_call_phrases: end_call_phrases,
469
450
  metadata: metadata,
470
- server_url: server_url,
471
- server_url_secret: server_url_secret,
472
451
  analysis_plan: analysis_plan,
473
452
  artifact_plan: artifact_plan,
474
453
  message_plan: message_plan,
@@ -476,6 +455,7 @@ module Vapi
476
455
  stop_speaking_plan: stop_speaking_plan,
477
456
  monitor_plan: monitor_plan,
478
457
  credential_ids: credential_ids,
458
+ server: server,
479
459
  additional_properties: struct
480
460
  )
481
461
  end
@@ -497,6 +477,7 @@ module Vapi
497
477
  obj.transcriber.nil? || Vapi::CreateAssistantDtoTranscriber.validate_raw(obj: obj.transcriber)
498
478
  obj.model.nil? || Vapi::CreateAssistantDtoModel.validate_raw(obj: obj.model)
499
479
  obj.voice.nil? || Vapi::CreateAssistantDtoVoice.validate_raw(obj: obj.voice)
480
+ obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
500
481
  obj.first_message_mode&.is_a?(Vapi::CreateAssistantDtoFirstMessageMode) != false || raise("Passed value for field obj.first_message_mode is not the expected type, validation failed.")
501
482
  obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
502
483
  obj.client_messages&.is_a?(Array) != false || raise("Passed value for field obj.client_messages is not the expected type, validation failed.")
@@ -504,19 +485,15 @@ module Vapi
504
485
  obj.silence_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.silence_timeout_seconds is not the expected type, validation failed.")
505
486
  obj.max_duration_seconds&.is_a?(Float) != false || raise("Passed value for field obj.max_duration_seconds is not the expected type, validation failed.")
506
487
  obj.background_sound&.is_a?(Vapi::CreateAssistantDtoBackgroundSound) != false || raise("Passed value for field obj.background_sound is not the expected type, validation failed.")
507
- obj.backchanneling_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.backchanneling_enabled is not the expected type, validation failed.")
508
488
  obj.background_denoising_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.background_denoising_enabled is not the expected type, validation failed.")
509
489
  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.")
510
490
  obj.transport_configurations&.is_a?(Array) != false || raise("Passed value for field obj.transport_configurations is not the expected type, validation failed.")
511
491
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
512
- obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
513
492
  obj.voicemail_detection.nil? || Vapi::TwilioVoicemailDetection.validate_raw(obj: obj.voicemail_detection)
514
493
  obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
515
494
  obj.end_call_message&.is_a?(String) != false || raise("Passed value for field obj.end_call_message is not the expected type, validation failed.")
516
495
  obj.end_call_phrases&.is_a?(Array) != false || raise("Passed value for field obj.end_call_phrases is not the expected type, validation failed.")
517
496
  obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
518
- obj.server_url&.is_a?(String) != false || raise("Passed value for field obj.server_url is not the expected type, validation failed.")
519
- obj.server_url_secret&.is_a?(String) != false || raise("Passed value for field obj.server_url_secret is not the expected type, validation failed.")
520
497
  obj.analysis_plan.nil? || Vapi::AnalysisPlan.validate_raw(obj: obj.analysis_plan)
521
498
  obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
522
499
  obj.message_plan.nil? || Vapi::MessagePlan.validate_raw(obj: obj.message_plan)
@@ -524,6 +501,7 @@ module Vapi
524
501
  obj.stop_speaking_plan.nil? || Vapi::StopSpeakingPlan.validate_raw(obj: obj.stop_speaking_plan)
525
502
  obj.monitor_plan.nil? || Vapi::MonitorPlan.validate_raw(obj: obj.monitor_plan)
526
503
  obj.credential_ids&.is_a?(Array) != false || raise("Passed value for field obj.credential_ids is not the expected type, validation failed.")
504
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
527
505
  end
528
506
  end
529
507
  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::CreateAssistantDtoModel]
186
+ def self.google(member:)
187
+ new(member: member, discriminant: "google")
188
+ end
189
+
163
190
  # @param member [Vapi::GroqModel]
164
191
  # @return [Vapi::CreateAssistantDtoModel]
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::CreateAssistantDtoModel]
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::CreateAssistantDtoModel]
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::CreateAssistantDtoModel]
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"
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
+ require_relative "assembly_ai_transcriber"
5
+ require_relative "custom_transcriber"
4
6
  require_relative "deepgram_transcriber"
5
7
  require_relative "gladia_transcriber"
6
8
  require_relative "talkscriber_transcriber"
@@ -31,6 +33,10 @@ module Vapi
31
33
  def self.from_json(json_object:)
32
34
  struct = JSON.parse(json_object, object_class: OpenStruct)
33
35
  member = case struct.provider
36
+ when "assembly-ai"
37
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
38
+ when "custom-transcriber"
39
+ Vapi::CustomTranscriber.from_json(json_object: json_object)
34
40
  when "deepgram"
35
41
  Vapi::DeepgramTranscriber.from_json(json_object: json_object)
36
42
  when "gladia"
@@ -38,7 +44,7 @@ module Vapi
38
44
  when "talkscriber"
39
45
  Vapi::TalkscriberTranscriber.from_json(json_object: json_object)
40
46
  else
41
- Vapi::DeepgramTranscriber.from_json(json_object: json_object)
47
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
42
48
  end
43
49
  new(member: member, discriminant: struct.provider)
44
50
  end
@@ -48,6 +54,10 @@ module Vapi
48
54
  # @return [String]
49
55
  def to_json(*_args)
50
56
  case @discriminant
57
+ when "assembly-ai"
58
+ { **@member.to_json, provider: @discriminant }.to_json
59
+ when "custom-transcriber"
60
+ { **@member.to_json, provider: @discriminant }.to_json
51
61
  when "deepgram"
52
62
  { **@member.to_json, provider: @discriminant }.to_json
53
63
  when "gladia"
@@ -68,6 +78,10 @@ module Vapi
68
78
  # @return [Void]
69
79
  def self.validate_raw(obj:)
70
80
  case obj.provider
81
+ when "assembly-ai"
82
+ Vapi::AssemblyAiTranscriber.validate_raw(obj: obj)
83
+ when "custom-transcriber"
84
+ Vapi::CustomTranscriber.validate_raw(obj: obj)
71
85
  when "deepgram"
72
86
  Vapi::DeepgramTranscriber.validate_raw(obj: obj)
73
87
  when "gladia"
@@ -87,6 +101,18 @@ module Vapi
87
101
  @member.is_a?(obj)
88
102
  end
89
103
 
104
+ # @param member [Vapi::AssemblyAiTranscriber]
105
+ # @return [Vapi::CreateAssistantDtoTranscriber]
106
+ def self.assembly_ai(member:)
107
+ new(member: member, discriminant: "assembly-ai")
108
+ end
109
+
110
+ # @param member [Vapi::CustomTranscriber]
111
+ # @return [Vapi::CreateAssistantDtoTranscriber]
112
+ def self.custom_transcriber(member:)
113
+ new(member: member, discriminant: "custom-transcriber")
114
+ end
115
+
90
116
  # @param member [Vapi::DeepgramTranscriber]
91
117
  # @return [Vapi::CreateAssistantDtoTranscriber]
92
118
  def self.deepgram(member:)
@@ -3,6 +3,7 @@
3
3
  require "json"
4
4
  require_relative "azure_voice"
5
5
  require_relative "cartesia_voice"
6
+ require_relative "custom_voice"
6
7
  require_relative "deepgram_voice"
7
8
  require_relative "eleven_labs_voice"
8
9
  require_relative "lmnt_voice"
@@ -10,6 +11,7 @@ require_relative "neets_voice"
10
11
  require_relative "open_ai_voice"
11
12
  require_relative "play_ht_voice"
12
13
  require_relative "rime_ai_voice"
14
+ require_relative "tavus_voice"
13
15
 
14
16
  module Vapi
15
17
  # These are the options for the assistant's voice.
@@ -41,6 +43,8 @@ module Vapi
41
43
  Vapi::AzureVoice.from_json(json_object: json_object)
42
44
  when "cartesia"
43
45
  Vapi::CartesiaVoice.from_json(json_object: json_object)
46
+ when "custom-voice"
47
+ Vapi::CustomVoice.from_json(json_object: json_object)
44
48
  when "deepgram"
45
49
  Vapi::DeepgramVoice.from_json(json_object: json_object)
46
50
  when "11labs"
@@ -55,6 +59,8 @@ module Vapi
55
59
  Vapi::PlayHtVoice.from_json(json_object: json_object)
56
60
  when "rime-ai"
57
61
  Vapi::RimeAiVoice.from_json(json_object: json_object)
62
+ when "tavus"
63
+ Vapi::TavusVoice.from_json(json_object: json_object)
58
64
  else
59
65
  Vapi::AzureVoice.from_json(json_object: json_object)
60
66
  end
@@ -70,6 +76,8 @@ module Vapi
70
76
  { **@member.to_json, provider: @discriminant }.to_json
71
77
  when "cartesia"
72
78
  { **@member.to_json, provider: @discriminant }.to_json
79
+ when "custom-voice"
80
+ { **@member.to_json, provider: @discriminant }.to_json
73
81
  when "deepgram"
74
82
  { **@member.to_json, provider: @discriminant }.to_json
75
83
  when "11labs"
@@ -84,6 +92,8 @@ module Vapi
84
92
  { **@member.to_json, provider: @discriminant }.to_json
85
93
  when "rime-ai"
86
94
  { **@member.to_json, provider: @discriminant }.to_json
95
+ when "tavus"
96
+ { **@member.to_json, provider: @discriminant }.to_json
87
97
  else
88
98
  { "provider": @discriminant, value: @member }.to_json
89
99
  end
@@ -102,6 +112,8 @@ module Vapi
102
112
  Vapi::AzureVoice.validate_raw(obj: obj)
103
113
  when "cartesia"
104
114
  Vapi::CartesiaVoice.validate_raw(obj: obj)
115
+ when "custom-voice"
116
+ Vapi::CustomVoice.validate_raw(obj: obj)
105
117
  when "deepgram"
106
118
  Vapi::DeepgramVoice.validate_raw(obj: obj)
107
119
  when "11labs"
@@ -116,6 +128,8 @@ module Vapi
116
128
  Vapi::PlayHtVoice.validate_raw(obj: obj)
117
129
  when "rime-ai"
118
130
  Vapi::RimeAiVoice.validate_raw(obj: obj)
131
+ when "tavus"
132
+ Vapi::TavusVoice.validate_raw(obj: obj)
119
133
  else
120
134
  raise("Passed value matched no type within the union, validation failed.")
121
135
  end
@@ -141,6 +155,12 @@ module Vapi
141
155
  new(member: member, discriminant: "cartesia")
142
156
  end
143
157
 
158
+ # @param member [Vapi::CustomVoice]
159
+ # @return [Vapi::CreateAssistantDtoVoice]
160
+ def self.custom_voice(member:)
161
+ new(member: member, discriminant: "custom-voice")
162
+ end
163
+
144
164
  # @param member [Vapi::DeepgramVoice]
145
165
  # @return [Vapi::CreateAssistantDtoVoice]
146
166
  def self.deepgram(member:)
@@ -182,5 +202,11 @@ module Vapi
182
202
  def self.rime_ai(member:)
183
203
  new(member: member, discriminant: "rime-ai")
184
204
  end
205
+
206
+ # @param member [Vapi::TavusVoice]
207
+ # @return [Vapi::CreateAssistantDtoVoice]
208
+ def self.tavus(member:)
209
+ new(member: member, discriminant: "tavus")
210
+ end
185
211
  end
186
212
  end