vapi_server_sdk 0.1.0 → 0.3.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 (448) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +287 -62
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +70 -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_credentials_item.rb +512 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +52 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +40 -1
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +39 -0
  12. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  13. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  14. data/lib/vapi_server_sdk/calls/client.rb +74 -32
  15. data/lib/vapi_server_sdk/knowledge_bases/client.rb +393 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  19. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  20. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  21. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  22. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  23. data/lib/vapi_server_sdk/logs/client.rb +94 -6
  24. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  25. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  26. data/lib/vapi_server_sdk/squads/client.rb +64 -32
  27. data/lib/vapi_server_sdk/tools/client.rb +7 -87
  28. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  29. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  30. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  31. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  32. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  33. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  34. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  35. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  36. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  37. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  38. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  39. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  40. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  41. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  42. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  43. data/lib/vapi_server_sdk/types/assistant.rb +60 -64
  44. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  45. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  46. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  47. data/lib/vapi_server_sdk/types/assistant_model.rb +52 -0
  48. data/lib/vapi_server_sdk/types/assistant_overrides.rb +75 -65
  49. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  50. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  51. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +52 -0
  52. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  53. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +40 -1
  54. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +39 -0
  55. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  56. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +40 -1
  57. data/lib/vapi_server_sdk/types/assistant_voice.rb +39 -0
  58. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  59. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  60. data/lib/vapi_server_sdk/types/azure_credential.rb +146 -0
  61. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  62. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  63. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +20 -2
  64. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  65. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +2 -1
  66. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  67. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  68. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  69. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  70. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  71. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  72. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  73. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  74. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  75. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  76. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  77. data/lib/vapi_server_sdk/types/call.rb +15 -1
  78. data/lib/vapi_server_sdk/types/call_ended_reason.rb +83 -43
  79. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  80. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  81. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  82. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  83. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  84. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  85. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  86. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  87. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  88. data/lib/vapi_server_sdk/types/chat_service_response.rb +47 -0
  89. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  90. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  91. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  92. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  93. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  94. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  95. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  96. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  97. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  98. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  99. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  100. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  101. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  102. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  103. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -9
  104. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -9
  105. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +67 -0
  106. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +61 -65
  107. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  108. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  109. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +52 -0
  110. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  111. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +40 -1
  112. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +39 -0
  113. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +104 -0
  114. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  115. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  116. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +22 -11
  117. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  118. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +2 -1
  119. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  120. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  121. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  122. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -19
  123. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -9
  124. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_cerebras_credential_dto.rb} +21 -21
  125. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  126. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  127. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  128. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  129. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +26 -9
  130. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -9
  131. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  132. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -9
  133. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -9
  134. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +9 -21
  135. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -9
  136. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -9
  137. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  138. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -9
  139. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  140. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +83 -0
  141. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -9
  142. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +11 -9
  143. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -9
  144. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -9
  145. data/lib/vapi_server_sdk/types/create_org_dto.rb +45 -26
  146. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  147. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -9
  148. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -9
  149. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -9
  150. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -9
  151. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -11
  152. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  153. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +67 -0
  154. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  155. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  156. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -9
  157. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  158. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +11 -9
  159. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  160. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +44 -30
  161. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +11 -9
  162. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  163. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +73 -0
  164. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +67 -0
  165. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  166. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  167. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  168. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  169. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  170. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  171. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  172. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  173. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  174. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  175. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  176. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  177. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  178. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  179. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  180. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  181. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  182. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  183. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  184. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  185. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  186. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  187. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  188. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +12 -0
  189. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  190. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  191. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  192. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  193. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  194. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  195. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  196. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +14 -0
  197. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  198. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  199. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  200. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  201. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  202. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  203. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  204. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  205. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  206. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +224 -0
  207. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  208. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  209. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  210. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  211. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  212. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  213. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  214. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  215. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  216. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  217. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  218. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  219. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  220. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  221. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  222. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  223. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  224. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  225. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  226. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  227. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  228. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  229. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  230. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  231. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  232. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  233. data/lib/vapi_server_sdk/types/google_model.rb +194 -0
  234. data/lib/vapi_server_sdk/types/google_model_model.rb +14 -0
  235. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  236. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  237. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  238. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  239. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  240. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  241. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  242. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  243. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  244. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  245. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  246. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  247. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  248. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  249. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  250. data/lib/vapi_server_sdk/types/log.rb +12 -4
  251. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  252. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  253. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  254. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  255. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  256. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  257. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  258. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  259. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  260. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +8 -0
  261. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +8 -0
  262. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  263. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  264. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  265. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  266. data/lib/vapi_server_sdk/types/org.rb +59 -26
  267. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  268. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  269. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  270. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  271. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  272. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  273. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  274. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  275. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  276. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  277. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  278. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  279. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  280. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  281. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  282. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  283. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  284. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  285. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  286. data/lib/vapi_server_sdk/types/server.rb +16 -2
  287. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +83 -43
  288. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  289. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  290. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  291. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  292. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  293. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  294. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  295. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  296. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  297. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +83 -43
  298. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  299. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  300. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  301. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  302. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  303. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  304. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  305. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  306. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  307. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  308. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  309. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  310. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  311. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  312. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  313. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +2 -0
  314. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  315. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  316. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  317. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  318. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  319. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  320. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  321. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  322. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  323. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  324. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  325. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  326. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  327. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  328. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  329. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  330. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  331. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  332. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  333. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  334. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  335. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  336. data/lib/vapi_server_sdk/types/transfer_plan.rb +161 -0
  337. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +59 -0
  338. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  339. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  340. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  341. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  342. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  343. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  344. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  345. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  346. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  347. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  348. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  349. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +13 -11
  350. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +13 -11
  351. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +67 -0
  352. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +105 -0
  353. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  354. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  355. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +29 -18
  356. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  357. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +2 -1
  358. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  359. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  360. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  361. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  362. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +30 -18
  363. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +13 -11
  364. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  365. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  366. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  367. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  368. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  369. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  370. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  371. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +28 -11
  372. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +13 -11
  373. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  374. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -11
  375. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  376. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  377. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +20 -11
  378. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  379. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  380. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  381. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  382. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +6 -18
  383. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  384. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  385. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +13 -11
  386. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +13 -11
  387. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +67 -0
  388. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +13 -11
  389. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +67 -0
  390. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +83 -0
  391. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +13 -11
  392. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -15
  393. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  394. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  395. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +13 -11
  396. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +13 -11
  397. data/lib/vapi_server_sdk/types/update_org_dto.rb +45 -26
  398. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  399. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  400. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  401. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +13 -11
  402. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +15 -13
  403. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +13 -11
  404. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +13 -11
  405. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +24 -22
  406. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  407. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +67 -0
  408. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  409. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  410. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +13 -11
  411. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  412. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  413. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  414. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  415. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  416. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  417. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  418. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  419. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  420. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +15 -13
  421. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  422. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  423. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  424. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  425. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +15 -13
  426. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  427. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  428. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  429. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  430. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  431. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +67 -0
  432. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  433. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  434. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  435. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +44 -30
  436. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  437. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  438. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  439. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  440. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  441. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  442. data/lib/vapi_server_sdk.rb +7 -0
  443. metadata +240 -14
  444. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  445. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  446. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  447. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  448. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
