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 "assembly_ai_transcriber"
5
+ require_relative "azure_speech_transcriber"
6
+ require_relative "custom_transcriber"
4
7
  require_relative "deepgram_transcriber"
5
8
  require_relative "gladia_transcriber"
6
9
  require_relative "talkscriber_transcriber"
@@ -31,6 +34,12 @@ module Vapi
31
34
  def self.from_json(json_object:)
32
35
  struct = JSON.parse(json_object, object_class: OpenStruct)
33
36
  member = case struct.provider
37
+ when "assembly-ai"
38
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
39
+ when "azure"
40
+ Vapi::AzureSpeechTranscriber.from_json(json_object: json_object)
41
+ when "custom-transcriber"
42
+ Vapi::CustomTranscriber.from_json(json_object: json_object)
34
43
  when "deepgram"
35
44
  Vapi::DeepgramTranscriber.from_json(json_object: json_object)
36
45
  when "gladia"
@@ -38,7 +47,7 @@ module Vapi
38
47
  when "talkscriber"
39
48
  Vapi::TalkscriberTranscriber.from_json(json_object: json_object)
40
49
  else
41
- Vapi::DeepgramTranscriber.from_json(json_object: json_object)
50
+ Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
42
51
  end
43
52
  new(member: member, discriminant: struct.provider)
44
53
  end
@@ -48,6 +57,12 @@ module Vapi
48
57
  # @return [String]
49
58
  def to_json(*_args)
50
59
  case @discriminant
60
+ when "assembly-ai"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ when "azure"
63
+ { **@member.to_json, provider: @discriminant }.to_json
64
+ when "custom-transcriber"
65
+ { **@member.to_json, provider: @discriminant }.to_json
51
66
  when "deepgram"
52
67
  { **@member.to_json, provider: @discriminant }.to_json
53
68
  when "gladia"
@@ -68,6 +83,12 @@ module Vapi
68
83
  # @return [Void]
69
84
  def self.validate_raw(obj:)
70
85
  case obj.provider
86
+ when "assembly-ai"
87
+ Vapi::AssemblyAiTranscriber.validate_raw(obj: obj)
88
+ when "azure"
89
+ Vapi::AzureSpeechTranscriber.validate_raw(obj: obj)
90
+ when "custom-transcriber"
91
+ Vapi::CustomTranscriber.validate_raw(obj: obj)
71
92
  when "deepgram"
72
93
  Vapi::DeepgramTranscriber.validate_raw(obj: obj)
73
94
  when "gladia"
@@ -87,6 +108,24 @@ module Vapi
87
108
  @member.is_a?(obj)
88
109
  end
89
110
 
111
+ # @param member [Vapi::AssemblyAiTranscriber]
112
+ # @return [Vapi::CreateAssistantDtoTranscriber]
113
+ def self.assembly_ai(member:)
114
+ new(member: member, discriminant: "assembly-ai")
115
+ end
116
+
117
+ # @param member [Vapi::AzureSpeechTranscriber]
118
+ # @return [Vapi::CreateAssistantDtoTranscriber]
119
+ def self.azure(member:)
120
+ new(member: member, discriminant: "azure")
121
+ end
122
+
123
+ # @param member [Vapi::CustomTranscriber]
124
+ # @return [Vapi::CreateAssistantDtoTranscriber]
125
+ def self.custom_transcriber(member:)
126
+ new(member: member, discriminant: "custom-transcriber")
127
+ end
128
+
90
129
  # @param member [Vapi::DeepgramTranscriber]
91
130
  # @return [Vapi::CreateAssistantDtoTranscriber]
92
131
  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,8 @@ 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 "smallest_ai_voice"
15
+ require_relative "tavus_voice"
13
16
 
14
17
  module Vapi
15
18
  # These are the options for the assistant's voice.
@@ -41,6 +44,8 @@ module Vapi
41
44
  Vapi::AzureVoice.from_json(json_object: json_object)
42
45
  when "cartesia"
43
46
  Vapi::CartesiaVoice.from_json(json_object: json_object)
47
+ when "custom-voice"
48
+ Vapi::CustomVoice.from_json(json_object: json_object)
44
49
  when "deepgram"
45
50
  Vapi::DeepgramVoice.from_json(json_object: json_object)
46
51
  when "11labs"
