vapi_server_sdk 0.0.0.pre.alpha7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -10
  3. data/lib/types_export.rb +184 -26
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +57 -60
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +58 -28
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  14. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  19. data/lib/vapi_server_sdk/logs/client.rb +10 -6
  20. data/lib/vapi_server_sdk/squads/client.rb +56 -32
  21. data/lib/vapi_server_sdk/tools/client.rb +4 -0
  22. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  23. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  24. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  25. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  26. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  27. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  28. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  29. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  30. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  31. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  32. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  33. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  34. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  35. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  36. data/lib/vapi_server_sdk/types/assistant.rb +42 -64
  37. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  38. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  39. data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
  40. data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
  41. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
  43. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
  45. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
  46. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  47. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
  48. data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
  49. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  50. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
  51. data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
  52. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  53. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
  54. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  55. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
  56. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  57. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  58. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  59. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  60. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  61. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  62. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  63. data/lib/vapi_server_sdk/types/call.rb +15 -1
  64. data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
  65. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  66. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  67. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  68. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  69. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  70. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  71. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  72. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  73. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  74. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  75. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  76. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  77. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  78. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  79. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  80. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  81. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  82. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  83. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
  84. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
  85. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
  86. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
  87. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  88. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
  89. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  90. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
  91. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
  92. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
  93. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  94. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
  95. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  96. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
  97. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  98. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  99. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
  100. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
  101. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  102. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  103. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  104. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
  105. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
  106. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
  107. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
  108. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
  109. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
  110. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
  111. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  112. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
  113. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  114. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
  115. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
  117. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
  118. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
  119. data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
  120. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  121. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
  122. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
  123. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
  124. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
  125. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
  126. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
  127. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  128. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  129. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
  130. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  131. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
  132. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
  133. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
  134. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
  135. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
  136. data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
  137. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  138. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  139. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  140. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  141. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  142. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  143. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  144. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  145. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  146. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  147. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  148. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  149. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  150. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  151. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  152. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  153. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  154. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  155. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  156. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
  157. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  158. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  159. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  160. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  161. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  162. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  163. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  164. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
  165. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  166. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  167. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  168. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  169. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  170. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  171. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  172. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  173. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  174. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
  175. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  176. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  177. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  178. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  179. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  180. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  181. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  182. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  183. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  184. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  185. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  186. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  187. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  188. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  189. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  190. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  191. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  192. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  193. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  194. data/lib/vapi_server_sdk/types/google_model.rb +178 -0
  195. data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
  196. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  197. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  198. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  199. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  201. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  202. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  203. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  204. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  205. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  206. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  207. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  208. data/lib/vapi_server_sdk/types/log.rb +12 -4
  209. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  210. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  211. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  212. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  213. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  214. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  215. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  216. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  217. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  218. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  219. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  220. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  221. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  222. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  223. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  224. data/lib/vapi_server_sdk/types/org.rb +35 -2
  225. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  226. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  227. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  228. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  229. data/lib/vapi_server_sdk/types/payment.rb +167 -0
  230. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
  231. data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
  232. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
  233. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  234. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  235. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  236. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  237. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  238. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  239. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  240. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  241. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  242. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  243. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  244. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  245. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  246. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  247. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  248. data/lib/vapi_server_sdk/types/server.rb +16 -2
  249. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
  250. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  251. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  252. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  253. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  254. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  255. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  256. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  257. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  258. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
  259. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  260. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  261. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  262. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  263. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  264. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  265. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  266. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
  267. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
  268. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
  269. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
  270. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  271. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  272. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  273. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  274. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  275. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  276. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  277. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  278. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  279. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  280. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  281. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  282. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  283. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  284. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  285. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  286. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  287. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  288. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  289. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  290. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  291. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  292. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  293. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  294. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  295. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  296. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  297. data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
  298. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
  299. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  300. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  301. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  302. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  303. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  304. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  305. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  306. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  307. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  308. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  309. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
  310. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
  311. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
  312. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
  313. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  314. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
  315. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  316. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
  317. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
  318. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
  319. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
  320. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
  321. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
  322. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
  323. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
  324. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
  325. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
  326. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
  327. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
  328. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
  329. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
  330. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
  331. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
  332. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
  333. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
  334. data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
  335. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  336. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
  337. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
  338. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
  339. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
  340. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
  341. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
  342. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
  343. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
  344. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
  345. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
  346. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  347. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  348. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  349. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
  350. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  351. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  352. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  353. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  354. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  355. data/lib/vapi_server_sdk.rb +7 -0
  356. metadata +167 -8
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "byo_phone_number"
5
+ require_relative "twilio_phone_number"
6
+ require_relative "vonage_phone_number"
7
+ require_relative "vapi_phone_number"
8
+
9
+ module Vapi
10
+ class PhoneNumberPaginatedResponseResultsItem
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::PhoneNumberPaginatedResponseResultsItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # PhoneNumberPaginatedResponseResultsItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.provider
35
+ when "byo-phone-number"
36
+ Vapi::ByoPhoneNumber.from_json(json_object: json_object)
37
+ when "twilio"
38
+ Vapi::TwilioPhoneNumber.from_json(json_object: json_object)
39
+ when "vonage"
40
+ Vapi::VonagePhoneNumber.from_json(json_object: json_object)
41
+ when "vapi"
42
+ Vapi::VapiPhoneNumber.from_json(json_object: json_object)
43
+ else
44
+ Vapi::ByoPhoneNumber.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.provider)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "byo-phone-number"
55
+ { **@member.to_json, provider: @discriminant }.to_json
56
+ when "twilio"
57
+ { **@member.to_json, provider: @discriminant }.to_json
58
+ when "vonage"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "vapi"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ else
63
+ { "provider": @discriminant, value: @member }.to_json
64
+ end
65
+ @member.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ case obj.provider
76
+ when "byo-phone-number"
77
+ Vapi::ByoPhoneNumber.validate_raw(obj: obj)
78
+ when "twilio"
79
+ Vapi::TwilioPhoneNumber.validate_raw(obj: obj)
80
+ when "vonage"
81
+ Vapi::VonagePhoneNumber.validate_raw(obj: obj)
82
+ when "vapi"
83
+ Vapi::VapiPhoneNumber.validate_raw(obj: obj)
84
+ else
85
+ raise("Passed value matched no type within the union, validation failed.")
86
+ end
87
+ end
88
+
89
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Boolean]
93
+ def is_a?(obj)
94
+ @member.is_a?(obj)
95
+ end
96
+
97
+ # @param member [Vapi::ByoPhoneNumber]
98
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
99
+ def self.byo_phone_number(member:)
100
+ new(member: member, discriminant: "byo-phone-number")
101
+ end
102
+
103
+ # @param member [Vapi::TwilioPhoneNumber]
104
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
105
+ def self.twilio(member:)
106
+ new(member: member, discriminant: "twilio")
107
+ end
108
+
109
+ # @param member [Vapi::VonagePhoneNumber]
110
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
111
+ def self.vonage(member:)
112
+ new(member: member, discriminant: "vonage")
113
+ end
114
+
115
+ # @param member [Vapi::VapiPhoneNumber]
116
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
117
+ def self.vapi(member:)
118
+ new(member: member, discriminant: "vapi")
119
+ end
120
+ end
121
+ end
@@ -18,6 +18,8 @@ module Vapi
18
18
  attr_reader :created_at