+ require_relative "../../types/assembly_ai_transcriber"
5
+ require_relative "../../types/azure_speech_transcriber"
6
+ require_relative "../../types/custom_transcriber"
4
7
  require_relative "../../types/deepgram_transcriber"
5
8
  require_relative "../../types/gladia_transcriber"
6
9
  require_relative "../../types/talkscriber_transcriber"
@@ -32,6 +35,12 @@ module Vapi
32
35
  def self.from_json(json_object:)
33
36
  struct = JSON.parse(json_object, object_class: OpenStruct)
34
37
  member = case struct.provider
38
+ when "assembly-ai"
39
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
40
+ when "azure"
41
+ Vapi::AzureSpeechTranscriber.from_json(json_object: json_object)
42
+ when "custom-transcriber"
43
+ Vapi::CustomTranscriber.from_json(json_object: json_object)
35
44
  when "deepgram"
36
45
  Vapi::DeepgramTranscriber.from_json(json_object: json_object)
37
46
  when "gladia"
@@ -39,7 +48,7 @@ module Vapi
39
48
  when "talkscriber"
40
49
  Vapi::TalkscriberTranscriber.from_json(json_object: json_object)
41
50
  else
42
- Vapi::DeepgramTranscriber.from_json(json_object: json_object)
51
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
43
52
  end
