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
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class OAuth2AuthenticationPlan
8
+ # @return [String]
9
+ attr_reader :type
10
+ # @return [String] This is the OAuth2 URL.
11
+ attr_reader :url
12
+ # @return [String] This is the OAuth2 client ID.
13
+ attr_reader :client_id
14
+ # @return [String] This is the OAuth2 client secret.
15
+ attr_reader :client_secret
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param type [String]
25
+ # @param url [String] This is the OAuth2 URL.
26
+ # @param client_id [String] This is the OAuth2 client ID.
27
+ # @param client_secret [String] This is the OAuth2 client secret.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Vapi::OAuth2AuthenticationPlan]
30
+ def initialize(type:, url:, client_id:, client_secret:, additional_properties: nil)
31
+ @type = type
32
+ @url = url
33
+ @client_id = client_id
34
+ @client_secret = client_secret
35
+ @additional_properties = additional_properties
36
+ @_field_set = { "type": type, "url": url, "clientId": client_id, "clientSecret": client_secret }
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of OAuth2AuthenticationPlan
40
+ #
41
+ # @param json_object [String]
42
+ # @return [Vapi::OAuth2AuthenticationPlan]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ parsed_json = JSON.parse(json_object)
46
+ type = parsed_json["type"]
47
+ url = parsed_json["url"]
48
+ client_id = parsed_json["clientId"]
49
+ client_secret = parsed_json["clientSecret"]
50
+ new(
51
+ type: type,
52
+ url: url,
53
+ client_id: client_id,
54
+ client_secret: client_secret,
55
+ additional_properties: struct
56
+ )
57
+ end
58
+
59
+ # Serialize an instance of OAuth2AuthenticationPlan to a JSON object
60
+ #
61
+ # @return [String]
62
+ def to_json(*_args)
63
+ @_field_set&.to_json
64
+ end
65
+
66
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
67
+ # hash and check each fields type against the current object's property
68
+ # definitions.
69
+ #
70
+ # @param obj [Object]
71
+ # @return [Void]
72
+ def self.validate_raw(obj:)
73
+ obj.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
74
+ obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
75
+ obj.client_id.is_a?(String) != false || raise("Passed value for field obj.client_id is not the expected type, validation failed.")
76
+ obj.client_secret.is_a?(String) != false || raise("Passed value for field obj.client_secret is not the expected type, validation failed.")
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class Oauth2AuthenticationSession
9
+ # @return [String] This is the OAuth2 access token.
10
+ attr_reader :access_token
11
+ # @return [DateTime] This is the OAuth2 access token expiration.
12
+ attr_reader :expires_at
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param access_token [String] This is the OAuth2 access token.
22
+ # @param expires_at [DateTime] This is the OAuth2 access token expiration.
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Vapi::Oauth2AuthenticationSession]
25
+ def initialize(access_token: OMIT, expires_at: OMIT, additional_properties: nil)
26
+ @access_token = access_token if access_token != OMIT
27
+ @expires_at = expires_at if expires_at != OMIT
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "accessToken": access_token, "expiresAt": expires_at }.reject do |_k, v|
30
+ v == OMIT
31
+ end
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of Oauth2AuthenticationSession
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Vapi::Oauth2AuthenticationSession]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ access_token = parsed_json["accessToken"]
42
+ expires_at = (DateTime.parse(parsed_json["expiresAt"]) unless parsed_json["expiresAt"].nil?)
43
+ new(
44
+ access_token: access_token,
45
+ expires_at: expires_at,
46
+ additional_properties: struct
47
+ )
48
+ end
49
+
50
+ # Serialize an instance of Oauth2AuthenticationSession to a JSON object
51
+ #
52
+ # @return [String]
53
+ def to_json(*_args)
54
+ @_field_set&.to_json
55
+ end
56
+
57
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
58
+ # hash and check each fields type against the current object's property
59
+ # definitions.
60
+ #
61
+ # @param obj [Object]
62
+ # @return [Void]
63
+ def self.validate_raw(obj:)
64
+ obj.access_token&.is_a?(String) != false || raise("Passed value for field obj.access_token is not the expected type, validation failed.")
65
+ obj.expires_at&.is_a?(DateTime) != false || raise("Passed value for field obj.expires_at is not the expected type, validation failed.")
66
+ end
67
+ end
68
+ 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 [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::OpenAiCredential]
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 OpenAiCredential
@@ -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
@@ -6,11 +6,20 @@ require "json"
6
6
 
7
7
  module Vapi
8
8
  class OpenAiFunction