19
19
  # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
20
20
  attr_reader :updated_at
21
+ # @return [String] This is the name of credential. This is just for your reference.
22
+ attr_reader :name
21
23
  # @return [String]
22
24
  attr_reader :user_id
23
25
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -34,16 +36,19 @@ module Vapi
34
36
  # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
35
37
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
36
38
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
39
+ # @param name [String] This is the name of credential. This is just for your reference.
37
40
  # @param user_id [String]
38
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
42
  # @return [Vapi::PlayHtCredential]
40
- def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, user_id:, additional_properties: nil)
43
+ def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, user_id:, name: OMIT,
44
+ additional_properties: nil)
41
45
  @provider = provider
42
46
  @api_key = api_key
43
47
  @id = id
44
48
  @org_id = org_id
45
49
  @created_at = created_at
46
50
  @updated_at = updated_at
51
+ @name = name if name != OMIT
47
52
  @user_id = user_id
48
53
  @additional_properties = additional_properties
49
54
  @_field_set = {
@@ -53,8 +58,11 @@ module Vapi
53
58
  "orgId": org_id,
54
59
  "createdAt": created_at,
55
60
  "updatedAt": updated_at,
61
+ "name": name,
56
62
  "userId": user_id
57
- }
63
+ }.reject do |_k, v|
64
+ v == OMIT
65
+ end
58
66
  end