44
53
  new(member: member, discriminant: struct.provider)
45
54
  end
@@ -49,6 +58,12 @@ module Vapi
49
58
  # @return [String]
50
59
  def to_json(*_args)
51
60
  case @discriminant
61
+ when "assembly-ai"
62
+ { **@member.to_json, provider: @discriminant }.to_json
63
+ when "azure"
64
+ { **@member.to_json, provider: @discriminant }.to_json
65
+ when "custom-transcriber"
66
+ { **@member.to_json, provider: @discriminant }.to_json
52
67
  when "deepgram"
53
68
  { **@member.to_json, provider: @discriminant }.to_json
54
69
  when "gladia"
@@ -69,6 +84,12 @@ module Vapi
69
84
  # @return [Void]
70
85
  def self.validate_raw(obj:)
71
86
  case obj.provider
87
+ when "assembly-ai"
88
+ Vapi::AssemblyAiTranscriber.validate_raw(obj: obj)
89
+ when "azure"
90
+ Vapi::AzureSpeechTranscriber.validate_raw(obj: obj)
91
+ when "custom-transcriber"
92
+ Vapi::CustomTranscriber.validate_raw(obj: obj)
72
93
  when "deepgram"
73
94
  Vapi::DeepgramTranscriber.validate_raw(obj: obj)
74
95
  when "gladia"
@@ -88,6 +109,24 @@ module Vapi
88
109
  @member.is_a?(obj)
89
110
  end
90
111
 
112
+ # @param member [Vapi::AssemblyAiTranscriber]
113
+ # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
114
+ def self.assembly_ai(member:)
115
+ new(member: member, discriminant: "assembly-ai")
116
+ end
117
+
118
+ # @param member [Vapi::AzureSpeechTranscriber]
119
+ # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
120
+ def self.azure(member:)
121
+ new(member: member, discriminant: "azure")
122
+ end
123
+
124
+ # @param member [Vapi::CustomTranscriber]
125
+ # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
126
+ def self.custom_transcriber(member:)
127
+ new(member: member, discriminant: "custom-transcriber")
128
+ end
129
+
91
130
  # @param member [Vapi::DeepgramTranscriber]
92
131
  # @return [Vapi::Assistants::UpdateAssistantDtoTranscriber]
93
132
  def self.deepgram(member:)
@@ -3,6 +3,7 @@
3
3
  require "json"
4
4
  require_relative "../../types/azure_voice"
5
5
  require_relative "../../types/cartesia_voice"
6
+ require_relative "../../types/custom_voice"
6
7
  require_relative "../../types/deepgram_voice"
7
8
  require_relative "../../types/eleven_labs_voice"
8
9
  require_relative "../../types/lmnt_voice"
@@ -10,6 +11,8 @@ require_relative "../../types/neets_voice"
10
11
  require_relative "../../types/open_ai_voice"
11
12
  require_relative "../../types/play_ht_voice"
12
13
  require_relative "../../types/rime_ai_voice"
14
+ require_relative "../../types/smallest_ai_voice"
15
+ require_relative "../../types/tavus_voice"
13
16
 
14
17
  module Vapi
15
18
  class Assistants
