vapi_server_sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +184 -26
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +57 -60
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +58 -28
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  14. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  19. data/lib/vapi_server_sdk/logs/client.rb +10 -6
  20. data/lib/vapi_server_sdk/squads/client.rb +56 -32
  21. data/lib/vapi_server_sdk/tools/client.rb +4 -0
  22. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  23. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  24. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  25. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  26. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  27. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  28. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  29. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  30. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  31. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  32. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  33. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  34. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  35. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  36. data/lib/vapi_server_sdk/types/assistant.rb +42 -64
  37. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  38. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  39. data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
  40. data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
  41. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
  43. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
  45. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
  46. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  47. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
  48. data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
  49. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  50. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
  51. data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
  52. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  53. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
  54. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  55. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
  56. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  57. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  58. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  59. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  60. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  61. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  62. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  63. data/lib/vapi_server_sdk/types/call.rb +15 -1
  64. data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
  65. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  66. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  67. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  68. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  69. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  70. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  71. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  72. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  73. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  74. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  75. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  76. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  77. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  78. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  79. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  80. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  81. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  82. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  83. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
  84. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
  85. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
  86. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
  87. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  88. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
  89. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  90. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
  91. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
  92. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
  93. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  94. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
  95. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  96. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
  97. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  98. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  99. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
  100. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
  101. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  102. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  103. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  104. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
  105. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
  106. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
  107. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
  108. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
  109. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
  110. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
  111. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  112. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
  113. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  114. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
  115. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
  117. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
  118. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
  119. data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
  120. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  121. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
  122. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
  123. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
  124. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
  125. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
  126. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
  127. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  128. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  129. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
  130. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  131. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
  132. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
  133. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
  134. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
  135. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
  136. data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
  137. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  138. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  139. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  140. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  141. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  142. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  143. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  144. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  145. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  146. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  147. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  148. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  149. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  150. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  151. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  152. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  153. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  154. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  155. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  156. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
  157. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  158. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  159. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  160. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  161. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  162. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  163. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  164. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
  165. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  166. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  167. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  168. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  169. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  170. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  171. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  172. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  173. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  174. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
  175. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  176. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  177. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  178. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  179. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  180. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  181. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  182. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  183. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  184. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  185. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  186. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  187. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  188. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  189. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  190. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  191. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  192. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  193. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  194. data/lib/vapi_server_sdk/types/google_model.rb +178 -0
  195. data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
  196. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  197. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  198. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  199. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  201. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  202. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  203. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  204. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  205. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  206. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  207. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  208. data/lib/vapi_server_sdk/types/log.rb +12 -4
  209. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  210. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  211. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  212. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  213. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  214. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  215. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  216. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  217. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  218. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  219. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  220. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  221. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  222. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  223. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  224. data/lib/vapi_server_sdk/types/org.rb +35 -2
  225. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  226. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  227. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  228. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  229. data/lib/vapi_server_sdk/types/payment.rb +167 -0
  230. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
  231. data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
  232. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
  233. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  234. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  235. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  236. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  237. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  238. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  239. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  240. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  241. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  242. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  243. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  244. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  245. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  246. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  247. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  248. data/lib/vapi_server_sdk/types/server.rb +16 -2
  249. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
  250. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  251. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  252. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  253. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  254. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  255. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  256. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  257. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  258. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
  259. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  260. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  261. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  262. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  263. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  264. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  265. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  266. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
  267. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
  268. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
  269. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
  270. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  271. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  272. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  273. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  274. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  275. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  276. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  277. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  278. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  279. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  280. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  281. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  282. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  283. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  284. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  285. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  286. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  287. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  288. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  289. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  290. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  291. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  292. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  293. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  294. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  295. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  296. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  297. data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
  298. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
  299. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  300. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  301. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  302. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  303. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  304. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  305. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  306. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  307. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  308. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  309. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
  310. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
  311. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
  312. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
  313. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  314. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
  315. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  316. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
  317. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
  318. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
  319. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
  320. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
  321. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
  322. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
  323. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
  324. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
  325. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
  326. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
  327. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
  328. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
  329. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
  330. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
  331. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
  332. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
  333. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
  334. data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
  335. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  336. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
  337. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
  338. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
  339. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
  340. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
  341. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
  342. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
  343. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
  344. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
  345. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
  346. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  347. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  348. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  349. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
  350. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  351. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  352. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  353. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  354. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  355. data/lib/vapi_server_sdk.rb +7 -0
  356. metadata +165 -6