@@ -55,6 +60,10 @@ module Vapi
55
60
  Vapi::PlayHtVoice.from_json(json_object: json_object)
56
61
  when "rime-ai"
57
62
  Vapi::RimeAiVoice.from_json(json_object: json_object)
63
+ when "smallest-ai"
64
+ Vapi::SmallestAiVoice.from_json(json_object: json_object)
65
+ when "tavus"
66
+ Vapi::TavusVoice.from_json(json_object: json_object)
58
67
  else
59
68
  Vapi::AzureVoice.from_json(json_object: json_object)
60
69
  end
@@ -70,6 +79,8 @@ module Vapi
70
79
  { **@member.to_json, provider: @discriminant }.to_json
71
80
  when "cartesia"
72
81
  { **@member.to_json, provider: @discriminant }.to_json
82
+ when "custom-voice"
83
+ { **@member.to_json, provider: @discriminant }.to_json
73
84
  when "deepgram"
74
85
  { **@member.to_json, provider: @discriminant }.to_json
75
86
  when "11labs"
@@ -84,6 +95,10 @@ module Vapi
84
95
  { **@member.to_json, provider: @discriminant }.to_json
85
96
  when "rime-ai"
86
97
  { **@member.to_json, provider: @discriminant }.to_json
98
+ when "smallest-ai"
99
+ { **@member.to_json, provider: @discriminant }.to_json
100
+ when "tavus"
101
+ { **@member.to_json, provider: @discriminant }.to_json
87
102
  else
88
103
  { "provider": @discriminant, value: @member }.to_json
89
104
  end
@@ -102,6 +117,8 @@ module Vapi
102
117
  Vapi::AzureVoice.validate_raw(obj: obj)
103
118
  when "cartesia"
104
119
  Vapi::CartesiaVoice.validate_raw(obj: obj)
120
+ when "custom-voice"
121
+ Vapi::CustomVoice.validate_raw(obj: obj)
105
122
  when "deepgram"
106
123
  Vapi::DeepgramVoice.validate_raw(obj: obj)
107
124
  when "11labs"
@@ -116,6 +133,10 @@ module Vapi
116
133
  Vapi::PlayHtVoice.validate_raw(obj: obj)
117
134
  when "rime-ai"
118
135
  Vapi::RimeAiVoice.validate_raw(obj: obj)
136
+ when "smallest-ai"
137
+ Vapi::SmallestAiVoice.validate_raw(obj: obj)
138
+ when "tavus"
139
+ Vapi::TavusVoice.validate_raw(obj: obj)
119
140
  else
120
141
  raise("Passed value matched no type within the union, validation failed.")
121
142
  end
@@ -141,6 +162,12 @@ module Vapi
141
162
  new(member: member, discriminant: "cartesia")
142
163
  end
143
164
 
165
+ # @param member [Vapi::CustomVoice]
166
+ # @return [Vapi::CreateAssistantDtoVoice]
167
+ def self.custom_voice(member:)
168
+ new(member: member, discriminant: "custom-voice")
169
+ end
170
+
144
171
  # @param member [Vapi::DeepgramVoice]
145
172
  # @return [Vapi::CreateAssistantDtoVoice]
146
173
  def self.deepgram(member:)
@@ -182,5 +209,17 @@ module Vapi
182
209
  def self.rime_ai(member:)
183
210
  new(member: member, discriminant: "rime-ai")
184
211
  end
212
+
213
+ # @param member [Vapi::SmallestAiVoice]
214
+ # @return [Vapi::CreateAssistantDtoVoice]
215
+ def self.smallest_ai(member:)
216
+ new(member: member, discriminant: "smallest-ai")
217
+ end
218
+
219
+ # @param member [Vapi::TavusVoice]
220
+ # @return [Vapi::CreateAssistantDtoVoice]
221
+ def self.tavus(member:)
222
+ new(member: member, discriminant: "tavus")
223
+ end
185
224
  end
186
225
  end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "create_azure_credential_dto_service"