@@ -42,6 +45,8 @@ module Vapi
42
45
  Vapi::AzureVoice.from_json(json_object: json_object)
43
46
  when "cartesia"
44
47
  Vapi::CartesiaVoice.from_json(json_object: json_object)
48
+ when "custom-voice"
49
+ Vapi::CustomVoice.from_json(json_object: json_object)
45
50
  when "deepgram"
46
51
  Vapi::DeepgramVoice.from_json(json_object: json_object)
47
52
  when "11labs"
@@ -56,6 +61,10 @@ module Vapi
56
61
  Vapi::PlayHtVoice.from_json(json_object: json_object)
57
62
  when "rime-ai"
58
63
  Vapi::RimeAiVoice.from_json(json_object: json_object)
64
+ when "smallest-ai"
65
+ Vapi::SmallestAiVoice.from_json(json_object: json_object)
66
+ when "tavus"
67
+ Vapi::TavusVoice.from_json(json_object: json_object)
59
68
  else
60
69
  Vapi::AzureVoice.from_json(json_object: json_object)
61
70
  end
@@ -71,6 +80,8 @@ module Vapi
71
80
  { **@member.to_json, provider: @discriminant }.to_json
72
81
  when "cartesia"
73
82
  { **@member.to_json, provider: @discriminant }.to_json
83
+ when "custom-voice"
84
+ { **@member.to_json, provider: @discriminant }.to_json
74
85
  when "deepgram"
75
86
  { **@member.to_json, provider: @discriminant }.to_json
76
87
  when "11labs"
@@ -85,6 +96,10 @@ module Vapi
85
96
  { **@member.to_json, provider: @discriminant }.to_json
86
97
  when "rime-ai"
87
98
  { **@member.to_json, provider: @discriminant }.to_json
99
+ when "smallest-ai"
100
+ { **@member.to_json, provider: @discriminant }.to_json
101
+ when "tavus"
102
+ { **@member.to_json, provider: @discriminant }.to_json
88
103
  else
89
104
  { "provider": @discriminant, value: @member }.to_json
90
105
  end
@@ -103,6 +118,8 @@ module Vapi
103
118
  Vapi::AzureVoice.validate_raw(obj: obj)
104
119
  when "cartesia"
105
120
  Vapi::CartesiaVoice.validate_raw(obj: obj)
121
+ when "custom-voice"
122
+ Vapi::CustomVoice.validate_raw(obj: obj)
106
123
  when "deepgram"
107
124
  Vapi::DeepgramVoice.validate_raw(obj: obj)
108
125
  when "11labs"
@@ -117,6 +134,10 @@ module Vapi
117
134
  Vapi::PlayHtVoice.validate_raw(obj: obj)
118
135
  when "rime-ai"
119
136
  Vapi::RimeAiVoice.validate_raw(obj: obj)
137
+ when "smallest-ai"
138
+ Vapi::SmallestAiVoice.validate_raw(obj: obj)
139
+ when "tavus"
140
+ Vapi::TavusVoice.validate_raw(obj: obj)
120
141
  else
121
142
  raise("Passed value matched no type within the union, validation failed.")
122
143
  end
@@ -142,6 +163,12 @@ module Vapi
142
163
  new(member: member, discriminant: "cartesia")
143
164
  end
144
165
 
166
+ # @param member [Vapi::CustomVoice]
167
+ # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
168
+ def self.custom_voice(member:)
169
+ new(member: member, discriminant: "custom-voice")
170
+ end
171
+
145
172
  # @param member [Vapi::DeepgramVoice]
146
173
  # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
147
174
  def self.deepgram(member:)
@@ -183,6 +210,18 @@ module Vapi
183
210
  def self.rime_ai(member:)
184
211
  new(member: member, discriminant: "rime-ai")
185
212
  end