59
67
 
60
68
  # Deserialize a JSON object to an instance of PlayHtCredential
@@ -70,6 +78,7 @@ module Vapi
70
78
  org_id = parsed_json["orgId"]
71
79
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
72
80
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
81
+ name = parsed_json["name"]
73
82
  user_id = parsed_json["userId"]
74
83
  new(
75
84
  provider: provider,
@@ -78,6 +87,7 @@ module Vapi
78
87
  org_id: org_id,
79
88
  created_at: created_at,
80
89
  updated_at: updated_at,
90
+ name: name,
81
91
  user_id: user_id,
82
92
  additional_properties: struct
83
93
  )
@@ -103,6 +113,7 @@ module Vapi
103
113
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
104
114
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
105
115
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
116
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
106
117
  obj.user_id.is_a?(String) != false || raise("Passed value for field obj.user_id is not the expected type, validation failed.")
107
118
  end
108
119
  end
@@ -2,16 +2,15 @@
2
2
 
3
3
  require_relative "play_ht_voice_id"
4
4
  require_relative "play_ht_voice_emotion"
5
+ require_relative "play_ht_voice_model"
6
+ require_relative "play_ht_voice_language"
5
7
  require_relative "chunk_plan"
8
+ require_relative "fallback_plan"
6
9
  require "ostruct"
7
10
  require "json"
8
11
 
9
12
  module Vapi
10
13
  class PlayHtVoice
11
- # @return [Boolean] This determines whether fillers are injected into the model output before
12
- # inputting it into the voice provider.
13
- # Default `false` because you can achieve better results with prompting the model.
14
- attr_reader :filler_injection_enabled
15
14
  # @return [Vapi::PlayHtVoiceId] This is the provider-specific ID that will be used.
16
15
  attr_reader :voice_id
17
16
  # @return [Float] This is the speed multiplier that will be used.
@@ -36,9 +35,16 @@ module Vapi
36
35
  # make the generated speech more accurate to the input text, ensuring that the
37
36
  # words spoken align closely with the provided text.
38
37
  attr_reader :text_guidance
38
+ # @return [Vapi::PlayHtVoiceModel] Playht voice model/engine to use.
39
+ attr_reader :model
40
+ # @return [Vapi::PlayHtVoiceLanguage] The language to use for the speech.
41
+ attr_reader :language
39
42
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
40
43
  # provider.
41
44
  attr_reader :chunk_plan
45
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
46
+ # voice provider fails.
47
+ attr_reader :fallback_plan
42
48
  # @return [OpenStruct] Additional properties unmapped to the current class definition
43
49
  attr_reader :additional_properties
44
50
  # @return [Object]
@@ -47,9 +53,6 @@ module Vapi
47
53
 
48
54
  OMIT = Object.new
49
55
 
50
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
51
- # inputting it into the voice provider.
52
- # Default `false` because you can achieve better results with prompting the model.
53
56
  # @param voice_id [Vapi::PlayHtVoiceId] This is the provider-specific ID that will be used.
54
57
  # @param speed [Float] This is the speed multiplier that will be used.
55
58
  # @param temperature [Float] A floating point number between 0, exclusive, and 2, inclusive. If equal to null
@@ -67,13 +70,16 @@ module Vapi
67
70
  # but with a higher chance of deviating from the input text. Higher numbers will
68
71
  # make the generated speech more accurate to the input text, ensuring that the
69
72
  # words spoken align closely with the provided text.
73
+ # @param model [Vapi::PlayHtVoiceModel] Playht voice model/engine to use.
74
+ # @param language [Vapi::PlayHtVoiceLanguage] The language to use for the speech.
70
75
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
71
76
  # provider.
77
+ # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
78
+ # voice provider fails.
72
79
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
73
80
  # @return [Vapi::PlayHtVoice]