9
+ # @return [Boolean] This is a boolean that controls whether to enable strict schema adherence when
10
+ # generating the function call. If set to true, the model will follow the exact
11
+ # schema defined in the parameters field. Only a subset of JSON Schema is
12
+ # supported when strict is true. Learn more about Structured Outputs in the
13
+ # [OpenAI
14
+ # guide](https://openai.com/index/introducing-structured-outputs-in-the-api/).
15
+ # @default false
16
+ attr_reader :strict
9
17
  # @return [String] This is the the name of the function to be called.
10
18
  # Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length
11
19
  # of 64.
12
20
  attr_reader :name
13
- # @return [String]
21
+ # @return [String] This is the description of what the function does, used by the AI to choose when
22
+ # and how to call the function.
14
23
  attr_reader :description
15
24
  # @return [Vapi::OpenAiFunctionParameters] These are the parameters the functions accepts, described as a JSON Schema
16
25
  # object.
@@ -28,10 +37,18 @@ module Vapi
28
37
 
29
38
  OMIT = Object.new
30
39
 
40
+ # @param strict [Boolean] This is a boolean that controls whether to enable strict schema adherence when
41
+ # generating the function call. If set to true, the model will follow the exact
42
+ # schema defined in the parameters field. Only a subset of JSON Schema is
43
+ # supported when strict is true. Learn more about Structured Outputs in the
44
+ # [OpenAI
45
+ # guide](https://openai.com/index/introducing-structured-outputs-in-the-api/).
46
+ # @default false
31
47
  # @param name [String] This is the the name of the function to be called.
32
48
  # Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length
33
49
  # of 64.
34
- # @param description [String]
50
+ # @param description [String] This is the description of what the function does, used by the AI to choose when
51
+ # and how to call the function.
35
52
  # @param parameters [Vapi::OpenAiFunctionParameters] These are the parameters the functions accepts, described as a JSON Schema
36
53
  # object.
37
54
  # See the [OpenAI guide](https://platform.openai.com/docs/guides/function-calling)
@@ -41,12 +58,18 @@ module Vapi
41
58
  # Omitting parameters defines a function with an empty parameter list.
42
59
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
43
60
  # @return [Vapi::OpenAiFunction]
44
- def initialize(name:, description: OMIT, parameters: OMIT, additional_properties: nil)
61
+ def initialize(name:, strict: OMIT, description: OMIT, parameters: OMIT, additional_properties: nil)
62
+ @strict = strict if strict != OMIT
45
63
  @name = name
46
64
  @description = description if description != OMIT
47
65
  @parameters = parameters if parameters != OMIT
48
66
  @additional_properties = additional_properties
49
- @_field_set = { "name": name, "description": description, "parameters": parameters }.reject do |_k, v|
67
+ @_field_set = {
68
+ "strict": strict,
69
+ "name": name,
70
+ "description": description,
71
+ "parameters": parameters
72
+ }.reject do |_k, v|
50
73
  v == OMIT
51
74
  end
52
75
  end
@@ -58,6 +81,7 @@ module Vapi
58
81
  def self.from_json(json_object:)
59
82
  struct = JSON.parse(json_object, object_class: OpenStruct)
60
83
  parsed_json = JSON.parse(json_object)
84
+ strict = parsed_json["strict"]
61
85
  name = parsed_json["name"]
62
86
  description = parsed_json["description"]
63
87
  if parsed_json["parameters"].nil?
@@ -67,6 +91,7 @@ module Vapi
67
91
  parameters = Vapi::OpenAiFunctionParameters.from_json(json_object: parameters)
68
92
  end