213
+
214
+ # @param member [Vapi::SmallestAiVoice]
215
+ # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
216
+ def self.smallest_ai(member:)
217
+ new(member: member, discriminant: "smallest-ai")
218
+ end
219
+
220
+ # @param member [Vapi::TavusVoice]
221
+ # @return [Vapi::Assistants::UpdateAssistantDtoVoice]
222
+ def self.tavus(member:)
223
+ new(member: member, discriminant: "tavus")
224
+ end
186
225
  end
187
226
  end
188
227
  end
@@ -8,10 +8,7 @@ require_relative "types/blocks_create_request"
8
8
  require_relative "types/blocks_create_response"
9
9
  require_relative "types/blocks_get_response"
10
10
  require_relative "types/blocks_delete_response"
11
- require_relative "types/update_block_dto_messages_item"
12
- require_relative "../types/json_schema"
13
- require_relative "types/update_block_dto_tool"
14
- require_relative "types/update_block_dto_steps_item"
11
+ require_relative "types/blocks_update_request"
15
12
  require_relative "types/blocks_update_response"
16
13
  require "async"
17
14
 
@@ -171,74 +168,7 @@ module Vapi
171
168
  end
172
169
 
173
170
  # @param id [String]
174
- # @param messages [Array<Hash>] These are the pre-configured messages that will be spoken to the user while the
175
- # block is running.Request of type Array<Vapi::Blocks::UpdateBlockDtoMessagesItem>, as a Hash
176
- # @param input_schema [Hash] This is the input schema for the block. This is the input the block needs to
177
- # run. It's given to the block as `steps[0].input`
178
- # These are accessible as variables:
179
- # - ({{input.propertyName}}) in context of the block execution (step)
180
- # - ({{stepName.input.propertyName}}) in context of the workflowRequest of type Vapi::JsonSchema, as a Hash
181
- # * :type (Vapi::JsonSchemaType)
182
- # * :items (Hash{String => Object})
183
- # * :properties (Hash{String => Object})
184
- # * :description (String)
185
- # * :required (Array<String>)
186
- # @param output_schema [Hash] This is the output schema for the block. This is the output the block will
187
- # return to the workflow (`{{stepName.output}}`).
188
- # These are accessible as variables:
189
- # - ({{output.propertyName}}) in context of the block execution (step)
190
- # - ({{stepName.output.propertyName}}) in context of the workflow (read caveat #1)
191
- # - ({{blockName.output.propertyName}}) in context of the workflow (read caveat
192
- # #2)
193
- # Caveats:
194
- # 1. a workflow can execute a step multiple times. example, if a loop is used in
195
- # the graph. {{stepName.output.propertyName}} will reference the latest usage of
196
- # the step.
197
- # 2. a workflow can execute a block multiple times. example, if a step is called
198
- # multiple times or if a block is used in multiple steps.
199
- # {{blockName.output.propertyName}} will reference the latest usage of the block.
200
- # this liquid variable is just provided for convenience when creating blocks
201
- # outside of a workflow with steps.Request of type Vapi::JsonSchema, as a Hash
202
- # * :type (Vapi::JsonSchemaType)
203
- # * :items (Hash{String => Object})
204
- # * :properties (Hash{String => Object})
205
- # * :description (String)
206
- # * :required (Array<String>)
207
- # @param tool [Vapi::Blocks::UpdateBlockDtoTool] This is the tool that the block will call. To use an existing tool, use
208
- # `toolId`.
209
- # @param steps [Array<Hash>] These are the steps in the workflow.Request of type Array<Vapi::Blocks::UpdateBlockDtoStepsItem>, as a Hash
210
- # @param name [String] This is the name of the block. This is just for your reference.
211
- # @param instruction [String] This is the instruction to the model.
212
- # You can reference any variable in the context of the current block execution
213
- # (step):
214
- # - "{{input.your-property-name}}" for the current step's input
215
- # - "{{your-step-name.output.your-property-name}}" for another step's output (in
216
- # the same workflow; read caveat #1)
217
- # - "{{your-step-name.input.your-property-name}}" for another step's input (in the
218
- # same workflow; read caveat #1)
219
- # - "{{your-block-name.output.your-property-name}}" for another block's output (in
220
- # the same workflow; read caveat #2)
221
- # - "{{your-block-name.input.your-property-name}}" for another block's input (in
222
- # the same workflow; read caveat #2)
223
- # - "{{workflow.input.your-property-name}}" for the current workflow's input
224
- # - "{{global.your-property-name}}" for the global context
225
- # This can be as simple or as complex as you want it to be.
226
- # - "say hello and ask the user about their day!"
227
- # - "collect the user's first and last name"
228
- # - "user is {{input.firstName}} {{input.lastName}}. their age is {{input.age}}.
229
- # ask them about their salary and if they might be interested in buying a house.
230
- # we offer {{input.offer}}"
231
- # Caveats:
232
- # 1. a workflow can execute a step multiple times. example, if a loop is used in
233
- # the graph. {{stepName.output/input.propertyName}} will reference the latest
234
- # usage of the step.
235
- # 2. a workflow can execute a block multiple times. example, if a step is called
236
- # multiple times or if a block is used in multiple steps.
237
- # {{blockName.output/input.propertyName}} will reference the latest usage of the
238
- # block. this liquid variable is just provided for convenience when creating
239
- # blocks outside of a workflow with steps.
240
- # @param tool_id [String] This is the id of the tool that the block will call. To use a transient tool,
241
- # use `tool`.
171
+ # @param request [Vapi::Blocks::BlocksUpdateRequest]
242
172
  # @param request_options [Vapi::RequestOptions]