4
+ require_relative "create_azure_credential_dto_region"
5
+ require_relative "azure_blob_storage_bucket_plan"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class CreateAzureCredentialDto
11
+ # @return [Vapi::CreateAzureCredentialDtoService] This is the service being used in Azure.
12
+ attr_reader :service
13
+ # @return [Vapi::CreateAzureCredentialDtoRegion] This is the region of the Azure resource.
14
+ attr_reader :region
15
+ # @return [String] This is not returned in the API.
16
+ attr_reader :api_key
17
+ # @return [Vapi::AzureBlobStorageBucketPlan] This is the bucket plan that can be provided to store call artifacts in Azure
18
+ # Blob Storage.
19
+ attr_reader :bucket_plan
20
+ # @return [String] This is the name of credential. This is just for your reference.
21
+ attr_reader :name
22
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
23
+ attr_reader :additional_properties
24
+ # @return [Object]
25
+ attr_reader :_field_set
26
+ protected :_field_set
27
+
28
+ OMIT = Object.new
29
+
30
+ # @param service [Vapi::CreateAzureCredentialDtoService] This is the service being used in Azure.
31
+ # @param region [Vapi::CreateAzureCredentialDtoRegion] This is the region of the Azure resource.
32
+ # @param api_key [String] This is not returned in the API.
33
+ # @param bucket_plan [Vapi::AzureBlobStorageBucketPlan] This is the bucket plan that can be provided to store call artifacts in Azure
34
+ # Blob Storage.
35
+ # @param name [String] This is the name of credential. This is just for your reference.
36
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
+ # @return [Vapi::CreateAzureCredentialDto]
38
+ def initialize(service:, region: OMIT, api_key: OMIT, bucket_plan: OMIT, name: OMIT, additional_properties: nil)
39
+ @service = service
40
+ @region = region if region != OMIT
41
+ @api_key = api_key if api_key != OMIT
42
+ @bucket_plan = bucket_plan if bucket_plan != OMIT
43
+ @name = name if name != OMIT
44
+ @additional_properties = additional_properties
45
+ @_field_set = {
46
+ "service": service,
47
+ "region": region,
48
+ "apiKey": api_key,
49
+ "bucketPlan": bucket_plan,
50
+ "name": name
51
+ }.reject do |_k, v|
52
+ v == OMIT
53
+ end
54
+ end
55
+
56
+ # Deserialize a JSON object to an instance of CreateAzureCredentialDto
57
+ #
58
+ # @param json_object [String]
59
+ # @return [Vapi::CreateAzureCredentialDto]
60
+ def self.from_json(json_object:)
61
+ struct = JSON.parse(json_object, object_class: OpenStruct)
62
+ parsed_json = JSON.parse(json_object)
63
+ service = parsed_json["service"]
64
+ region = parsed_json["region"]
65
+ api_key = parsed_json["apiKey"]
66
+ if parsed_json["bucketPlan"].nil?
67
+ bucket_plan = nil
68
+ else
69
+ bucket_plan = parsed_json["bucketPlan"].to_json
70
+ bucket_plan = Vapi::AzureBlobStorageBucketPlan.from_json(json_object: bucket_plan)
71
+ end
72
+ name = parsed_json["name"]
73
+ new(
74
+ service: service,
75
+ region: region,
76
+ api_key: api_key,
77
+ bucket_plan: bucket_plan,
78
+ name: name,
79
+ additional_properties: struct
80
+ )
81
+ end
82
+
83
+ # Serialize an instance of CreateAzureCredentialDto to a JSON object
84
+ #
85
+ # @return [String]
86
+ def to_json(*_args)
87
+ @_field_set&.to_json
88
+ end
89
+
90
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
91
+ # hash and check each fields type against the current object's property
92
+ # definitions.
93
+ #
94
+ # @param obj [Object]
95
+ # @return [Void]
96
+ def self.validate_raw(obj:)
97
+ obj.service.is_a?(Vapi::CreateAzureCredentialDtoService) != false || raise("Passed value for field obj.service is not the expected type, validation failed.")
98
+ obj.region&.is_a?(Vapi::CreateAzureCredentialDtoRegion) != false || raise("Passed value for field obj.region is not the expected type, validation failed.")
99
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
100
+ obj.bucket_plan.nil? || Vapi::AzureBlobStorageBucketPlan.validate_raw(obj: obj.bucket_plan)
101
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the region of the Azure resource.
5
+ class CreateAzureCredentialDtoRegion
6
+ AUSTRALIA = "australia"
7
+ CANADA = "canada"
8
+ EASTUS_2 = "eastus2"
9
+ EASTUS = "eastus"
10
+ FRANCE = "france"
11
+ INDIA = "india"
12
+ JAPAN = "japan"
13
+ UAENORTH = "uaenorth"
14
+ NORTHCENTRALUS = "northcentralus"
15
+ NORWAY = "norway"
16
+ SOUTHCENTRALUS = "southcentralus"
17
+ SWEDENCENTRAL = "swedencentral"
18
+ SWITZERLAND = "switzerland"
19
+ UK = "uk"
20
+ WESTUS = "westus"
21
+ WESTUS_3 = "westus3"
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the service being used in Azure.
5
+ class CreateAzureCredentialDtoService
6
+ SPEECH = "speech"
7
+ BLOB_STORAGE = "blob_storage"
8
+ end
9
+ end
@@ -7,16 +7,18 @@ require "json"
7
7
 
