vapi_server_sdk 0.0.0.pre.alpha7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -10
  3. data/lib/types_export.rb +184 -26
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +57 -60
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +39 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +27 -1
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +26 -0
  11. data/lib/vapi_server_sdk/calls/client.rb +58 -28
  12. data/lib/vapi_server_sdk/knowledge_bases/client.rb +394 -0
  13. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  14. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  19. data/lib/vapi_server_sdk/logs/client.rb +10 -6
  20. data/lib/vapi_server_sdk/squads/client.rb +56 -32
  21. data/lib/vapi_server_sdk/tools/client.rb +4 -0
  22. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  23. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  24. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  25. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  26. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  27. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  28. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  29. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  30. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  31. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  32. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  33. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  34. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  35. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  36. data/lib/vapi_server_sdk/types/assistant.rb +42 -64
  37. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  38. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  39. data/lib/vapi_server_sdk/types/assistant_model.rb +39 -0
  40. data/lib/vapi_server_sdk/types/assistant_overrides.rb +57 -65
  41. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +39 -0
  43. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +27 -1
  45. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +26 -0
  46. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  47. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +27 -1
  48. data/lib/vapi_server_sdk/types/assistant_voice.rb +26 -0
  49. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  50. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +65 -0
  51. data/lib/vapi_server_sdk/types/azure_credential.rb +129 -0
  52. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  53. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +12 -2
  54. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  55. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +1 -0
  56. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  57. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  58. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  59. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  60. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  61. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  62. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  63. data/lib/vapi_server_sdk/types/call.rb +15 -1
  64. data/lib/vapi_server_sdk/types/call_ended_reason.rb +49 -24
  65. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  66. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  67. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  68. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  69. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  70. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  71. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  72. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  73. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  74. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  75. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  76. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  77. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  78. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  79. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  80. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  81. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  82. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  83. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -2
  84. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -2
  85. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +74 -0
  86. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +43 -65
  87. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  88. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +39 -0
  89. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  90. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +27 -1
  91. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +26 -0
  92. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +95 -0
  93. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  94. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +13 -3
  95. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  96. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +1 -0
  97. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  98. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  99. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -11
  100. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -2
  101. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  102. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  103. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  104. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +31 -2
  105. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -2
  106. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -2
  107. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -2
  108. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +10 -10
  109. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -2
  110. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -2
  111. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  112. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -2
  113. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  114. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +96 -0
  115. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +17 -2
  117. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -2
  118. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -2
  119. data/lib/vapi_server_sdk/types/create_org_dto.rb +21 -2
  120. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  121. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -2
  122. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -2
  123. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -2
  124. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -2
  125. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -3
  126. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_tavus_credential_dto.rb} +21 -21
  127. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  128. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  129. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -2
  130. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  131. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +16 -2
  132. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +20 -2
  133. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +16 -2
  134. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +84 -0
  135. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +76 -0
  136. data/lib/vapi_server_sdk/types/credits_buy_dto.rb +55 -0
  137. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  138. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  139. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  140. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  141. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  142. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  143. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  144. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  145. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  146. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  147. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  148. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  149. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  150. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  151. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  152. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  153. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  154. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  155. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  156. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +10 -0
  157. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  158. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  159. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  160. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  161. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  162. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  163. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  164. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +12 -0
  165. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  166. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  167. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  168. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  169. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  170. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  171. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  172. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  173. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  174. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +211 -0
  175. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  176. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  177. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  178. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  179. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  180. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  181. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  182. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  183. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  184. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  185. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  186. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  187. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  188. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  189. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  190. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  191. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  192. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  193. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  194. data/lib/vapi_server_sdk/types/google_model.rb +178 -0
  195. data/lib/vapi_server_sdk/types/google_model_model.rb +12 -0
  196. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  197. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  198. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  199. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +65 -0
  200. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  201. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  202. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  203. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  204. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  205. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  206. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  207. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  208. data/lib/vapi_server_sdk/types/log.rb +12 -4
  209. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  210. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  211. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  212. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  213. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  214. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  215. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  216. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  217. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  218. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  219. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  220. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  221. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  222. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  223. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  224. data/lib/vapi_server_sdk/types/org.rb +35 -2
  225. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  226. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  227. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  228. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  229. data/lib/vapi_server_sdk/types/payment.rb +167 -0
  230. data/lib/vapi_server_sdk/types/payment_retry_dto.rb +55 -0
  231. data/lib/vapi_server_sdk/types/payment_status.rb +11 -0
  232. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +75 -0
  233. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  234. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  235. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  236. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  237. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  238. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  239. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  240. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  241. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  242. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  243. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  244. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  245. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  246. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  247. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  248. data/lib/vapi_server_sdk/types/server.rb +16 -2
  249. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +49 -24
  250. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  251. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  252. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  253. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  254. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  255. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  256. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  257. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  258. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +49 -24
  259. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  260. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  261. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  262. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  263. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  264. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  265. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  266. data/lib/vapi_server_sdk/types/subscription_concurrency_line_buy_dto.rb +55 -0
  267. data/lib/vapi_server_sdk/types/subscription_concurrency_line_remove_dto.rb +55 -0
  268. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +67 -0
  269. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +65 -0
  270. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  271. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  272. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  273. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  274. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  275. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  276. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  277. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  278. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  279. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  280. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  281. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  282. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  283. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  284. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  285. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  286. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  287. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  288. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  289. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  290. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  291. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  292. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  293. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  294. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  295. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  296. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  297. data/lib/vapi_server_sdk/types/transfer_plan.rb +141 -0
  298. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +58 -0
  299. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  300. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  301. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  302. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  303. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  304. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  305. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  306. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  307. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  308. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  309. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +11 -2
  310. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +11 -2
  311. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +74 -0
  312. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +95 -0
  313. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  314. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +13 -3
  315. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  316. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +1 -0
  317. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +31 -11
  318. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +11 -2
  319. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +31 -2
  320. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +11 -2
  321. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +9 -2
  322. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -2
  323. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +10 -10
  324. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +11 -2
  325. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +11 -2
  326. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +76 -0
  327. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +11 -2
  328. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +76 -0
  329. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +96 -0
  330. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +11 -2
  331. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -2
  332. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +11 -2
  333. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +11 -2
  334. data/lib/vapi_server_sdk/types/update_org_dto.rb +21 -2
  335. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  336. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +11 -2
  337. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -2
  338. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +11 -2
  339. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +11 -2
  340. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +13 -3
  341. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +74 -0
  342. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +11 -2
  343. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +16 -2
  344. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +16 -2
  345. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +76 -0
  346. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  347. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  348. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  349. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +20 -2
  350. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  351. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  352. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  353. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  354. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  355. data/lib/vapi_server_sdk.rb +7 -0
  356. metadata +167 -8
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "transfer_plan_mode"
4
+ require_relative "transfer_plan_message"
5
+ require_relative "summary_plan"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class TransferPlan
11
+ # @return [Vapi::TransferPlanMode] This configures how transfer is executed and the experience of the destination
12
+ # party receiving the call.
13
+ # Usage:
14
+ # - `blind-transfer`: The assistant forwards the call to the destination without
15
+ # any message or summary.
16
+ # - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
17
+ # the destination and adds a SIP header X-Transfer-Summary to the call to include
18
+ # the summary.
19
+ # - `warm-transfer-say-message`: The assistant dials the destination, delivers the
20
+ # `message` to the destination party, connects the customer, and leaves the call.
21
+ # - `warm-transfer-say-summary`: The assistant dials the destination, provides a
22
+ # summary of the call to the destination party, connects the customer, and leaves
23
+ # the call.
24
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
25
+ # assistant dials the destination, waits for the operator to speak, delivers the
26
+ # `message` to the destination party, and then connects the customer.
27
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
28
+ # assistant dials the destination, waits for the operator to speak, provides a
29
+ # summary of the call to the destination party, and then connects the customer.
30
+ # @default 'blind-transfer'
31
+ attr_reader :mode
32
+ # @return [Vapi::TransferPlanMessage] This is the message the assistant will deliver to the destination party before
33
+ # connecting the customer.
34
+ # Usage:
35
+ # - Used only when `mode` is `warm-transfer-say-message` or
36
+ # `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
37
+ attr_reader :message
38
+ # @return [Vapi::SummaryPlan] This is the plan for generating a summary of the call to present to the
39
+ # destination party.
40
+ # Usage:
41
+ # - Used only when `mode` is `warm-transfer-say-summary` or
42
+ # `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`.
43
+ attr_reader :summary_plan
44
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
45
+ attr_reader :additional_properties
46
+ # @return [Object]
47
+ attr_reader :_field_set
48
+ protected :_field_set
49
+
50
+ OMIT = Object.new
51
+
52
+ # @param mode [Vapi::TransferPlanMode] This configures how transfer is executed and the experience of the destination
53
+ # party receiving the call.
54
+ # Usage:
55
+ # - `blind-transfer`: The assistant forwards the call to the destination without
56
+ # any message or summary.
57
+ # - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
58
+ # the destination and adds a SIP header X-Transfer-Summary to the call to include
59
+ # the summary.
60
+ # - `warm-transfer-say-message`: The assistant dials the destination, delivers the
61
+ # `message` to the destination party, connects the customer, and leaves the call.
62
+ # - `warm-transfer-say-summary`: The assistant dials the destination, provides a
63
+ # summary of the call to the destination party, connects the customer, and leaves
64
+ # the call.
65
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
66
+ # assistant dials the destination, waits for the operator to speak, delivers the
67
+ # `message` to the destination party, and then connects the customer.
68
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
69
+ # assistant dials the destination, waits for the operator to speak, provides a
70
+ # summary of the call to the destination party, and then connects the customer.
71
+ # @default 'blind-transfer'
72
+ # @param message [Vapi::TransferPlanMessage] This is the message the assistant will deliver to the destination party before
73
+ # connecting the customer.
74
+ # Usage:
75
+ # - Used only when `mode` is `warm-transfer-say-message` or
76
+ # `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
77
+ # @param summary_plan [Vapi::SummaryPlan] This is the plan for generating a summary of the call to present to the
78
+ # destination party.
79
+ # Usage:
80
+ # - Used only when `mode` is `warm-transfer-say-summary` or
81
+ # `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`.
82
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
83
+ # @return [Vapi::TransferPlan]
84
+ def initialize(mode:, message: OMIT, summary_plan: OMIT, additional_properties: nil)
85
+ @mode = mode
86
+ @message = message if message != OMIT
87
+ @summary_plan = summary_plan if summary_plan != OMIT
88
+ @additional_properties = additional_properties
89
+ @_field_set = { "mode": mode, "message": message, "summaryPlan": summary_plan }.reject do |_k, v|
90
+ v == OMIT
91
+ end
92
+ end
93
+
94
+ # Deserialize a JSON object to an instance of TransferPlan
95
+ #
96
+ # @param json_object [String]
97
+ # @return [Vapi::TransferPlan]
98
+ def self.from_json(json_object:)
99
+ struct = JSON.parse(json_object, object_class: OpenStruct)
100
+ parsed_json = JSON.parse(json_object)
101
+ mode = parsed_json["mode"]
102
+ if parsed_json["message"].nil?
103
+ message = nil
104
+ else
105
+ message = parsed_json["message"].to_json
106
+ message = Vapi::TransferPlanMessage.from_json(json_object: message)
107
+ end
108
+ if parsed_json["summaryPlan"].nil?
109
+ summary_plan = nil
110
+ else
111
+ summary_plan = parsed_json["summaryPlan"].to_json
112
+ summary_plan = Vapi::SummaryPlan.from_json(json_object: summary_plan)
113
+ end
114
+ new(
115
+ mode: mode,
116
+ message: message,
117
+ summary_plan: summary_plan,
118
+ additional_properties: struct
119
+ )
120
+ end
121
+
122
+ # Serialize an instance of TransferPlan to a JSON object
123
+ #
124
+ # @return [String]
125
+ def to_json(*_args)
126
+ @_field_set&.to_json
127
+ end
128
+
129
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
130
+ # hash and check each fields type against the current object's property
131
+ # definitions.
132
+ #
133
+ # @param obj [Object]
134
+ # @return [Void]
135
+ def self.validate_raw(obj:)
136
+ obj.mode.is_a?(Vapi::TransferPlanMode) != false || raise("Passed value for field obj.mode is not the expected type, validation failed.")
137
+ obj.message.nil? || Vapi::TransferPlanMessage.validate_raw(obj: obj.message)
138
+ obj.summary_plan.nil? || Vapi::SummaryPlan.validate_raw(obj: obj.summary_plan)
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "custom_message"
5
+
6
+ module Vapi
7
+ # This is the message the assistant will deliver to the destination party before
8
+ # connecting the customer.
9
+ # Usage:
10
+ # - Used only when `mode` is `warm-transfer-say-message` or
11
+ # `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`.
12
+ class TransferPlanMessage
13
+ # Deserialize a JSON object to an instance of TransferPlanMessage
14
+ #
15
+ # @param json_object [String]
16
+ # @return [Vapi::TransferPlanMessage]
17
+ def self.from_json(json_object:)
18
+ struct = JSON.parse(json_object, object_class: OpenStruct)
19
+ begin
20
+ struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
21
+ return struct unless struct.nil?
22
+
23
+ return nil
24
+ rescue StandardError
25
+ # noop
26
+ end
27
+ begin
28
+ Vapi::CustomMessage.validate_raw(obj: struct)
29
+ return Vapi::CustomMessage.from_json(json_object: struct) unless struct.nil?
30
+
31
+ return nil
32
+ rescue StandardError
33
+ # noop
34
+ end
35
+ struct
36
+ end
37
+
38
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
39
+ # hash and check each fields type against the current object's property
40
+ # definitions.
41
+ #
42
+ # @param obj [Object]
43
+ # @return [Void]
44
+ def self.validate_raw(obj:)
45
+ begin
46
+ return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
47
+ rescue StandardError
48
+ # noop
49
+ end
50
+ begin
51
+ return Vapi::CustomMessage.validate_raw(obj: obj)
52
+ rescue StandardError
53
+ # noop
54
+ end
55
+ raise("Passed value matched no type within the union, validation failed.")
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This configures how transfer is executed and the experience of the destination
5
+ # party receiving the call.
6
+ # Usage:
7
+ # - `blind-transfer`: The assistant forwards the call to the destination without
8
+ # any message or summary.
9
+ # - `blind-transfer-add-summary-to-sip-header`: The assistant forwards the call to
10
+ # the destination and adds a SIP header X-Transfer-Summary to the call to include
11
+ # the summary.
12
+ # - `warm-transfer-say-message`: The assistant dials the destination, delivers the
13
+ # `message` to the destination party, connects the customer, and leaves the call.
14
+ # - `warm-transfer-say-summary`: The assistant dials the destination, provides a
15
+ # summary of the call to the destination party, connects the customer, and leaves
16
+ # the call.
17
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-message`: The
18
+ # assistant dials the destination, waits for the operator to speak, delivers the
19
+ # `message` to the destination party, and then connects the customer.
20
+ # - `warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary`: The
21
+ # assistant dials the destination, waits for the operator to speak, provides a
22
+ # summary of the call to the destination party, and then connects the customer.
23
+ # @default 'blind-transfer'
24
+ class TransferPlanMode
25
+ BLIND_TRANSFER = "blind-transfer"
26
+ BLIND_TRANSFER_ADD_SUMMARY_TO_SIP_HEADER = "blind-transfer-add-summary-to-sip-header"
27
+ WARM_TRANSFER_SAY_MESSAGE = "warm-transfer-say-message"
28
+ WARM_TRANSFER_SAY_SUMMARY = "warm-transfer-say-summary"
29
+ WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_MESSAGE = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-message"
30
+ WARM_TRANSFER_WAIT_FOR_OPERATOR_TO_SPEAK_FIRST_AND_THEN_SAY_SUMMARY = "warm-transfer-wait-for-operator-to-speak-first-and-then-say-summary"
31
+ end
32
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "transport_provider"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class Transport
9
+ # @return [Vapi::TransportProvider] This is the provider used for the call.
10
+ attr_reader :provider
11
+ # @return [Boolean] This is determines whether the assistant will have video enabled.
12
+ # Only relevant for `webCall` type.
13
+ attr_reader :assistant_video_enabled
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param provider [Vapi::TransportProvider] This is the provider used for the call.
23
+ # @param assistant_video_enabled [Boolean] This is determines whether the assistant will have video enabled.
24
+ # Only relevant for `webCall` type.
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Vapi::Transport]
27
+ def initialize(provider: OMIT, assistant_video_enabled: OMIT, additional_properties: nil)
28
+ @provider = provider if provider != OMIT
29
+ @assistant_video_enabled = assistant_video_enabled if assistant_video_enabled != OMIT
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "provider": provider, "assistantVideoEnabled": assistant_video_enabled }.reject do |_k, v|
32
+ v == OMIT
33
+ end
34
+ end
35
+
36
+ # Deserialize a JSON object to an instance of Transport
37
+ #
38
+ # @param json_object [String]
39
+ # @return [Vapi::Transport]
40
+ def self.from_json(json_object:)
41
+ struct = JSON.parse(json_object, object_class: OpenStruct)
42
+ parsed_json = JSON.parse(json_object)
43
+ provider = parsed_json["provider"]
44
+ assistant_video_enabled = parsed_json["assistantVideoEnabled"]
45
+ new(
46
+ provider: provider,
47
+ assistant_video_enabled: assistant_video_enabled,
48
+ additional_properties: struct
49
+ )
50
+ end
51
+
52
+ # Serialize an instance of Transport to a JSON object
53
+ #
54
+ # @return [String]
55
+ def to_json(*_args)
56
+ @_field_set&.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
+ obj.provider&.is_a?(Vapi::TransportProvider) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
67
+ obj.assistant_video_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.assistant_video_enabled is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
@@ -1,10 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "transport_cost_provider"
3
4
  require "ostruct"
4
5
  require "json"
5
6
 
6
7
  module Vapi
7
8
  class TransportCost
9
+ # @return [Vapi::TransportCostProvider]
10
+ attr_reader :provider
8
11
  # @return [Float] This is the minutes of `transport` usage. This should match `call.endedAt` -
9
12
  # `call.startedAt`.
10
13
  attr_reader :minutes
@@ -18,16 +21,20 @@ module Vapi
18
21
 
19
22
  OMIT = Object.new
20
23
 
24
+ # @param provider [Vapi::TransportCostProvider]
21
25
  # @param minutes [Float] This is the minutes of `transport` usage. This should match `call.endedAt` -
22
26
  # `call.startedAt`.
23
27
  # @param cost [Float] This is the cost of the component in USD.
24
28
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
29
  # @return [Vapi::TransportCost]
26
- def initialize(minutes:, cost:, additional_properties: nil)
30
+ def initialize(minutes:, cost:, provider: OMIT, additional_properties: nil)
31
+ @provider = provider if provider != OMIT
27
32
  @minutes = minutes
28
33
  @cost = cost
29
34
  @additional_properties = additional_properties
30
- @_field_set = { "minutes": minutes, "cost": cost }
35
+ @_field_set = { "provider": provider, "minutes": minutes, "cost": cost }.reject do |_k, v|
36
+ v == OMIT
37
+ end
31
38
  end
32
39
 
33
40
  # Deserialize a JSON object to an instance of TransportCost
@@ -37,9 +44,11 @@ module Vapi
37
44
  def self.from_json(json_object:)
38
45
  struct = JSON.parse(json_object, object_class: OpenStruct)
39
46
  parsed_json = JSON.parse(json_object)
47
+ provider = parsed_json["provider"]
40
48
  minutes = parsed_json["minutes"]
41
49
  cost = parsed_json["cost"]
42
50
  new(
51
+ provider: provider,
43
52
  minutes: minutes,
44
53
  cost: cost,
45
54
  additional_properties: struct
@@ -60,6 +69,7 @@ module Vapi
60
69
  # @param obj [Object]
61
70
  # @return [Void]
62
71
  def self.validate_raw(obj:)
72
+ obj.provider&.is_a?(Vapi::TransportCostProvider) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
63
73
  obj.minutes.is_a?(Float) != false || raise("Passed value for field obj.minutes is not the expected type, validation failed.")
64
74
  obj.cost.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
65
75
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ class TransportCostProvider
5
+ TWILIO = "twilio"
6
+ VONAGE = "vonage"
7
+ VAPI = "vapi"
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the provider used for the call.
5
+ class TransportProvider
6
+ TWILIO = "twilio"
7
+ VONAGE = "vonage"
8
+ VAPI = "vapi"
9
+ DAILY = "daily"
10
+ end
11
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "trieve_knowledge_base_vector_store_search_plan"
4
+ require_relative "trieve_knowledge_base_vector_store_create_plan"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class TrieveKnowledgeBase
10
+ # @return [String] This is the name of the knowledge base.
11
+ attr_reader :name
12
+ # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
13
+ attr_reader :vector_store_search_plan
14
+ # @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
15
+ # use an existing vector store from your account, use `vectoreStoreProviderId`
16
+ attr_reader :vector_store_create_plan
17
+ # @return [String] This is an vector store that you already have on your account with the provider.
18
+ # To create a new vector store, use vectorStoreCreatePlan.
19
+ # Usage:
20
+ # - To bring your own vector store from Trieve, go to https://trieve.ai
21
+ # - Create a dataset, and use the datasetId here.
22
+ attr_reader :vector_store_provider_id
23
+ # @return [String] This is the id of the knowledge base.
24
+ attr_reader :id
25
+ # @return [String] This is the org id of the knowledge base.
26
+ attr_reader :org_id
27
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
28
+ attr_reader :additional_properties
29
+ # @return [Object]
30
+ attr_reader :_field_set
31
+ protected :_field_set
32
+
33
+ OMIT = Object.new
34
+
35
+ # @param name [String] This is the name of the knowledge base.
36
+ # @param vector_store_search_plan [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
37
+ # @param vector_store_create_plan [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
38
+ # use an existing vector store from your account, use `vectoreStoreProviderId`
39
+ # @param vector_store_provider_id [String] This is an vector store that you already have on your account with the provider.
40
+ # To create a new vector store, use vectorStoreCreatePlan.
41
+ # Usage:
42
+ # - To bring your own vector store from Trieve, go to https://trieve.ai
43
+ # - Create a dataset, and use the datasetId here.
44
+ # @param id [String] This is the id of the knowledge base.
45
+ # @param org_id [String] This is the org id of the knowledge base.
46
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
47
+ # @return [Vapi::TrieveKnowledgeBase]
48
+ def initialize(vector_store_search_plan:, id:, org_id:, name: OMIT, vector_store_create_plan: OMIT,
49
+ vector_store_provider_id: OMIT, additional_properties: nil)
50
+ @name = name if name != OMIT
51
+ @vector_store_search_plan = vector_store_search_plan
52
+ @vector_store_create_plan = vector_store_create_plan if vector_store_create_plan != OMIT
53
+ @vector_store_provider_id = vector_store_provider_id if vector_store_provider_id != OMIT
54
+ @id = id
55
+ @org_id = org_id
56
+ @additional_properties = additional_properties
57
+ @_field_set = {
58
+ "name": name,
59
+ "vectorStoreSearchPlan": vector_store_search_plan,
60
+ "vectorStoreCreatePlan": vector_store_create_plan,
61
+ "vectorStoreProviderId": vector_store_provider_id,
62
+ "id": id,
63
+ "orgId": org_id
64
+ }.reject do |_k, v|
65
+ v == OMIT
66
+ end
67
+ end
68
+
69
+ # Deserialize a JSON object to an instance of TrieveKnowledgeBase
70
+ #
71
+ # @param json_object [String]
72
+ # @return [Vapi::TrieveKnowledgeBase]
73
+ def self.from_json(json_object:)
74
+ struct = JSON.parse(json_object, object_class: OpenStruct)
75
+ parsed_json = JSON.parse(json_object)
76
+ name = parsed_json["name"]
77
+ if parsed_json["vectorStoreSearchPlan"].nil?
78
+ vector_store_search_plan = nil
79
+ else
80
+ vector_store_search_plan = parsed_json["vectorStoreSearchPlan"].to_json
81
+ vector_store_search_plan = Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.from_json(json_object: vector_store_search_plan)
82
+ end
83
+ if parsed_json["vectorStoreCreatePlan"].nil?
84
+ vector_store_create_plan = nil
85
+ else
86
+ vector_store_create_plan = parsed_json["vectorStoreCreatePlan"].to_json
87
+ vector_store_create_plan = Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.from_json(json_object: vector_store_create_plan)
88
+ end
89
+ vector_store_provider_id = parsed_json["vectorStoreProviderId"]
90
+ id = parsed_json["id"]
91
+ org_id = parsed_json["orgId"]
92
+ new(
93
+ name: name,
94
+ vector_store_search_plan: vector_store_search_plan,
95
+ vector_store_create_plan: vector_store_create_plan,
96
+ vector_store_provider_id: vector_store_provider_id,
97
+ id: id,
98
+ org_id: org_id,
99
+ additional_properties: struct
100
+ )
101
+ end
102
+
103
+ # Serialize an instance of TrieveKnowledgeBase to a JSON object
104
+ #
105
+ # @return [String]
106
+ def to_json(*_args)
107
+ @_field_set&.to_json
108
+ end
109
+
110
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
111
+ # hash and check each fields type against the current object's property
112
+ # definitions.
113
+ #
114
+ # @param obj [Object]
115
+ # @return [Void]
116
+ def self.validate_raw(obj:)
117
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
118
+ Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.validate_raw(obj: obj.vector_store_search_plan)
119
+ obj.vector_store_create_plan.nil? || Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.validate_raw(obj: obj.vector_store_create_plan)
120
+ obj.vector_store_provider_id&.is_a?(String) != false || raise("Passed value for field obj.vector_store_provider_id is not the expected type, validation failed.")
121
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
122
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vapi
7
+ class TrieveKnowledgeBaseVectorStoreCreatePlan
8
+ # @return [Array<String>] These are the file ids that will be used to create the vector store. To upload
9
+ # files, use the `POST /files` endpoint.
10
+ attr_reader :file_ids
11
+ # @return [Float] This is an optional field which allows you to specify the number of splits you
12
+ # want per chunk. If not specified, the default 20 is used. However, you may want
13
+ # to use a different number.
14
+ attr_reader :target_splits_per_chunk
15
+ # @return [Array<String>] This is an optional field which allows you to specify the delimiters to use when
16
+ # splitting the file before chunking the text. If not specified, the default
17
+ # [.!?\n] are used to split into sentences. However, you may want to use spaces or
18
+ # other delimiters.
19
+ attr_reader :split_delimiters
20
+ # @return [Boolean] This is an optional field which allows you to specify whether or not to
21
+ # rebalance the chunks created from the file. If not specified, the default true
22
+ # is used. If true, Trieve will evenly distribute remainder splits across chunks
23
+ # such that 66 splits with a target_splits_per_chunk of 20 will result in 3 chunks
24
+ # with 22 splits each.
25
+ attr_reader :rebalance_chunks
26
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
27
+ attr_reader :additional_properties
28
+ # @return [Object]
29
+ attr_reader :_field_set
30
+ protected :_field_set
31
+
32
+ OMIT = Object.new
33
+
34
+ # @param file_ids [Array<String>] These are the file ids that will be used to create the vector store. To upload
35
+ # files, use the `POST /files` endpoint.
36
+ # @param target_splits_per_chunk [Float] This is an optional field which allows you to specify the number of splits you
37
+ # want per chunk. If not specified, the default 20 is used. However, you may want
38
+ # to use a different number.
39
+ # @param split_delimiters [Array<String>] This is an optional field which allows you to specify the delimiters to use when
40
+ # splitting the file before chunking the text. If not specified, the default
41
+ # [.!?\n] are used to split into sentences. However, you may want to use spaces or
42
+ # other delimiters.
43
+ # @param rebalance_chunks [Boolean] This is an optional field which allows you to specify whether or not to
44
+ # rebalance the chunks created from the file. If not specified, the default true
45
+ # is used. If true, Trieve will evenly distribute remainder splits across chunks
46
+ # such that 66 splits with a target_splits_per_chunk of 20 will result in 3 chunks
47
+ # with 22 splits each.
48
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
49
+ # @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan]
50
+ def initialize(file_ids:, target_splits_per_chunk: OMIT, split_delimiters: OMIT, rebalance_chunks: OMIT,
51
+ additional_properties: nil)
52
+ @file_ids = file_ids
53
+ @target_splits_per_chunk = target_splits_per_chunk if target_splits_per_chunk != OMIT
54
+ @split_delimiters = split_delimiters if split_delimiters != OMIT
55
+ @rebalance_chunks = rebalance_chunks if rebalance_chunks != OMIT
56
+ @additional_properties = additional_properties
57
+ @_field_set = {
58
+ "fileIds": file_ids,
59
+ "targetSplitsPerChunk": target_splits_per_chunk,
60
+ "splitDelimiters": split_delimiters,
61
+ "rebalanceChunks": rebalance_chunks
62
+ }.reject do |_k, v|
63
+ v == OMIT
64
+ end
65
+ end
66
+
67
+ # Deserialize a JSON object to an instance of
68
+ # TrieveKnowledgeBaseVectorStoreCreatePlan
69
+ #
70
+ # @param json_object [String]
71
+ # @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan]
72
+ def self.from_json(json_object:)
73
+ struct = JSON.parse(json_object, object_class: OpenStruct)
74
+ parsed_json = JSON.parse(json_object)
75
+ file_ids = parsed_json["fileIds"]
76
+ target_splits_per_chunk = parsed_json["targetSplitsPerChunk"]
77
+ split_delimiters = parsed_json["splitDelimiters"]
78
+ rebalance_chunks = parsed_json["rebalanceChunks"]
79
+ new(
80
+ file_ids: file_ids,
81
+ target_splits_per_chunk: target_splits_per_chunk,
82
+ split_delimiters: split_delimiters,
83
+ rebalance_chunks: rebalance_chunks,
84
+ additional_properties: struct
85
+ )
86
+ end
87
+
88
+ # Serialize an instance of TrieveKnowledgeBaseVectorStoreCreatePlan to a JSON
89
+ # object
90
+ #
91
+ # @return [String]
92
+ def to_json(*_args)
93
+ @_field_set&.to_json
94
+ end
95
+
96
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
97
+ # hash and check each fields type against the current object's property
98
+ # definitions.
99
+ #
100
+ # @param obj [Object]
101
+ # @return [Void]
102
+ def self.validate_raw(obj:)
103
+ obj.file_ids.is_a?(Array) != false || raise("Passed value for field obj.file_ids is not the expected type, validation failed.")
104
+ obj.target_splits_per_chunk&.is_a?(Float) != false || raise("Passed value for field obj.target_splits_per_chunk is not the expected type, validation failed.")
105
+ obj.split_delimiters&.is_a?(Array) != false || raise("Passed value for field obj.split_delimiters is not the expected type, validation failed.")
106
+ obj.rebalance_chunks&.is_a?(Boolean) != false || raise("Passed value for field obj.rebalance_chunks is not the expected type, validation failed.")
107
+ end
108
+ end
109
+ end