243
173
  # @return [Vapi::Blocks::BlocksUpdateResponse]
244
174
  # @example
@@ -248,8 +178,7 @@ module Vapi
248
178
  # token: "YOUR_AUTH_TOKEN"
249
179
  # )
250
180
  # api.blocks.update(id: "id")
251
- def update(id:, messages: nil, input_schema: nil, output_schema: nil, tool: nil, steps: nil, name: nil,
252
- instruction: nil, tool_id: nil, request_options: nil)
181
+ def update(id:, request:, request_options: nil)
253
182
  response = @request_client.conn.patch do |req|
254
183
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
255
184
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -261,17 +190,7 @@ module Vapi
261
190
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
262
191
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
263
192
  end
264
- req.body = {
265
- **(request_options&.additional_body_parameters || {}),
266
- messages: messages,
267
- inputSchema: input_schema,
268
- outputSchema: output_schema,
269
- tool: tool,
270
- steps: steps,
271
- name: name,
272
- instruction: instruction,
273
- toolId: tool_id
274
- }.compact
193
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
275
194
  req.url "#{@request_client.get_url(request_options: request_options)}/block/#{id}"
276
195
  end
277
196
  Vapi::Blocks::BlocksUpdateResponse.from_json(json_object: response.body)
@@ -441,74 +360,7 @@ module Vapi
441
360
  end
442
361
 
443
362
  # @param id [String]