8
8
  module Vapi
9
9
  class CreateAzureOpenAiCredentialDto
10
- # @return [String]
11
- attr_reader :provider
12
10
  # @return [Vapi::CreateAzureOpenAiCredentialDtoRegion]
13
11
  attr_reader :region
14
12
  # @return [Array<Vapi::CreateAzureOpenAiCredentialDtoModelsItem>]
15
13
  attr_reader :models
16
14
  # @return [String] This is not returned in the API.
17
15
  attr_reader :open_ai_key
16
+ # @return [String] This is not returned in the API.
17
+ attr_reader :ocp_apim_subscription_key
18
18
  # @return [String]
19
19
  attr_reader :open_ai_endpoint
20
+ # @return [String] This is the name of credential. This is just for your reference.
21
+ attr_reader :name
20
22
  # @return [OpenStruct] Additional properties unmapped to the current class definition
21
23
  attr_reader :additional_properties
22
24
  # @return [Object]
@@ -25,27 +27,33 @@ module Vapi
25
27
 
26
28
  OMIT = Object.new
27
29
 
28
- # @param provider [String]
29
30
  # @param region [Vapi::CreateAzureOpenAiCredentialDtoRegion]
30
31
  # @param models [Array<Vapi::CreateAzureOpenAiCredentialDtoModelsItem>]
31
32
  # @param open_ai_key [String] This is not returned in the API.
33
+ # @param ocp_apim_subscription_key [String] This is not returned in the API.
32
34
  # @param open_ai_endpoint [String]
35
+ # @param name [String] This is the name of credential. This is just for your reference.
33
36
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
37
  # @return [Vapi::CreateAzureOpenAiCredentialDto]
35
- def initialize(provider:, region:, models:, open_ai_key:, open_ai_endpoint:, additional_properties: nil)
36
- @provider = provider
38
+ def initialize(region:, models:, open_ai_key:, open_ai_endpoint:, ocp_apim_subscription_key: OMIT, name: OMIT,
39
+ additional_properties: nil)
37
40
  @region = region
38
41
  @models = models
39
42
  @open_ai_key = open_ai_key
43
+ @ocp_apim_subscription_key = ocp_apim_subscription_key if ocp_apim_subscription_key != OMIT
40
44
  @open_ai_endpoint = open_ai_endpoint
45
+ @name = name if name != OMIT
41
46
  @additional_properties = additional_properties
42
47
  @_field_set = {
43
- "provider": provider,
44
48
  "region": region,
45
49
  "models": models,
46
50
  "openAIKey": open_ai_key,
47
- "openAIEndpoint": open_ai_endpoint
48
- }
51
+ "ocpApimSubscriptionKey": ocp_apim_subscription_key,
52
+ "openAIEndpoint": open_ai_endpoint,
53
+ "name": name
54
+ }.reject do |_k, v|
55
+ v == OMIT
56
+ end
49
57
  end
50
58
 
51
59
  # Deserialize a JSON object to an instance of CreateAzureOpenAiCredentialDto
@@ -55,17 +63,19 @@ module Vapi
55
63
  def self.from_json(json_object:)
56
64
  struct = JSON.parse(json_object, object_class: OpenStruct)
57
65
  parsed_json = JSON.parse(json_object)
58
- provider = parsed_json["provider"]
59
66
  region = parsed_json["region"]
60
67
  models = parsed_json["models"]
61
68
  open_ai_key = parsed_json["openAIKey"]