69
93
  new(
94
+ strict: strict,
70
95
  name: name,
71
96
  description: description,
72
97
  parameters: parameters,
@@ -88,6 +113,7 @@ module Vapi
88
113
  # @param obj [Object]
89
114
  # @return [Void]
90
115
  def self.validate_raw(obj:)
116
+ obj.strict&.is_a?(Boolean) != false || raise("Passed value for field obj.strict is not the expected type, validation failed.")
91
117
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
92
118
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
93
119
  obj.parameters.nil? || Vapi::OpenAiFunctionParameters.validate_raw(obj: obj.parameters)
@@ -2,9 +2,9 @@
2
2
 
3
3
  require_relative "open_ai_message"
4
4
  require_relative "open_ai_model_tools_item"
5
+ require_relative "create_custom_knowledge_base_dto"
5
6
  require_relative "open_ai_model_model"
6
7
  require_relative "open_ai_model_fallback_models_item"
7
- require_relative "knowledge_base"
8
8
  require "ostruct"
9
9
  require "json"
10
10
 
@@ -20,6 +20,10 @@ module Vapi
20
20
  # tools, use `tools`.
21
21
  # Both `tools` and `toolIds` can be used together.
22
22
  attr_reader :tool_ids
23
+ # @return [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
24
+ attr_reader :knowledge_base
25
+ # @return [String] This is the ID of the knowledge base the model will use.
26
+ attr_reader :knowledge_base_id
23
27
  # @return [Vapi::OpenAiModelModel] This is the OpenAI model that will be used.
24
28
  attr_reader :model
25
29
  # @return [Array<Vapi::OpenAiModelFallbackModelsItem>] These are the fallback models that will be used if the primary model fails. This
@@ -31,8 +35,6 @@ module Vapi
31
35
  # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
32
36
  # caching for lower latency.
33
37
  attr_reader :temperature
34
- # @return [Vapi::KnowledgeBase] These are the options for the knowledge base.
35
- attr_reader :knowledge_base
36
38
  # @return [Float] This is the max number of tokens that the assistant will be allowed to generate
37
39
  # in each turn of the conversation. Default is 250.
38
40
  attr_reader :max_tokens
@@ -63,6 +65,8 @@ module Vapi
63
65
  # @param tool_ids [Array<String>] These are the tools that the assistant can use during the call. To use transient
64
66
  # tools, use `tools`.
65
67
  # Both `tools` and `toolIds` can be used together.
68
+ # @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
69
+ # @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
66
70
  # @param model [Vapi::OpenAiModelModel] This is the OpenAI model that will be used.
67
71
  # @param fallback_models [Array<Vapi::OpenAiModelFallbackModelsItem>] These are the fallback models that will be used if the primary model fails. This
68
72
  # shouldn't be specified unless you have a specific reason to do so. Vapi will
@@ -70,7 +74,6 @@ module Vapi
70
74
  # @param semantic_caching_enabled [Boolean]
71
75
  # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
72
76
  # caching for lower latency.
73
- # @param knowledge_base [Vapi::KnowledgeBase] These are the options for the knowledge base.
74
77
  # @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
75
78
  # in each turn of the conversation. Default is 250.
76
79
  # @param emotion_recognition_enabled [Boolean] This determines whether we detect user's emotion while they speak and send it as
@@ -85,16 +88,17 @@ module Vapi
85
88
  # @default 0
86
89
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
87
90
  # @return [Vapi::OpenAiModel]
88
- def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, fallback_models: OMIT,
89
- semantic_caching_enabled: OMIT, temperature: OMIT, knowledge_base: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
91
+ def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
92
+ fallback_models: OMIT, semantic_caching_enabled: OMIT, temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
90
93
  @messages = messages if messages != OMIT
91
94
  @tools = tools if tools != OMIT
92
95
  @tool_ids = tool_ids if tool_ids != OMIT
96
+ @knowledge_base = knowledge_base if knowledge_base != OMIT
97
+ @knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
93
98
  @model = model
94
99
  @fallback_models = fallback_models if fallback_models != OMIT
95
100
  @semantic_caching_enabled = semantic_caching_enabled if semantic_caching_enabled != OMIT
96
101
  @temperature = temperature if temperature != OMIT
97
- @knowledge_base = knowledge_base if knowledge_base != OMIT
98
102
  @max_tokens = max_tokens if max_tokens != OMIT
99
103
  @emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
100
104
  @num_fast_turns = num_fast_turns if num_fast_turns != OMIT
@@ -103,11 +107,12 @@ module Vapi
103
107
  "messages": messages,
104
108
  "tools": tools,
105
109
  "toolIds": tool_ids,
110
+ "knowledgeBase": knowledge_base,
111
+ "knowledgeBaseId": knowledge_base_id,
106
112
  "model": model,
107
113
  "fallbackModels": fallback_models,
108
114
  "semanticCachingEnabled": semantic_caching_enabled,
109
115
  "temperature": temperature,
110
- "knowledgeBase": knowledge_base,
111
116
  "maxTokens": max_tokens,
112
117
  "emotionRecognitionEnabled": emotion_recognition_enabled,
113
118
  "numFastTurns": num_fast_turns
@@ -132,16 +137,17 @@ module Vapi
132
137
  Vapi::OpenAiModelToolsItem.from_json(json_object: item)
133
138
  end
134
139
  tool_ids = parsed_json["toolIds"]
135
- model = parsed_json["model"]
136
- fallback_models = parsed_json["fallbackModels"]
137
- semantic_caching_enabled = parsed_json["semanticCachingEnabled"]
138
- temperature = parsed_json["temperature"]
139
140
  if parsed_json["knowledgeBase"].nil?
140
141
  knowledge_base = nil
141
142
  else
142
143
  knowledge_base = parsed_json["knowledgeBase"].to_json
143
- knowledge_base = Vapi::KnowledgeBase.from_json(json_object: knowledge_base)
144
+ knowledge_base = Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: knowledge_base)
144
145
  end