74
- def initialize(voice_id:, filler_injection_enabled: OMIT, speed: OMIT, temperature: OMIT, emotion: OMIT,
75
- voice_guidance: OMIT, style_guidance: OMIT, text_guidance: OMIT, chunk_plan: OMIT, additional_properties: nil)
76
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
81
+ def initialize(voice_id:, speed: OMIT, temperature: OMIT, emotion: OMIT, voice_guidance: OMIT,
82
+ style_guidance: OMIT, text_guidance: OMIT, model: OMIT, language: OMIT, chunk_plan: OMIT, fallback_plan: OMIT, additional_properties: nil)
77
83
  @voice_id = voice_id
78
84
  @speed = speed if speed != OMIT
79
85
  @temperature = temperature if temperature != OMIT
@@ -81,10 +87,12 @@ module Vapi
81
87
  @voice_guidance = voice_guidance if voice_guidance != OMIT
82
88
  @style_guidance = style_guidance if style_guidance != OMIT
83
89
  @text_guidance = text_guidance if text_guidance != OMIT
90
+ @model = model if model != OMIT
91
+ @language = language if language != OMIT
84
92
  @chunk_plan = chunk_plan if chunk_plan != OMIT
93
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
85
94
  @additional_properties = additional_properties
86
95
  @_field_set = {
87
- "fillerInjectionEnabled": filler_injection_enabled,
88
96
  "voiceId": voice_id,
89
97
  "speed": speed,
90
98
  "temperature": temperature,
@@ -92,7 +100,10 @@ module Vapi
92
100
  "voiceGuidance": voice_guidance,
93
101
  "styleGuidance": style_guidance,
94
102
  "textGuidance": text_guidance,
95
- "chunkPlan": chunk_plan
103
+ "model": model,
104
+ "language": language,
105
+ "chunkPlan": chunk_plan,
106
+ "fallbackPlan": fallback_plan
96
107
  }.reject do |_k, v|
97
108
  v == OMIT
98
109
  end
@@ -105,7 +116,6 @@ module Vapi
105
116
  def self.from_json(json_object:)
106
117
  struct = JSON.parse(json_object, object_class: OpenStruct)
107
118
  parsed_json = JSON.parse(json_object)
108
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
109
119
  if parsed_json["voiceId"].nil?
110
120
  voice_id = nil
111
121
  else
@@ -118,14 +128,21 @@ module Vapi
118
128
  voice_guidance = parsed_json["voiceGuidance"]
119
129
  style_guidance = parsed_json["styleGuidance"]
120
130
  text_guidance = parsed_json["textGuidance"]
131
+ model = parsed_json["model"]
132
+ language = parsed_json["language"]
121
133
  if parsed_json["chunkPlan"].nil?
122
134
  chunk_plan = nil
123
135
  else
124
136
  chunk_plan = parsed_json["chunkPlan"].to_json
125
137
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
126
138
  end
139
+ if parsed_json["fallbackPlan"].nil?
140
+ fallback_plan = nil
141
+ else
142
+ fallback_plan = parsed_json["fallbackPlan"].to_json
143
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
144
+ end
127
145
  new(
128
- filler_injection_enabled: filler_injection_enabled,
129
146
  voice_id: voice_id,
130
147
  speed: speed,
131
148
  temperature: temperature,
@@ -133,7 +150,10 @@ module Vapi
133
150
  voice_guidance: voice_guidance,
134
151
  style_guidance: style_guidance,
135
152
  text_guidance: text_guidance,
153
+ model: model,
154
+ language: language,
136
155
  chunk_plan: chunk_plan,
156
+ fallback_plan: fallback_plan,
137
157
  additional_properties: struct
138
158
  )
139
159
  end
@@ -152,7 +172,6 @@ module Vapi
152
172
  # @param obj [Object]
153
173
  # @return [Void]
154
174
  def self.validate_raw(obj:)
155
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
156
175
  Vapi::PlayHtVoiceId.validate_raw(obj: obj.voice_id)
157
176
  obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
158
177
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
@@ -160,7 +179,10 @@ module Vapi
160
179
  obj.voice_guidance&.is_a?(Float) != false || raise("Passed value for field obj.voice_guidance is not the expected type, validation failed.")