69
+ ocp_apim_subscription_key = parsed_json["ocpApimSubscriptionKey"]
62
70
  open_ai_endpoint = parsed_json["openAIEndpoint"]
71
+ name = parsed_json["name"]
63
72
  new(
64
- provider: provider,
65
73
  region: region,
66
74
  models: models,
67
75
  open_ai_key: open_ai_key,
76
+ ocp_apim_subscription_key: ocp_apim_subscription_key,
68
77
  open_ai_endpoint: open_ai_endpoint,
78
+ name: name,
69
79
  additional_properties: struct
70
80
  )
71
81
  end
@@ -84,11 +94,12 @@ module Vapi
84
94
  # @param obj [Object]
85
95
  # @return [Void]
86
96
  def self.validate_raw(obj:)
87
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
88
97
  obj.region.is_a?(Vapi::CreateAzureOpenAiCredentialDtoRegion) != false || raise("Passed value for field obj.region is not the expected type, validation failed.")
89
98
  obj.models.is_a?(Array) != false || raise("Passed value for field obj.models is not the expected type, validation failed.")
90
99
  obj.open_ai_key.is_a?(String) != false || raise("Passed value for field obj.open_ai_key is not the expected type, validation failed.")
100
+ obj.ocp_apim_subscription_key&.is_a?(String) != false || raise("Passed value for field obj.ocp_apim_subscription_key is not the expected type, validation failed.")
91
101
  obj.open_ai_endpoint.is_a?(String) != false || raise("Passed value for field obj.open_ai_endpoint is not the expected type, validation failed.")
102
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
92
103
  end
93
104
  end
94
105
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Vapi
4
4
  class CreateAzureOpenAiCredentialDtoModelsItem
5
+ GPT_4_O_20240806 = "gpt-4o-2024-08-06"
5
6
  GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18"
6
7
  GPT_4_O_20240513 = "gpt-4o-2024-05-13"
7
8
  GPT_4_TURBO_20240409 = "gpt-4-turbo-2024-04-09"
@@ -9,10 +9,11 @@ module Vapi
9
9
  FRANCE = "france"
10
10
  INDIA = "india"
11
11
  JAPAN = "japan"
12
+ UAENORTH = "uaenorth"
12
13
  NORTHCENTRALUS = "northcentralus"
13
14
  NORWAY = "norway"
14
15
  SOUTHCENTRALUS = "southcentralus"
15
- SWEDEN = "sweden"
16
+ SWEDENCENTRAL = "swedencentral"
16
17
  SWITZERLAND = "switzerland"
17
18
  UK = "uk"