444
- # @param messages [Array<Hash>] These are the pre-configured messages that will be spoken to the user while the
445
- # block is running.Request of type Array<Vapi::Blocks::UpdateBlockDtoMessagesItem>, as a Hash
446
- # @param input_schema [Hash] This is the input schema for the block. This is the input the block needs to
447
- # run. It's given to the block as `steps[0].input`
448
- # These are accessible as variables:
449
- # - ({{input.propertyName}}) in context of the block execution (step)
450
- # - ({{stepName.input.propertyName}}) in context of the workflowRequest of type Vapi::JsonSchema, as a Hash
451
- # * :type (Vapi::JsonSchemaType)
452
- # * :items (Hash{String => Object})
453
- # * :properties (Hash{String => Object})
454
- # * :description (String)
455
- # * :required (Array<String>)
456
- # @param output_schema [Hash] This is the output schema for the block. This is the output the block will
457
- # return to the workflow (`{{stepName.output}}`).
458
- # These are accessible as variables:
459
- # - ({{output.propertyName}}) in context of the block execution (step)
460
- # - ({{stepName.output.propertyName}}) in context of the workflow (read caveat #1)
461
- # - ({{blockName.output.propertyName}}) in context of the workflow (read caveat
462
- # #2)
463
- # Caveats:
464
- # 1. a workflow can execute a step multiple times. example, if a loop is used in
465
- # the graph. {{stepName.output.propertyName}} will reference the latest usage of
466
- # the step.
467
- # 2. a workflow can execute a block multiple times. example, if a step is called
468
- # multiple times or if a block is used in multiple steps.
469
- # {{blockName.output.propertyName}} will reference the latest usage of the block.
470
- # this liquid variable is just provided for convenience when creating blocks
471
- # outside of a workflow with steps.Request of type Vapi::JsonSchema, as a Hash
472
- # * :type (Vapi::JsonSchemaType)
473
- # * :items (Hash{String => Object})
474
- # * :properties (Hash{String => Object})
475
- # * :description (String)
476
- # * :required (Array<String>)
477
- # @param tool [Vapi::Blocks::UpdateBlockDtoTool] This is the tool that the block will call. To use an existing tool, use
478
- # `toolId`.
479
- # @param steps [Array<Hash>] These are the steps in the workflow.Request of type Array<Vapi::Blocks::UpdateBlockDtoStepsItem>, as a Hash
480
- # @param name [String] This is the name of the block. This is just for your reference.
481
- # @param instruction [String] This is the instruction to the model.
482
- # You can reference any variable in the context of the current block execution
483
- # (step):
484
- # - "{{input.your-property-name}}" for the current step's input
485
- # - "{{your-step-name.output.your-property-name}}" for another step's output (in
486
- # the same workflow; read caveat #1)
487
- # - "{{your-step-name.input.your-property-name}}" for another step's input (in the
488
- # same workflow; read caveat #1)
489
- # - "{{your-block-name.output.your-property-name}}" for another block's output (in
490
- # the same workflow; read caveat #2)
491
- # - "{{your-block-name.input.your-property-name}}" for another block's input (in
492
- # the same workflow; read caveat #2)
493
- # - "{{workflow.input.your-property-name}}" for the current workflow's input
494
- # - "{{global.your-property-name}}" for the global context
495
- # This can be as simple or as complex as you want it to be.
496
- # - "say hello and ask the user about their day!"
497
- # - "collect the user's first and last name"
498
- # - "user is {{input.firstName}} {{input.lastName}}. their age is {{input.age}}.
499
- # ask them about their salary and if they might be interested in buying a house.
500
- # we offer {{input.offer}}"
501
- # Caveats:
502
- # 1. a workflow can execute a step multiple times. example, if a loop is used in
503
- # the graph. {{stepName.output/input.propertyName}} will reference the latest
504
- # usage of the step.
505
- # 2. a workflow can execute a block multiple times. example, if a step is called
506
- # multiple times or if a block is used in multiple steps.
507
- # {{blockName.output/input.propertyName}} will reference the latest usage of the
508
- # block. this liquid variable is just provided for convenience when creating
509
- # blocks outside of a workflow with steps.
510
- # @param tool_id [String] This is the id of the tool that the block will call. To use a transient tool,
511
- # use `tool`.
363
+ # @param request [Vapi::Blocks::BlocksUpdateRequest]
512
364
  # @param request_options [Vapi::RequestOptions]
513
365
  # @return [Vapi::Blocks::BlocksUpdateResponse]
514
366
  # @example
@@ -518,8 +370,7 @@ module Vapi
518
370
  # token: "YOUR_AUTH_TOKEN"
519
371
  # )
520
372
  # api.blocks.update(id: "id")
521
- def update(id:, messages: nil, input_schema: nil, output_schema: nil, tool: nil, steps: nil, name: nil,
522
- instruction: nil, tool_id: nil, request_options: nil)
373
+ def update(id:, request:, request_options: nil)
523
374
  Async do