161
180
  obj.style_guidance&.is_a?(Float) != false || raise("Passed value for field obj.style_guidance is not the expected type, validation failed.")
162
181
  obj.text_guidance&.is_a?(Float) != false || raise("Passed value for field obj.text_guidance is not the expected type, validation failed.")
182
+ obj.model&.is_a?(Vapi::PlayHtVoiceModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
183
+ obj.language&.is_a?(Vapi::PlayHtVoiceLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
163
184
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
185
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
164
186
  end
165
187
  end
166
188
  end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # The language to use for the speech.
5
+ class PlayHtVoiceLanguage
6
+ AFRIKAANS = "afrikaans"
7
+ ALBANIAN = "albanian"
8
+ AMHARIC = "amharic"
9
+ ARABIC = "arabic"
10
+ BENGALI = "bengali"
11
+ BULGARIAN = "bulgarian"
12
+ CATALAN = "catalan"
13
+ CROATIAN = "croatian"
14
+ CZECH = "czech"
15
+ DANISH = "danish"
16
+ DUTCH = "dutch"
17
+ ENGLISH = "english"
18
+ FRENCH = "french"
19
+ GALICIAN = "galician"
20
+ GERMAN = "german"
21
+ GREEK = "greek"
22
+ HEBREW = "hebrew"
23
+ HINDI = "hindi"
24
+ HUNGARIAN = "hungarian"
25
+ INDONESIAN = "indonesian"
26
+ ITALIAN = "italian"
27
+ JAPANESE = "japanese"
28
+ KOREAN = "korean"
29
+ MALAY = "malay"
30
+ MANDARIN = "mandarin"
31
+ POLISH = "polish"
32
+ PORTUGUESE = "portuguese"
33
+ RUSSIAN = "russian"
34
+ SERBIAN = "serbian"
35
+ SPANISH = "spanish"
36
+ SWEDISH = "swedish"
37
+ TAGALOG = "tagalog"
38
+ THAI = "thai"
39
+ TURKISH = "turkish"
40
+ UKRAINIAN = "ukrainian"
41
+ URDU = "urdu"
42
+ XHOSA = "xhosa"
43
+ end
44
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # Playht voice model/engine to use.
5
+ class PlayHtVoiceModel
6
+ PLAY_HT_20 = "PlayHT2.0"
7
+ PLAY_HT_20_TURBO = "PlayHT2.0-turbo"
8
+ PLAY_30_MINI = "Play3.0-mini"
9
+ end
10
+ end
@@ -7,7 +7,7 @@ require "json"
7
7
  module Vapi
8
8
  class RegexOption
9
9
  # @return [Vapi::RegexOptionType] This is the type of the regex option. Options are:
10
- # - `ignore-case`: Ignores the case of the text being matched.
10
+ # - `ignore-case`: Ignores the case of the text being matched. Add
11
11
  # - `whole-word`: Matches whole words only.
12
12
  # - `multi-line`: Matches across multiple lines.
13
13
  attr_reader :type
@@ -23,7 +23,7 @@ module Vapi
23
23
  OMIT = Object.new
24
24
 
25
25
  # @param type [Vapi::RegexOptionType] This is the type of the regex option. Options are:
26
- # - `ignore-case`: Ignores the case of the text being matched.
26
+ # - `ignore-case`: Ignores the case of the text being matched. Add
27
27
  # - `whole-word`: Matches whole words only.
28
28
  # - `multi-line`: Matches across multiple lines.
29
29
  # @param enabled [Boolean] This is whether to enable the option.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Vapi
4
4
  # This is the type of the regex option. Options are:
5
- # - `ignore-case`: Ignores the case of the text being matched.
5
+ # - `ignore-case`: Ignores the case of the text being matched. Add
6
6
  # - `whole-word`: Matches whole words only.
7
7
  # - `multi-line`: Matches across multiple lines.
8
8
  class RegexOptionType
@@ -7,9 +7,14 @@ require "json"
7
7
  module Vapi
8
8
  class RegexReplacement
9
9
  # @return [String] This is the regex pattern to replace.
10
+ # Note:
11
+ # - This works by using the `string.replace` method in Node.JS. Eg. `"hello
12
+ # there".replace(/hello/g, "hi")` will return `"hi there"`.
13
+ # Hot tip:
14
+ # - In JavaScript, escape `\` when sending the regex pattern. Eg. `"hello\sthere"`
15
+ # will be sent over the wire as `"hellosthere"`. Send `"hello\\sthere"` instead.
10
16
  attr_reader :regex
11
- # @return [Array<Vapi::RegexOption>] These are the options for the regex replacement. Default all options are
12
- # disabled.
17
+ # @return [Array<Vapi::RegexOption>] These are the options for the regex replacement. Defaults to all disabled.
13
18
  # @default []
14
19
  attr_reader :options
15
20
  # @return [String] This is the value that will replace the match.
@@ -23,8 +28,13 @@ module Vapi
23
28
  OMIT = Object.new
24
29
 
25
30
  # @param regex [String] This is the regex pattern to replace.
26
- # @param options [Array<Vapi::RegexOption>] These are the options for the regex replacement. Default all options are
27
- # disabled.
31
+ # Note:
32
+ # - This works by using the `string.replace` method in Node.JS. Eg. `"hello
33
+ # there".replace(/hello/g, "hi")` will return `"hi there"`.
34
+ # Hot tip:
35
+ # - In JavaScript, escape `\` when sending the regex pattern. Eg. `"hello\sthere"`
36
+ # will be sent over the wire as `"hellosthere"`. Send `"hello\\sthere"` instead.
37
+ # @param options [Array<Vapi::RegexOption>] These are the options for the regex replacement. Defaults to all disabled.
28
38
  # @default []
29
39
  # @param value [String] This is the value that will replace the match.
30
40
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
@@ -18,6 +18,8 @@ module Vapi
18
18
  attr_reader :created_at
19
19
  # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
20
20
  attr_reader :updated_at
21
+ # @return [String] This is the name of credential. This is just for your reference.
22
+ attr_reader :name
21
23
  # @return [OpenStruct] Additional properties unmapped to the current class definition
22
24
  attr_reader :additional_properties
23
25
  # @return [Object]
@@ -32,15 +34,17 @@ module Vapi
32
34
  # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
33
35
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
34
36
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
37
+ # @param name [String] This is the name of credential. This is just for your reference.
35
38
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
39
  # @return [Vapi::RimeAiCredential]
37
- def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, additional_properties: nil)
40
+ def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, name: OMIT, additional_properties: nil)
38
41
  @provider = provider