18
19
  WESTUS = "westus"
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "create_bash_tool_dto_messages_item"
4
+ require_relative "open_ai_function"
5
+ require_relative "server"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class CreateBashToolDto
11
+ # @return [Boolean] This determines if the tool is async.
12
+ # If async, the assistant will move forward without waiting for your server to
13
+ # respond. This is useful if you just want to trigger something on your server.
14
+ # If sync, the assistant will wait for your server to respond. This is useful if
15
+ # want assistant to respond with the result from your server.
16
+ # Defaults to synchronous (`false`).
17
+ attr_reader :async
18
+ # @return [Array<Vapi::CreateBashToolDtoMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
19
+ # For some tools, this is auto-filled based on special fields like
20
+ # `tool.destinations`. For others like the function tool, these can be custom
21
+ # configured.
22
+ attr_reader :messages
23
+ # @return [String] The sub type of tool.
24
+ attr_reader :sub_type
25
+ # @return [String] The name of the tool, fixed to 'bash'
26
+ attr_reader :name
27
+ # @return [Vapi::OpenAiFunction] This is the function definition of the tool.
28
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
29
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
30
+ # provide a custom function definition for advanced use cases.
31
+ # An example of an advanced use case is if you want to customize the message
32
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
33
+ # argument "reason". Then, in `messages` array, you can have many
34
+ # "request-complete" messages. One of these messages will be triggered if the
35
+ # `messages[].conditions` matches the "reason" argument.
36
+ attr_reader :function
37
+ # @return [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
38
+ # All requests will be sent with the call object among other things. You can find
39
+ # more details in the Server URL documentation.
40
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
41
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
42
+ # phoneNumber.serverUrl, then org.serverUrl.
43
+ attr_reader :server
44
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
45
+ attr_reader :additional_properties
46
+ # @return [Object]
47
+ attr_reader :_field_set
48
+ protected :_field_set
49
+
50
+ OMIT = Object.new
51
+
52
+ # @param async [Boolean] This determines if the tool is async.
53
+ # If async, the assistant will move forward without waiting for your server to
54
+ # respond. This is useful if you just want to trigger something on your server.
55
+ # If sync, the assistant will wait for your server to respond. This is useful if
56
+ # want assistant to respond with the result from your server.
57
+ # Defaults to synchronous (`false`).
58
+ # @param messages [Array<Vapi::CreateBashToolDtoMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
59
+ # For some tools, this is auto-filled based on special fields like
60
+ # `tool.destinations`. For others like the function tool, these can be custom
61
+ # configured.
62
+ # @param sub_type [String] The sub type of tool.
63
+ # @param name [String] The name of the tool, fixed to 'bash'
64
+ # @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
65
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
66
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
67
+ # provide a custom function definition for advanced use cases.
68
+ # An example of an advanced use case is if you want to customize the message
69
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
70
+ # argument "reason". Then, in `messages` array, you can have many
71
+ # "request-complete" messages. One of these messages will be triggered if the
72
+ # `messages[].conditions` matches the "reason" argument.
73
+ # @param server [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
74
+ # All requests will be sent with the call object among other things. You can find
75
+ # more details in the Server URL documentation.
76
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
77
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
78
+ # phoneNumber.serverUrl, then org.serverUrl.
79
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
80
+ # @return [Vapi::CreateBashToolDto]
81
+ def initialize(sub_type:, name:, async: OMIT, messages: OMIT, function: OMIT, server: OMIT,
82
+ additional_properties: nil)
83
+ @async = async if async != OMIT
84
+ @messages = messages if messages != OMIT
85
+ @sub_type = sub_type
86
+ @name = name
87
+ @function = function if function != OMIT
88
+ @server = server if server != OMIT
89
+ @additional_properties = additional_properties
90
+ @_field_set = {
91
+ "async": async,
92
+ "messages": messages,
93
+ "subType": sub_type,
94
+ "name": name,
95
+ "function": function,
96
+ "server": server
97
+ }.reject do |_k, v|
98
+ v == OMIT
99
+ end
100
+ end
101
+
102
+ # Deserialize a JSON object to an instance of CreateBashToolDto
103
+ #
104
+ # @param json_object [String]
105
+ # @return [Vapi::CreateBashToolDto]
106
+ def self.from_json(json_object:)
107
+ struct = JSON.parse(json_object, object_class: OpenStruct)
108
+ parsed_json = JSON.parse(json_object)
109
+ async = parsed_json["async"]
110
+ messages = parsed_json["messages"]&.map do |item|
111
+ item = item.to_json
112
+ Vapi::CreateBashToolDtoMessagesItem.from_json(json_object: item)
113
+ end
114
+ sub_type = parsed_json["subType"]
115
+ name = parsed_json["name"]
116
+ if parsed_json["function"].nil?
117
+ function = nil
118
+ else
119
+ function = parsed_json["function"].to_json
120
+ function = Vapi::OpenAiFunction.from_json(json_object: function)
121
+ end
122
+ if parsed_json["server"].nil?
123
+ server = nil
124
+ else
125
+ server = parsed_json["server"].to_json
126
+ server = Vapi::Server.from_json(json_object: server)
127
+ end
128
+ new(
129
+ async: async,
130
+ messages: messages,
131
+ sub_type: sub_type,
132
+ name: name,
133
+ function: function,
134
+ server: server,
135
+ additional_properties: struct
136
+ )
137
+ end
138
+
139
+ # Serialize an instance of CreateBashToolDto to a JSON object
140
+ #
141
+ # @return [String]
142
+ def to_json(*_args)
143
+ @_field_set&.to_json
144
+ end
145
+
146
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
147
+ # hash and check each fields type against the current object's property
148
+ # definitions.
149
+ #
150
+ # @param obj [Object]
151
+ # @return [Void]
152
+ def self.validate_raw(obj:)
153
+ obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
154
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
155
+ obj.sub_type.is_a?(String) != false || raise("Passed value for field obj.sub_type is not the expected type, validation failed.")
156
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
157
+ obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
158
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
159
+ end
160
+ end
161
+ end