146
+ knowledge_base_id = parsed_json["knowledgeBaseId"]
147
+ model = parsed_json["model"]
148
+ fallback_models = parsed_json["fallbackModels"]
149
+ semantic_caching_enabled = parsed_json["semanticCachingEnabled"]
150
+ temperature = parsed_json["temperature"]
145
151
  max_tokens = parsed_json["maxTokens"]
146
152
  emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
147
153
  num_fast_turns = parsed_json["numFastTurns"]
@@ -149,11 +155,12 @@ module Vapi
149
155
  messages: messages,
150
156
  tools: tools,
151
157
  tool_ids: tool_ids,
158
+ knowledge_base: knowledge_base,
159
+ knowledge_base_id: knowledge_base_id,
152
160
  model: model,
153
161
  fallback_models: fallback_models,
154
162
  semantic_caching_enabled: semantic_caching_enabled,
155
163
  temperature: temperature,
156
- knowledge_base: knowledge_base,
157
164
  max_tokens: max_tokens,
158
165
  emotion_recognition_enabled: emotion_recognition_enabled,
159
166
  num_fast_turns: num_fast_turns,
@@ -178,11 +185,12 @@ module Vapi
178
185
  obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
179
186
  obj.tools&.is_a?(Array) != false || raise("Passed value for field obj.tools is not the expected type, validation failed.")
180
187
  obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