39
42
  @api_key = api_key
40
43
  @id = id
41
44
  @org_id = org_id
42
45
  @created_at = created_at
43
46
  @updated_at = updated_at
47
+ @name = name if name != OMIT
44
48
  @additional_properties = additional_properties
45
49
  @_field_set = {
46
50
  "provider": provider,
@@ -48,8 +52,11 @@ module Vapi
48
52
  "id": id,
49
53
  "orgId": org_id,
50
54
  "createdAt": created_at,
51
- "updatedAt": updated_at
52
- }
55
+ "updatedAt": updated_at,
56
+ "name": name
57
+ }.reject do |_k, v|
58
+ v == OMIT
59
+ end
53
60
  end
54
61
 
55
62
  # Deserialize a JSON object to an instance of RimeAiCredential
@@ -65,6 +72,7 @@ module Vapi
65
72
  org_id = parsed_json["orgId"]
66
73
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
67
74
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
75
+ name = parsed_json["name"]
68
76
  new(
69
77
  provider: provider,
70
78
  api_key: api_key,
@@ -72,6 +80,7 @@ module Vapi
72
80
  org_id: org_id,
73
81
  created_at: created_at,
74
82
  updated_at: updated_at,
83
+ name: name,
75
84
  additional_properties: struct
76
85
  )
77
86
  end
@@ -96,6 +105,7 @@ module Vapi
96
105
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
97
106
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
98
107
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
108
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
99
109
  end
100
110
  end
101
111
  end
@@ -3,15 +3,12 @@
3
3
  require_relative "rime_ai_voice_id"
4
4
  require_relative "rime_ai_voice_model"
5
5
  require_relative "chunk_plan"
6
+ require_relative "fallback_plan"
6
7
  require "ostruct"
7
8
  require "json"
8
9
 
9
10
  module Vapi