@@ -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::CartesiaCredential]
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 CartesiaCredential
@@ -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,26 +3,26 @@
3
3
  require_relative "cartesia_voice_model"
4
4
  require_relative "cartesia_voice_language"
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 CartesiaVoice
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::CartesiaVoiceModel] This is the model that will be used. This is optional and will default to the
16
13
  # correct model for the voiceId.
17
14
  attr_reader :model
18
15
  # @return [Vapi::CartesiaVoiceLanguage] This is the language that will be used. This is optional and will default to the
19
16
  # correct language for the voiceId.
20
17
  attr_reader :language
21
- # @return [String] This is the provider-specific ID that will be used.
22
- attr_reader :voice_id
23
18
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
24
19
  # provider.
25
20
  attr_reader :chunk_plan
21
+ # @return [String] This is the provider-specific ID that will be used.
22
+ attr_reader :voice_id
23
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
24
+ # voice provider fails.
25
+ attr_reader :fallback_plan
26
26
  # @return [OpenStruct] Additional properties unmapped to the current class definition
27
27
  attr_reader :additional_properties
28
28
  # @return [Object]
@@ -31,32 +31,31 @@ module Vapi
31
31
 
32
32
  OMIT = Object.new
33
33
 
34
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
35
- # inputting it into the voice provider.
36
- # Default `false` because you can achieve better results with prompting the model.
37
34
  # @param model [Vapi::CartesiaVoiceModel] This is the model that will be used. This is optional and will default to the
38
35
  # correct model for the voiceId.
39
36
  # @param language [Vapi::CartesiaVoiceLanguage] This is the language that will be used. This is optional and will default to the
40
37
  # correct language for the voiceId.
41
- # @param voice_id [String] This is the provider-specific ID that will be used.
42
38
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
43
39
  # provider.
40
+ # @param voice_id [String] This is the provider-specific ID that will be used.
41
+ # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
42
+ # voice provider fails.
44
43
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
45
44
  # @return [Vapi::CartesiaVoice]