188
+ obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
189
+ obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
181
190
  obj.model.is_a?(Vapi::OpenAiModelModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
182
191
  obj.fallback_models&.is_a?(Array) != false || raise("Passed value for field obj.fallback_models is not the expected type, validation failed.")
183
192
  obj.semantic_caching_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.semantic_caching_enabled is not the expected type, validation failed.")
184
193
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
185
- obj.knowledge_base.nil? || Vapi::KnowledgeBase.validate_raw(obj: obj.knowledge_base)
186
194
  obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
187
195
  obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
188
196
  obj.num_fast_turns&.is_a?(Float) != false || raise("Passed value for field obj.num_fast_turns is not the expected type, validation failed.")
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Vapi
4
4
  class OpenAiModelFallbackModelsItem
5
+ GPT_4_O_REALTIME_PREVIEW_20241001 = "gpt-4o-realtime-preview-2024-10-01"
5
6
  GPT_4_O_MINI = "gpt-4o-mini"
6
7
  GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18"
7
8
  GPT_4_O = "gpt-4o"
8
9
  GPT_4_O_20240513 = "gpt-4o-2024-05-13"
9
10
  GPT_4_O_20240806 = "gpt-4o-2024-08-06"
11
+ GPT_4_O_20241120 = "gpt-4o-2024-11-20"
10
12
  GPT_4_TURBO = "gpt-4-turbo"
11
13
  GPT_4_TURBO_20240409 = "gpt-4-turbo-2024-04-09"
12
14
  GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview"
@@ -3,11 +3,13 @@
3
3
  module Vapi
4
4
  # This is the OpenAI model that will be used.
5
5
  class OpenAiModelModel
6
+ GPT_4_O_REALTIME_PREVIEW_20241001 = "gpt-4o-realtime-preview-2024-10-01"
6
7
  GPT_4_O_MINI = "gpt-4o-mini"
7
8
  GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18"
8
9
  GPT_4_O = "gpt-4o"
9
10
  GPT_4_O_20240513 = "gpt-4o-2024-05-13"
10
11
  GPT_4_O_20240806 = "gpt-4o-2024-08-06"
12
+ GPT_4_O_20241120 = "gpt-4o-2024-11-20"
11
13
  GPT_4_TURBO = "gpt-4-turbo"
12
14
  GPT_4_TURBO_20240409 = "gpt-4-turbo-2024-04-09"
13
15
  GPT_4_TURBO_PREVIEW = "gpt-4-turbo-preview"
@@ -2,22 +2,24 @@
2
2
 
3
3
  require_relative "open_ai_voice_id"
4
4
  require_relative "chunk_plan"
5
+ require_relative "fallback_plan"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
8
9
  module Vapi
9
10
  class OpenAiVoice
10
- # @return [Boolean] This determines whether fillers are injected into the model output before
11
- # inputting it into the voice provider.
12
- # Default `false` because you can achieve better results with prompting the model.
13
- attr_reader :filler_injection_enabled
14
11
  # @return [Vapi::OpenAiVoiceId] This is the provider-specific ID that will be used.
12
+ # Please note that ash, ballad, coral, sage, and verse may only be used with the
13
+ # `gpt-4o-realtime-preview-2024-10-01` model.
15
14
  attr_reader :voice_id
16
15
  # @return [Float] This is the speed multiplier that will be used.
17
16
  attr_reader :speed
18
17
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
19
18
  # provider.
20
19
  attr_reader :chunk_plan
20
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
21
+ # voice provider fails.
22
+ attr_reader :fallback_plan
21
23
  # @return [OpenStruct] Additional properties unmapped to the current class definition
22
24
  attr_reader :additional_properties
23
25
  # @return [Object]
@@ -26,26 +28,27 @@ module Vapi
26
28
 
27
29
  OMIT = Object.new
28
30
 
29
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
30
- # inputting it into the voice provider.
31
- # Default `false` because you can achieve better results with prompting the model.
32
31
  # @param voice_id [Vapi::OpenAiVoiceId] This is the provider-specific ID that will be used.
32
+ # Please note that ash, ballad, coral, sage, and verse may only be used with the
33
+ # `gpt-4o-realtime-preview-2024-10-01` model.
33
34
  # @param speed [Float] This is the speed multiplier that will be used.
34
35
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
35
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.
36
39
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
40
  # @return [Vapi::OpenAiVoice]
38
- def initialize(voice_id:, filler_injection_enabled: OMIT, speed: OMIT, chunk_plan: OMIT, additional_properties: nil)
39
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
41
+ def initialize(voice_id:, speed: OMIT, chunk_plan: OMIT, fallback_plan: OMIT, additional_properties: nil)
40
42
  @voice_id = voice_id
41
43
  @speed = speed if speed != OMIT
42
44
  @chunk_plan = chunk_plan if chunk_plan != OMIT
45
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
43
46
  @additional_properties = additional_properties
44
47
  @_field_set = {
45
- "fillerInjectionEnabled": filler_injection_enabled,
46
48
  "voiceId": voice_id,
47
49
  "speed": speed,
48
- "chunkPlan": chunk_plan
50
+ "chunkPlan": chunk_plan,
51
+ "fallbackPlan": fallback_plan
49
52
  }.reject do |_k, v|
50
53
  v == OMIT
51
54
  end
@@ -58,7 +61,6 @@ module Vapi
58
61
  def self.from_json(json_object:)
59
62
  struct = JSON.parse(json_object, object_class: OpenStruct)
60
63
  parsed_json = JSON.parse(json_object)
61
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
62
64
  voice_id = parsed_json["voiceId"]
63
65
  speed = parsed_json["speed"]
64
66
  if parsed_json["chunkPlan"].nil?
@@ -67,11 +69,17 @@ module Vapi
67
69
  chunk_plan = parsed_json["chunkPlan"].to_json
68
70
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
69
71
  end
72
+ if parsed_json["fallbackPlan"].nil?
73
+ fallback_plan = nil
74
+ else
75
+ fallback_plan = parsed_json["fallbackPlan"].to_json
76
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
77
+ end
70
78
  new(
71
- filler_injection_enabled: filler_injection_enabled,
72
79
  voice_id: voice_id,
73
80
  speed: speed,
74
81
  chunk_plan: chunk_plan,
82
+ fallback_plan: fallback_plan,
75
83
  additional_properties: struct
76
84
  )
77
85
  end
@@ -90,10 +98,10 @@ module Vapi
90
98
  # @param obj [Object]
91
99
  # @return [Void]
92
100
  def self.validate_raw(obj:)
93
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
94
101
  obj.voice_id.is_a?(Vapi::OpenAiVoiceId) != false || raise("Passed value for field obj.voice_id is not the expected type, validation failed.")
95
102
  obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
96
103
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
104
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
97
105
  end
98
106
  end
99
107
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Vapi
4
4
  # This is the provider-specific ID that will be used.
5
+ # Please note that ash, ballad, coral, sage, and verse may only be used with the
6
+ # `gpt-4o-realtime-preview-2024-10-01` model.
5
7
  class OpenAiVoiceId
6
8
  ALLOY = "alloy"
7
9
  ECHO = "echo"
@@ -9,5 +11,10 @@ module Vapi
9
11
  ONYX = "onyx"
10
12
  NOVA = "nova"
11
13
  SHIMMER = "shimmer"
14
+ ASH = "ash"
15
+ BALLAD = "ballad"
16
+ CORAL = "coral"
17
+ SAGE = "sage"
18
+ VERSE = "verse"
12
19
  end
13
20
  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 [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::OpenRouterCredential]
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 OpenRouterCredential
@@ -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