10
11
  class RimeAiVoice
11
- # @return [Boolean] This determines whether fillers are injected into the model output before
12
- # inputting it into the voice provider.
13
- # Default `false` because you can achieve better results with prompting the model.
14
- attr_reader :filler_injection_enabled
15
12
  # @return [Vapi::RimeAiVoiceId] This is the provider-specific ID that will be used.
16
13
  attr_reader :voice_id
17
14
  # @return [Vapi::RimeAiVoiceModel] This is the model that will be used. Defaults to 'v1' when not specified.
@@ -21,6 +18,9 @@ module Vapi
21
18
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
22
19
  # provider.
23
20
  attr_reader :chunk_plan
21
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
22
+ # voice provider fails.
23
+ attr_reader :fallback_plan
24
24
  # @return [OpenStruct] Additional properties unmapped to the current class definition
25
25
  attr_reader :additional_properties
26
26
  # @return [Object]
@@ -29,30 +29,29 @@ module Vapi
29
29
 
30
30
  OMIT = Object.new
31
31
 
32
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
33
- # inputting it into the voice provider.
34
- # Default `false` because you can achieve better results with prompting the model.
35
32
  # @param voice_id [Vapi::RimeAiVoiceId] This is the provider-specific ID that will be used.
36
33
  # @param model [Vapi::RimeAiVoiceModel] This is the model that will be used. Defaults to 'v1' when not specified.
37
34
  # @param speed [Float] This is the speed multiplier that will be used.
38
35
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
39
36
  # provider.
37
+ # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
38
+ # voice provider fails.
40
39
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
40
  # @return [Vapi::RimeAiVoice]
42
- def initialize(voice_id:, filler_injection_enabled: OMIT, model: OMIT, speed: OMIT, chunk_plan: OMIT,
41
+ def initialize(voice_id:, model: OMIT, speed: OMIT, chunk_plan: OMIT, fallback_plan: OMIT,
43
42
  additional_properties: nil)
44
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
45
43
  @voice_id = voice_id
46
44
  @model = model if model != OMIT
47
45
  @speed = speed if speed != OMIT
48
46
  @chunk_plan = chunk_plan if chunk_plan != OMIT
47
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
49
48
  @additional_properties = additional_properties
50
49
  @_field_set = {
51
- "fillerInjectionEnabled": filler_injection_enabled,
52
50
  "voiceId": voice_id,
53
51
  "model": model,
54
52
  "speed": speed,
55
- "chunkPlan": chunk_plan
53
+ "chunkPlan": chunk_plan,
54
+ "fallbackPlan": fallback_plan
56
55
  }.reject do |_k, v|
57
56
  v == OMIT
58
57
  end
@@ -65,7 +64,6 @@ module Vapi
65
64
  def self.from_json(json_object:)
66
65
  struct = JSON.parse(json_object, object_class: OpenStruct)
67
66
  parsed_json = JSON.parse(json_object)
68
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
69
67
  if parsed_json["voiceId"].nil?
70
68
  voice_id = nil
71
69
  else
@@ -80,12 +78,18 @@ module Vapi
80
78
  chunk_plan = parsed_json["chunkPlan"].to_json
81
79
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
82
80
  end
81
+ if parsed_json["fallbackPlan"].nil?
82
+ fallback_plan = nil
83
+ else
84
+ fallback_plan = parsed_json["fallbackPlan"].to_json
85
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
86
+ end
83
87
  new(
84
- filler_injection_enabled: filler_injection_enabled,
85
88
  voice_id: voice_id,
86
89
  model: model,
87
90
  speed: speed,
88
91
  chunk_plan: chunk_plan,
92
+ fallback_plan: fallback_plan,
89
93
  additional_properties: struct
90
94
  )
91
95
  end
@@ -104,11 +108,11 @@ module Vapi
104
108
  # @param obj [Object]
105
109
  # @return [Void]
106
110
  def self.validate_raw(obj:)
107
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
108
111
  Vapi::RimeAiVoiceId.validate_raw(obj: obj.voice_id)
109
112
  obj.model&.is_a?(Vapi::RimeAiVoiceModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
110
113
  obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
111
114
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
115
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
112
116
  end
113
117
  end
114
118
  end