46
- def initialize(voice_id:, filler_injection_enabled: OMIT, model: OMIT, language: OMIT, chunk_plan: OMIT,
45
+ def initialize(voice_id:, model: OMIT, language: OMIT, chunk_plan: OMIT, fallback_plan: OMIT,
47
46
  additional_properties: nil)
48
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
49
47
  @model = model if model != OMIT
50
48
  @language = language if language != OMIT
51
- @voice_id = voice_id
52
49
  @chunk_plan = chunk_plan if chunk_plan != OMIT
50
+ @voice_id = voice_id
51
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
53
52
  @additional_properties = additional_properties
54
53
  @_field_set = {
55
- "fillerInjectionEnabled": filler_injection_enabled,
56
54
  "model": model,
57
55
  "language": language,
56
+ "chunkPlan": chunk_plan,
58
57
  "voiceId": voice_id,
59
- "chunkPlan": chunk_plan
58
+ "fallbackPlan": fallback_plan
60
59
  }.reject do |_k, v|
61
60
  v == OMIT
62
61
  end
@@ -69,22 +68,27 @@ module Vapi
69
68
  def self.from_json(json_object:)
70
69
  struct = JSON.parse(json_object, object_class: OpenStruct)
71
70
  parsed_json = JSON.parse(json_object)
72
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
73
71
  model = parsed_json["model"]
74
72
  language = parsed_json["language"]
75
- voice_id = parsed_json["voiceId"]
76
73
  if parsed_json["chunkPlan"].nil?
77
74
  chunk_plan = nil
78
75
  else
79
76
  chunk_plan = parsed_json["chunkPlan"].to_json
80
77
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
81
78
  end
79
+ voice_id = parsed_json["voiceId"]
80
+ if parsed_json["fallbackPlan"].nil?
81
+ fallback_plan = nil
82
+ else
83
+ fallback_plan = parsed_json["fallbackPlan"].to_json
84
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
85
+ end
82
86
  new(
83
- filler_injection_enabled: filler_injection_enabled,
84
87
  model: model,
85
88
  language: language,
86
- voice_id: voice_id,
87
89
  chunk_plan: chunk_plan,
90
+ voice_id: voice_id,
91
+ fallback_plan: fallback_plan,
88
92
  additional_properties: struct
89
93
  )
90
94
  end
@@ -103,11 +107,11 @@ module Vapi
103
107
  # @param obj [Object]
104
108
  # @return [Void]
105
109
  def self.validate_raw(obj:)
106
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
107
110
  obj.model&.is_a?(Vapi::CartesiaVoiceModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
108
111
  obj.language&.is_a?(Vapi::CartesiaVoiceLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
109
- obj.voice_id.is_a?(String) != false || raise("Passed value for field obj.voice_id is not the expected type, validation failed.")
110
112
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
113
+ obj.voice_id.is_a?(String) != false || raise("Passed value for field obj.voice_id is not the expected type, validation failed.")
114
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
111
115
  end
112
116
  end
113
117
  end
@@ -4,12 +4,20 @@ module Vapi
4
4
  # This is the language that will be used. This is optional and will default to the
5
5
  # correct language for the voiceId.
6
6
  class CartesiaVoiceLanguage
7
- DE = "de"
8
7
  EN = "en"
8
+ DE = "de"
9
9
  ES = "es"
10
10
  FR = "fr"
11
11
  JA = "ja"
12
12
  PT = "pt"
13
13
  ZH = "zh"
14
+ HI = "hi"
15
+ IT = "it"
16
+ KO = "ko"
17
+ NL = "nl"
18
+ PL = "pl"
19
+ RU = "ru"
20
+ SV = "sv"
21
+ TR = "tr"
14
22
  end
15
23
  end
@@ -8,6 +8,13 @@ module Vapi
8
8
  class ClientInboundMessageAddMessage
9
9
  # @return [Vapi::OpenAiMessage] This is the message to add to the conversation.
10
10
  attr_reader :message
11
+ # @return [Boolean] This is the flag to trigger a response, or to insert the message into the
12
+ # conversation history silently. Defaults to `true`.
13
+ # Usage:
14
+ # - Use `true` to trigger a response.
15
+ # - Use `false` to insert the message into the conversation history silently.
16
+ # @default true
17
+ attr_reader :trigger_response_enabled
11
18
  # @return [OpenStruct] Additional properties unmapped to the current class definition
12
19
  attr_reader :additional_properties
13
20
  # @return [Object]
@@ -17,12 +24,21 @@ module Vapi
17
24
  OMIT = Object.new
18
25
 
19
26
  # @param message [Vapi::OpenAiMessage] This is the message to add to the conversation.
27
+ # @param trigger_response_enabled [Boolean] This is the flag to trigger a response, or to insert the message into the
28
+ # conversation history silently. Defaults to `true`.
29
+ # Usage:
30
+ # - Use `true` to trigger a response.
31
+ # - Use `false` to insert the message into the conversation history silently.
32
+ # @default true
20
33
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
21
34
  # @return [Vapi::ClientInboundMessageAddMessage]
22
- def initialize(message:, additional_properties: nil)
35
+ def initialize(message:, trigger_response_enabled: OMIT, additional_properties: nil)
23
36
  @message = message
37
+ @trigger_response_enabled = trigger_response_enabled if trigger_response_enabled != OMIT
24
38
  @additional_properties = additional_properties
25
- @_field_set = { "message": message }
39
+ @_field_set = { "message": message, "triggerResponseEnabled": trigger_response_enabled }.reject do |_k, v|
40
+ v == OMIT
41
+ end
26
42
  end
27
43
 
28
44
  # Deserialize a JSON object to an instance of ClientInboundMessageAddMessage
@@ -38,7 +54,12 @@ module Vapi
38
54
  message = parsed_json["message"].to_json
39
55
  message = Vapi::OpenAiMessage.from_json(json_object: message)
40
56
  end
41
- new(message: message, additional_properties: struct)
57
+ trigger_response_enabled = parsed_json["triggerResponseEnabled"]
58
+ new(
59
+ message: message,
60
+ trigger_response_enabled: trigger_response_enabled,
61
+ additional_properties: struct
62
+ )
42
63
  end
43
64
 
44
65
  # Serialize an instance of ClientInboundMessageAddMessage to a JSON object
@@ -56,6 +77,7 @@ module Vapi
56
77
  # @return [Void]
57
78
  def self.validate_raw(obj:)
58
79
  Vapi::OpenAiMessage.validate_raw(obj: obj.message)
80
+ obj.trigger_response_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.trigger_response_enabled is not the expected type, validation failed.")
59
81
  end
60
82
  end
61
83
  end
@@ -4,6 +4,7 @@ require "json"
4
4
  require_relative "client_inbound_message_add_message"
5
5
  require_relative "client_inbound_message_control"
6
6
  require_relative "client_inbound_message_say"
7
+ require_relative "client_inbound_message_transfer"
7
8
 
8
9
  module Vapi
9
10
  # These are the messages that can be sent from client-side SDKs to control the
@@ -38,6 +39,8 @@ module Vapi
38
39
  Vapi::ClientInboundMessageControl.from_json(json_object: json_object)
39
40
  when "say"
40
41
  Vapi::ClientInboundMessageSay.from_json(json_object: json_object)
42
+ when "transfer"
43
+ Vapi::ClientInboundMessageTransfer.from_json(json_object: json_object)
41
44
  else
42
45
  Vapi::ClientInboundMessageAddMessage.from_json(json_object: json_object)
43
46
  end
@@ -55,6 +58,8 @@ module Vapi
55
58
  { **@member.to_json, type: @discriminant }.to_json
56
59
  when "say"
57
60
  { **@member.to_json, type: @discriminant }.to_json
61
+ when "transfer"
62
+ { **@member.to_json, type: @discriminant }.to_json
58
63
  else
59
64
  { "type": @discriminant, value: @member }.to_json
60
65
  end
@@ -75,6 +80,8 @@ module Vapi
75
80
  Vapi::ClientInboundMessageControl.validate_raw(obj: obj)
76
81
  when "say"
77
82
  Vapi::ClientInboundMessageSay.validate_raw(obj: obj)
83
+ when "transfer"
84
+ Vapi::ClientInboundMessageTransfer.validate_raw(obj: obj)
78
85
  else
79
86
  raise("Passed value matched no type within the union, validation failed.")
80
87
  end
@@ -105,5 +112,11 @@ module Vapi
105
112
  def self.say(member:)
106
113
  new(member: member, discriminant: "say")
107
114
  end
115
+
116
+ # @param member [Vapi::ClientInboundMessageTransfer]
117
+ # @return [Vapi::ClientInboundMessageMessage]
118
+ def self.transfer(member:)
119
+ new(member: member, discriminant: "transfer")
120
+ end
108
121
  end
109
122
  end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "client_inbound_message_transfer_destination"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class ClientInboundMessageTransfer
9
+ # @return [Vapi::ClientInboundMessageTransferDestination] This is the destination to transfer the call to.
10
+ attr_reader :destination
11
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
12
+ attr_reader :additional_properties
13
+ # @return [Object]
14
+ attr_reader :_field_set
15
+ protected :_field_set
16
+
17
+ OMIT = Object.new
18
+
19
+ # @param destination [Vapi::ClientInboundMessageTransferDestination] This is the destination to transfer the call to.
20
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
21
+ # @return [Vapi::ClientInboundMessageTransfer]
22
+ def initialize(destination: OMIT, additional_properties: nil)
23
+ @destination = destination if destination != OMIT
24
+ @additional_properties = additional_properties
25
+ @_field_set = { "destination": destination }.reject do |_k, v|
26
+ v == OMIT
27
+ end
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of ClientInboundMessageTransfer
31
+ #
32
+ # @param json_object [String]
33
+ # @return [Vapi::ClientInboundMessageTransfer]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ parsed_json = JSON.parse(json_object)
37
+ if parsed_json["destination"].nil?
38
+ destination = nil
39
+ else
40
+ destination = parsed_json["destination"].to_json
41
+ destination = Vapi::ClientInboundMessageTransferDestination.from_json(json_object: destination)
42
+ end
43
+ new(destination: destination, additional_properties: struct)
44
+ end
45
+
46
+ # Serialize an instance of ClientInboundMessageTransfer to a JSON object
47
+ #
48
+ # @return [String]
49
+ def to_json(*_args)
50
+ @_field_set&.to_json
51
+ end
52
+
53
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
54
+ # hash and check each fields type against the current object's property
55
+ # definitions.
56
+ #
57
+ # @param obj [Object]
58
+ # @return [Void]
59
+ def self.validate_raw(obj:)
60
+ obj.destination.nil? || Vapi::ClientInboundMessageTransferDestination.validate_raw(obj: obj.destination)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "transfer_destination_number"
5
+ require_relative "transfer_destination_sip"
6
+
7
+ module Vapi
8
+ # This is the destination to transfer the call to.
9
+ class ClientInboundMessageTransferDestination
10
+ # @return [Object]
11
+ attr_reader :member
12
+ # @return [String]
13
+ attr_reader :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+
18
+ # @param member [Object]
19
+ # @param discriminant [String]
20
+ # @return [Vapi::ClientInboundMessageTransferDestination]
21
+ def initialize(member:, discriminant:)
22
+ @member = member
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of
27
+ # ClientInboundMessageTransferDestination
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vapi::ClientInboundMessageTransferDestination]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ member = case struct.type
34
+ when "number"
35
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
36
+ when "sip"
37
+ Vapi::TransferDestinationSip.from_json(json_object: json_object)
38
+ else
39
+ Vapi::TransferDestinationNumber.from_json(json_object: json_object)
40
+ end
41
+ new(member: member, discriminant: struct.type)
42
+ end
43
+
44
+ # For Union Types, to_json functionality is delegated to the wrapped member.
45
+ #
46
+ # @return [String]
47
+ def to_json(*_args)
48
+ case @discriminant
49
+ when "number"
50
+ { **@member.to_json, type: @discriminant }.to_json
51
+ when "sip"
52
+ { **@member.to_json, type: @discriminant }.to_json
53
+ else
54
+ { "type": @discriminant, value: @member }.to_json
55
+ end
56
+ @member.to_json
57
+ end
58
+
59
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
+ # hash and check each fields type against the current object's property
61
+ # definitions.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ case obj.type
67
+ when "number"
68
+ Vapi::TransferDestinationNumber.validate_raw(obj: obj)
69
+ when "sip"
70
+ Vapi::TransferDestinationSip.validate_raw(obj: obj)
71
+ else
72
+ raise("Passed value matched no type within the union, validation failed.")
73
+ end
74
+ end
75
+
76
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Boolean]
80
+ def is_a?(obj)
81
+ @member.is_a?(obj)
82
+ end
83
+
84
+ # @param member [Vapi::TransferDestinationNumber]
85
+ # @return [Vapi::ClientInboundMessageTransferDestination]
86
+ def self.number(member:)
87
+ new(member: member, discriminant: "number")
88
+ end
89
+
90
+ # @param member [Vapi::TransferDestinationSip]
91
+ # @return [Vapi::ClientInboundMessageTransferDestination]
92
+ def self.sip(member:)
93
+ new(member: member, discriminant: "sip")
94
+ end
95
+ end
96
+ end
@@ -4,7 +4,7 @@ require "ostruct"
4
4
  require "json"
5
5
 
6
6
  module Vapi
7
- class ClientMessageLanguageChanged
7
+ class ClientMessageLanguageChangeDetected
8
8
  # @return [String] This is the language the transcriber is switched to.
9
9
  attr_reader :language
10
10
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -17,17 +17,17 @@ module Vapi
17
17
 
18
18
  # @param language [String] This is the language the transcriber is switched to.
19
19
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
- # @return [Vapi::ClientMessageLanguageChanged]
20
+ # @return [Vapi::ClientMessageLanguageChangeDetected]
21
21
  def initialize(language:, additional_properties: nil)
22
22
  @language = language
23
23
  @additional_properties = additional_properties
24
24
  @_field_set = { "language": language }
25
25
  end
26
26
 
27
- # Deserialize a JSON object to an instance of ClientMessageLanguageChanged
27
+ # Deserialize a JSON object to an instance of ClientMessageLanguageChangeDetected
28
28
  #
29
29
  # @param json_object [String]
30
- # @return [Vapi::ClientMessageLanguageChanged]
30
+ # @return [Vapi::ClientMessageLanguageChangeDetected]
31
31
  def self.from_json(json_object:)
32
32
  struct = JSON.parse(json_object, object_class: OpenStruct)
33
33
  parsed_json = JSON.parse(json_object)
@@ -35,7 +35,7 @@ module Vapi
35
35
  new(language: language, additional_properties: struct)
36
36
  end
37
37
 
38
- # Serialize an instance of ClientMessageLanguageChanged to a JSON object
38
+ # Serialize an instance of ClientMessageLanguageChangeDetected to a JSON object
39
39
  #
40
40
  # @return [String]
41
41
  def to_json(*_args)
@@ -9,8 +9,9 @@ require_relative "client_message_speech_update"
9
9
  require_relative "client_message_transcript"
10
10
  require_relative "client_message_tool_calls"
11
11
  require_relative "client_message_tool_calls_result"
12
+ require_relative "client_message_transfer_update"
12
13
  require_relative "client_message_user_interrupted"
13
- require_relative "client_message_language_changed"
14
+ require_relative "client_message_language_change_detected"
14
15
  require_relative "client_message_voice_input"
15
16
 
16
17
  module Vapi
@@ -57,10 +58,12 @@ module Vapi
57
58
  Vapi::ClientMessageToolCalls.from_json(json_object: json_object)
58
59
  when "tool-calls-result"
59
60
  Vapi::ClientMessageToolCallsResult.from_json(json_object: json_object)
61
+ when "transfer-update"
62
+ Vapi::ClientMessageTransferUpdate.from_json(json_object: json_object)
60
63
  when "user-interrupted"
61
64
  Vapi::ClientMessageUserInterrupted.from_json(json_object: json_object)
62
- when "language-changed"
63
- Vapi::ClientMessageLanguageChanged.from_json(json_object: json_object)
65
+ when "language-change-detected"
66
+ Vapi::ClientMessageLanguageChangeDetected.from_json(json_object: json_object)
64
67
  when "voice-input"
65
68
  Vapi::ClientMessageVoiceInput.from_json(json_object: json_object)
66
69
  else
@@ -90,9 +93,11 @@ module Vapi
90
93
  { **@member.to_json, type: @discriminant }.to_json
91
94
  when "tool-calls-result"
92
95
  { **@member.to_json, type: @discriminant }.to_json
96
+ when "transfer-update"
97
+ { **@member.to_json, type: @discriminant }.to_json
93
98
  when "user-interrupted"
94
99
  { **@member.to_json, type: @discriminant }.to_json
95
- when "language-changed"
100
+ when "language-change-detected"
96
101
  { **@member.to_json, type: @discriminant }.to_json
97
102
  when "voice-input"
98
103
  { **@member.to_json, type: @discriminant }.to_json
@@ -126,10 +131,12 @@ module Vapi
126
131
  Vapi::ClientMessageToolCalls.validate_raw(obj: obj)
127
132
  when "tool-calls-result"
128
133
  Vapi::ClientMessageToolCallsResult.validate_raw(obj: obj)
134
+ when "transfer-update"
135
+ Vapi::ClientMessageTransferUpdate.validate_raw(obj: obj)
129
136
  when "user-interrupted"
130
137
  Vapi::ClientMessageUserInterrupted.validate_raw(obj: obj)
131
- when "language-changed"
132
- Vapi::ClientMessageLanguageChanged.validate_raw(obj: obj)
138
+ when "language-change-detected"
139
+ Vapi::ClientMessageLanguageChangeDetected.validate_raw(obj: obj)
133
140
  when "voice-input"
134
141
  Vapi::ClientMessageVoiceInput.validate_raw(obj: obj)
135
142
  else
@@ -193,16 +200,22 @@ module Vapi
193
200
  new(member: member, discriminant: "tool-calls-result")
194
201
  end
195
202
 
203
+ # @param member [Vapi::ClientMessageTransferUpdate]
204
+ # @return [Vapi::ClientMessageMessage]
205
+ def self.transfer_update(member:)
206
+ new(member: member, discriminant: "transfer-update")
207
+ end
208
+
196
209
  # @param member [Vapi::ClientMessageUserInterrupted]
197
210
  # @return [Vapi::ClientMessageMessage]
198
211
  def self.user_interrupted(member:)
199
212
  new(member: member, discriminant: "user-interrupted")
200
213
  end
201
214
 
202
- # @param member [Vapi::ClientMessageLanguageChanged]
215
+ # @param member [Vapi::ClientMessageLanguageChangeDetected]
203
216
  # @return [Vapi::ClientMessageMessage]
204
- def self.language_changed(member:)
205
- new(member: member, discriminant: "language-changed")
217
+ def self.language_change_detected(member:)
218
+ new(member: member, discriminant: "language-change-detected")
206
219
  end
207
220
 
208
221
  # @param member [Vapi::ClientMessageVoiceInput]