524
375
  response = @request_client.conn.patch do |req|
525
376
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -532,17 +383,7 @@ module Vapi
532
383
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
533
384
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
534
385
  end
535
- req.body = {
536
- **(request_options&.additional_body_parameters || {}),
537
- messages: messages,
538
- inputSchema: input_schema,
539
- outputSchema: output_schema,
540
- tool: tool,
541
- steps: steps,
542
- name: name,
543
- instruction: instruction,
544
- toolId: tool_id
545
- }.compact
386
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
546
387
  req.url "#{@request_client.get_url(request_options: request_options)}/block/#{id}"
547
388
  end
548
389
  Vapi::Blocks::BlocksUpdateResponse.from_json(json_object: response.body)
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/update_conversation_block_dto"
5
+ require_relative "../../types/update_tool_call_block_dto"
6
+ require_relative "../../types/update_workflow_block_dto"
7
+
8
+ module Vapi
9
+ class Blocks
10
+ class BlocksUpdateRequest
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::Blocks::BlocksUpdateRequest]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of BlocksUpdateRequest
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::Blocks::BlocksUpdateRequest]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ member = case struct.type
34
+ when "conversation"
35
+ Vapi::UpdateConversationBlockDto.from_json(json_object: json_object)
36
+ when "tool-call"
37
+ Vapi::UpdateToolCallBlockDto.from_json(json_object: json_object)
38
+ when "workflow"
39
+ Vapi::UpdateWorkflowBlockDto.from_json(json_object: json_object)
40
+ else
41
+ Vapi::UpdateConversationBlockDto.from_json(json_object: json_object)
42
+ end
43
+ new(member: member, discriminant: struct.type)
44
+ end
45
+
46
+ # For Union Types, to_json functionality is delegated to the wrapped member.
47
+ #
48
+ # @return [String]
49
+ def to_json(*_args)
50
+ case @discriminant
51
+ when "conversation"
52
+ { **@member.to_json, type: @discriminant }.to_json
53
+ when "tool-call"
54
+ { **@member.to_json, type: @discriminant }.to_json
55
+ when "workflow"
56
+ { **@member.to_json, type: @discriminant }.to_json
57
+ else
58
+ { "type": @discriminant, value: @member }.to_json
59
+ end
60
+ @member.to_json
61
+ end
62
+
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ case obj.type
71
+ when "conversation"
72
+ Vapi::UpdateConversationBlockDto.validate_raw(obj: obj)
73
+ when "tool-call"
74
+ Vapi::UpdateToolCallBlockDto.validate_raw(obj: obj)
75
+ when "workflow"
76
+ Vapi::UpdateWorkflowBlockDto.validate_raw(obj: obj)
77
+ else
78
+ raise("Passed value matched no type within the union, validation failed.")
79
+ end
80
+ end
81
+
82
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
83
+ #
84
+ # @param obj [Object]
85
+ # @return [Boolean]
86
+ def is_a?(obj)
87
+ @member.is_a?(obj)
88
+ end
89
+
90
+ # @param member [Vapi::UpdateConversationBlockDto]
91
+ # @return [Vapi::Blocks::BlocksUpdateRequest]
92
+ def self.conversation(member:)
93
+ new(member: member, discriminant: "conversation")
94
+ end
95
+
96
+ # @param member [Vapi::UpdateToolCallBlockDto]
97
+ # @return [Vapi::Blocks::BlocksUpdateRequest]
98
+ def self.tool_call(member:)
99
+ new(member: member, discriminant: "tool-call")
100
+ end
101
+
102
+ # @param member [Vapi::UpdateWorkflowBlockDto]
103
+ # @return [Vapi::Blocks::BlocksUpdateRequest]
104
+ def self.workflow(member:)
105
+ new(member: member, discriminant: "workflow")
106
+ end
107
+ end
108
+ end
109
+ end