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,394 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require "date"
5
+ require_relative "types/knowledge_bases_list_response_item"
6
+ require "json"
7
+ require_relative "types/knowledge_bases_create_request"
8
+ require_relative "types/knowledge_bases_create_response"
9
+ require_relative "types/knowledge_bases_get_response"
10
+ require_relative "types/knowledge_bases_delete_response"
11
+ require_relative "types/knowledge_bases_update_response"
12
+ require "async"
13
+
14
+ module Vapi
15
+ class KnowledgeBasesClient
16
+ # @return [Vapi::RequestClient]
17
+ attr_reader :request_client
18
+
19
+ # @param request_client [Vapi::RequestClient]
20
+ # @return [Vapi::KnowledgeBasesClient]
21
+ def initialize(request_client:)
22
+ @request_client = request_client
23
+ end
24
+
25
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
26
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
27
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
28
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
29
+ # specified value.
30
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
31
+ # specified value.
32
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
33
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
34
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
35
+ # specified value.
36
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
37
+ # specified value.
38
+ # @param request_options [Vapi::RequestOptions]
39
+ # @return [Array<Vapi::KnowledgeBases::KnowledgeBasesListResponseItem>]
40
+ # @example
41
+ # api = Vapi::Client.new(
42
+ # base_url: "https://api.example.com",
43
+ # environment: Vapi::Environment::DEFAULT,
44
+ # token: "YOUR_AUTH_TOKEN"
45
+ # )
46
+ # api.knowledge_bases.list
47
+ def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
48
+ updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
49
+ response = @request_client.conn.get do |req|
50
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
51
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
52
+ req.headers = {
53
+ **(req.headers || {}),
54
+ **@request_client.get_headers,
55
+ **(request_options&.additional_headers || {})
56
+ }.compact
57
+ req.params = {
58
+ **(request_options&.additional_query_parameters || {}),
59
+ "limit": limit,
60
+ "createdAtGt": created_at_gt,
61
+ "createdAtLt": created_at_lt,
62
+ "createdAtGe": created_at_ge,
63
+ "createdAtLe": created_at_le,
64
+ "updatedAtGt": updated_at_gt,
65
+ "updatedAtLt": updated_at_lt,
66
+ "updatedAtGe": updated_at_ge,
67
+ "updatedAtLe": updated_at_le
68
+ }.compact
69
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
70
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
71
+ end
72
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
73
+ end
74
+ parsed_json = JSON.parse(response.body)
75
+ parsed_json&.map do |item|
76
+ item = item.to_json
77
+ Vapi::KnowledgeBases::KnowledgeBasesListResponseItem.from_json(json_object: item)
78
+ end
79
+ end
80
+
81
+ # @param request [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
82
+ # @param request_options [Vapi::RequestOptions]
83
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
84
+ # @example
85
+ # api = Vapi::Client.new(
86
+ # base_url: "https://api.example.com",
87
+ # environment: Vapi::Environment::DEFAULT,
88
+ # token: "YOUR_AUTH_TOKEN"
89
+ # )
90
+ # api.knowledge_bases.create
91
+ def create(request:, request_options: nil)
92
+ response = @request_client.conn.post do |req|
93
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
94
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
95
+ req.headers = {
96
+ **(req.headers || {}),
97
+ **@request_client.get_headers,
98
+ **(request_options&.additional_headers || {})
99
+ }.compact
100
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
101
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
102
+ end
103
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
104
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
105
+ end
106
+ Vapi::KnowledgeBases::KnowledgeBasesCreateResponse.from_json(json_object: response.body)
107
+ end
108
+
109
+ # @param id [String]
110
+ # @param request_options [Vapi::RequestOptions]
111
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesGetResponse]
112
+ # @example
113
+ # api = Vapi::Client.new(
114
+ # base_url: "https://api.example.com",
115
+ # environment: Vapi::Environment::DEFAULT,
116
+ # token: "YOUR_AUTH_TOKEN"
117
+ # )
118
+ # api.knowledge_bases.get(id: "id")
119
+ def get(id:, request_options: nil)
120
+ response = @request_client.conn.get do |req|
121
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
122
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
123
+ req.headers = {
124
+ **(req.headers || {}),
125
+ **@request_client.get_headers,
126
+ **(request_options&.additional_headers || {})
127
+ }.compact
128
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
129
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
130
+ end
131
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
132
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
133
+ end
134
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
135
+ end
136
+ Vapi::KnowledgeBases::KnowledgeBasesGetResponse.from_json(json_object: response.body)
137
+ end
138
+
139
+ # @param id [String]
140
+ # @param request_options [Vapi::RequestOptions]
141
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
142
+ # @example
143
+ # api = Vapi::Client.new(
144
+ # base_url: "https://api.example.com",
145
+ # environment: Vapi::Environment::DEFAULT,
146
+ # token: "YOUR_AUTH_TOKEN"
147
+ # )
148
+ # api.knowledge_bases.delete(id: "id")
149
+ def delete(id:, request_options: nil)
150
+ response = @request_client.conn.delete do |req|
151
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
152
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
153
+ req.headers = {
154
+ **(req.headers || {}),
155
+ **@request_client.get_headers,
156
+ **(request_options&.additional_headers || {})
157
+ }.compact
158
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
159
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
160
+ end
161
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
162
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
163
+ end
164
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
165
+ end
166
+ Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse.from_json(json_object: response.body)
167
+ end
168
+
169
+ # @param id [String]
170
+ # @param request_options [Vapi::RequestOptions]
171
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse]
172
+ # @example
173
+ # api = Vapi::Client.new(
174
+ # base_url: "https://api.example.com",
175
+ # environment: Vapi::Environment::DEFAULT,
176
+ # token: "YOUR_AUTH_TOKEN"
177
+ # )
178
+ # api.knowledge_bases.update(id: "id")
179
+ def update(id:, request_options: nil)
180
+ response = @request_client.conn.patch do |req|
181
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
182
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
183
+ req.headers = {
184
+ **(req.headers || {}),
185
+ **@request_client.get_headers,
186
+ **(request_options&.additional_headers || {})
187
+ }.compact
188
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
189
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
190
+ end
191
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
192
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
193
+ end
194
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
195
+ end
196
+ Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse.from_json(json_object: response.body)
197
+ end
198
+ end
199
+
200
+ class AsyncKnowledgeBasesClient
201
+ # @return [Vapi::AsyncRequestClient]
202
+ attr_reader :request_client
203
+
204
+ # @param request_client [Vapi::AsyncRequestClient]
205
+ # @return [Vapi::AsyncKnowledgeBasesClient]
206
+ def initialize(request_client:)
207
+ @request_client = request_client
208
+ end
209
+
210
+ # @param limit [Float] This is the maximum number of items to return. Defaults to 100.
211
+ # @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
212
+ # @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
213
+ # @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
214
+ # specified value.
215
+ # @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
216
+ # specified value.
217
+ # @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
218
+ # @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
219
+ # @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
220
+ # specified value.
221
+ # @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
222
+ # specified value.
223
+ # @param request_options [Vapi::RequestOptions]
224
+ # @return [Array<Vapi::KnowledgeBases::KnowledgeBasesListResponseItem>]
225
+ # @example
226
+ # api = Vapi::Client.new(
227
+ # base_url: "https://api.example.com",
228
+ # environment: Vapi::Environment::DEFAULT,
229
+ # token: "YOUR_AUTH_TOKEN"
230
+ # )
231
+ # api.knowledge_bases.list
232
+ def list(limit: nil, created_at_gt: nil, created_at_lt: nil, created_at_ge: nil, created_at_le: nil,
233
+ updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
234
+ Async do
235
+ response = @request_client.conn.get do |req|
236
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
237
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
238
+ req.headers = {
239
+ **(req.headers || {}),
240
+ **@request_client.get_headers,
241
+ **(request_options&.additional_headers || {})
242
+ }.compact
243
+ req.params = {
244
+ **(request_options&.additional_query_parameters || {}),
245
+ "limit": limit,
246
+ "createdAtGt": created_at_gt,
247
+ "createdAtLt": created_at_lt,
248
+ "createdAtGe": created_at_ge,
249
+ "createdAtLe": created_at_le,
250
+ "updatedAtGt": updated_at_gt,
251
+ "updatedAtLt": updated_at_lt,
252
+ "updatedAtGe": updated_at_ge,
253
+ "updatedAtLe": updated_at_le
254
+ }.compact
255
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
256
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
257
+ end
258
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
259
+ end
260
+ parsed_json = JSON.parse(response.body)
261
+ parsed_json&.map do |item|
262
+ item = item.to_json
263
+ Vapi::KnowledgeBases::KnowledgeBasesListResponseItem.from_json(json_object: item)
264
+ end
265
+ end
266
+ end
267
+
268
+ # @param request [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
269
+ # @param request_options [Vapi::RequestOptions]
270
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
271
+ # @example
272
+ # api = Vapi::Client.new(
273
+ # base_url: "https://api.example.com",
274
+ # environment: Vapi::Environment::DEFAULT,
275
+ # token: "YOUR_AUTH_TOKEN"
276
+ # )
277
+ # api.knowledge_bases.create
278
+ def create(request:, request_options: nil)
279
+ Async do
280
+ response = @request_client.conn.post do |req|
281
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
282
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
283
+ req.headers = {
284
+ **(req.headers || {}),
285
+ **@request_client.get_headers,
286
+ **(request_options&.additional_headers || {})
287
+ }.compact
288
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
289
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
290
+ end
291
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
292
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base"
293
+ end
294
+ Vapi::KnowledgeBases::KnowledgeBasesCreateResponse.from_json(json_object: response.body)
295
+ end
296
+ end
297
+
298
+ # @param id [String]
299
+ # @param request_options [Vapi::RequestOptions]
300
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesGetResponse]
301
+ # @example
302
+ # api = Vapi::Client.new(
303
+ # base_url: "https://api.example.com",
304
+ # environment: Vapi::Environment::DEFAULT,
305
+ # token: "YOUR_AUTH_TOKEN"
306
+ # )
307
+ # api.knowledge_bases.get(id: "id")
308
+ def get(id:, request_options: nil)
309
+ Async do
310
+ response = @request_client.conn.get do |req|
311
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
312
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
313
+ req.headers = {
314
+ **(req.headers || {}),
315
+ **@request_client.get_headers,
316
+ **(request_options&.additional_headers || {})
317
+ }.compact
318
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
319
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
320
+ end
321
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
322
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
323
+ end
324
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
325
+ end
326
+ Vapi::KnowledgeBases::KnowledgeBasesGetResponse.from_json(json_object: response.body)
327
+ end
328
+ end
329
+
330
+ # @param id [String]
331
+ # @param request_options [Vapi::RequestOptions]
332
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
333
+ # @example
334
+ # api = Vapi::Client.new(
335
+ # base_url: "https://api.example.com",
336
+ # environment: Vapi::Environment::DEFAULT,
337
+ # token: "YOUR_AUTH_TOKEN"
338
+ # )
339
+ # api.knowledge_bases.delete(id: "id")
340
+ def delete(id:, request_options: nil)
341
+ Async do
342
+ response = @request_client.conn.delete do |req|
343
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
344
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
345
+ req.headers = {
346
+ **(req.headers || {}),
347
+ **@request_client.get_headers,
348
+ **(request_options&.additional_headers || {})
349
+ }.compact
350
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
351
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
352
+ end
353
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
354
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
355
+ end
356
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
357
+ end
358
+ Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse.from_json(json_object: response.body)
359
+ end
360
+ end
361
+
362
+ # @param id [String]
363
+ # @param request_options [Vapi::RequestOptions]
364
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse]
365
+ # @example
366
+ # api = Vapi::Client.new(
367
+ # base_url: "https://api.example.com",
368
+ # environment: Vapi::Environment::DEFAULT,
369
+ # token: "YOUR_AUTH_TOKEN"
370
+ # )
371
+ # api.knowledge_bases.update(id: "id")
372
+ def update(id:, request_options: nil)
373
+ Async do
374
+ response = @request_client.conn.patch do |req|
375
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
376
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
377
+ req.headers = {
378
+ **(req.headers || {}),
379
+ **@request_client.get_headers,
380
+ **(request_options&.additional_headers || {})
381
+ }.compact
382
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
383
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
384
+ end
385
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
386
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
387
+ end
388
+ req.url "#{@request_client.get_url(request_options: request_options)}/knowledge-base/#{id}"
389
+ end
390
+ Vapi::KnowledgeBases::KnowledgeBasesUpdateResponse.from_json(json_object: response.body)
391
+ end
392
+ end
393
+ end
394
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/create_trieve_knowledge_base_dto"
5
+ require_relative "../../types/create_custom_knowledge_base_dto"
6
+
7
+ module Vapi
8
+ class KnowledgeBases
9
+ class KnowledgeBasesCreateRequest
10
+ # @return [Object]
11
+ attr_reader :member
12
+ # @return [String]
13
+ attr_reader :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+
18
+ # @param member [Object]
19
+ # @param discriminant [String]
20
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
21
+ def initialize(member:, discriminant:)
22
+ @member = member
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of KnowledgeBasesCreateRequest
27
+ #
28
+ # @param json_object [String]
29
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.provider
33
+ when "trieve"
34
+ Vapi::CreateTrieveKnowledgeBaseDto.from_json(json_object: json_object)
35
+ when "custom-knowledge-base"
36
+ Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: json_object)
37
+ else
38
+ Vapi::CreateTrieveKnowledgeBaseDto.from_json(json_object: json_object)
39
+ end
40
+ new(member: member, discriminant: struct.provider)
41
+ end
42
+
43
+ # For Union Types, to_json functionality is delegated to the wrapped member.
44
+ #
45
+ # @return [String]
46
+ def to_json(*_args)
47
+ case @discriminant
48
+ when "trieve"
49
+ { **@member.to_json, provider: @discriminant }.to_json
50
+ when "custom-knowledge-base"
51
+ { **@member.to_json, provider: @discriminant }.to_json
52
+ else
53
+ { "provider": @discriminant, value: @member }.to_json
54
+ end
55
+ @member.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ case obj.provider
66
+ when "trieve"
67
+ Vapi::CreateTrieveKnowledgeBaseDto.validate_raw(obj: obj)
68
+ when "custom-knowledge-base"
69
+ Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj)
70
+ else
71
+ raise("Passed value matched no type within the union, validation failed.")
72
+ end
73
+ end
74
+
75
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Boolean]
79
+ def is_a?(obj)
80
+ @member.is_a?(obj)
81
+ end
82
+
83
+ # @param member [Vapi::CreateTrieveKnowledgeBaseDto]
84
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
85
+ def self.trieve(member:)
86
+ new(member: member, discriminant: "trieve")
87
+ end
88
+
89
+ # @param member [Vapi::CreateCustomKnowledgeBaseDto]
90
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateRequest]
91
+ def self.custom_knowledge_base(member:)
92
+ new(member: member, discriminant: "custom-knowledge-base")
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/trieve_knowledge_base"
5
+ require_relative "../../types/custom_knowledge_base"
6
+
7
+ module Vapi
8
+ class KnowledgeBases
9
+ class KnowledgeBasesCreateResponse
10
+ # @return [Object]
11
+ attr_reader :member
12
+ # @return [String]
13
+ attr_reader :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+
18
+ # @param member [Object]
19
+ # @param discriminant [String]
20
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
21
+ def initialize(member:, discriminant:)
22
+ @member = member
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of KnowledgeBasesCreateResponse
27
+ #
28
+ # @param json_object [String]
29
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.provider
33
+ when "trieve"
34
+ Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
35
+ when "custom-knowledge-base"
36
+ Vapi::CustomKnowledgeBase.from_json(json_object: json_object)
37
+ else
38
+ Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
39
+ end
40
+ new(member: member, discriminant: struct.provider)
41
+ end
42
+
43
+ # For Union Types, to_json functionality is delegated to the wrapped member.
44
+ #
45
+ # @return [String]
46
+ def to_json(*_args)
47
+ case @discriminant
48
+ when "trieve"
49
+ { **@member.to_json, provider: @discriminant }.to_json
50
+ when "custom-knowledge-base"
51
+ { **@member.to_json, provider: @discriminant }.to_json
52
+ else
53
+ { "provider": @discriminant, value: @member }.to_json
54
+ end
55
+ @member.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ case obj.provider
66
+ when "trieve"
67
+ Vapi::TrieveKnowledgeBase.validate_raw(obj: obj)
68
+ when "custom-knowledge-base"
69
+ Vapi::CustomKnowledgeBase.validate_raw(obj: obj)
70
+ else
71
+ raise("Passed value matched no type within the union, validation failed.")
72
+ end
73
+ end
74
+
75
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Boolean]
79
+ def is_a?(obj)
80
+ @member.is_a?(obj)
81
+ end
82
+
83
+ # @param member [Vapi::TrieveKnowledgeBase]
84
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
85
+ def self.trieve(member:)
86
+ new(member: member, discriminant: "trieve")
87
+ end
88
+
89
+ # @param member [Vapi::CustomKnowledgeBase]
90
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesCreateResponse]
91
+ def self.custom_knowledge_base(member:)
92
+ new(member: member, discriminant: "custom-knowledge-base")
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../types/trieve_knowledge_base"
5
+ require_relative "../../types/custom_knowledge_base"
6
+
7
+ module Vapi
8
+ class KnowledgeBases
9
+ class KnowledgeBasesDeleteResponse
10
+ # @return [Object]
11
+ attr_reader :member
12
+ # @return [String]
13
+ attr_reader :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+
18
+ # @param member [Object]
19
+ # @param discriminant [String]
20
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
21
+ def initialize(member:, discriminant:)
22
+ @member = member
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of KnowledgeBasesDeleteResponse
27
+ #
28
+ # @param json_object [String]
29
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.provider
33
+ when "trieve"
34
+ Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
35
+ when "custom-knowledge-base"
36
+ Vapi::CustomKnowledgeBase.from_json(json_object: json_object)
37
+ else
38
+ Vapi::TrieveKnowledgeBase.from_json(json_object: json_object)
39
+ end
40
+ new(member: member, discriminant: struct.provider)
41
+ end
42
+
43
+ # For Union Types, to_json functionality is delegated to the wrapped member.
44
+ #
45
+ # @return [String]
46
+ def to_json(*_args)
47
+ case @discriminant
48
+ when "trieve"
49
+ { **@member.to_json, provider: @discriminant }.to_json
50
+ when "custom-knowledge-base"
51
+ { **@member.to_json, provider: @discriminant }.to_json
52
+ else
53
+ { "provider": @discriminant, value: @member }.to_json
54
+ end
55
+ @member.to_json
56
+ end
57
+
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ case obj.provider
66
+ when "trieve"
67
+ Vapi::TrieveKnowledgeBase.validate_raw(obj: obj)
68
+ when "custom-knowledge-base"
69
+ Vapi::CustomKnowledgeBase.validate_raw(obj: obj)
70
+ else
71
+ raise("Passed value matched no type within the union, validation failed.")
72
+ end
73
+ end
74
+
75
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Boolean]
79
+ def is_a?(obj)
80
+ @member.is_a?(obj)
81
+ end
82
+
83
+ # @param member [Vapi::TrieveKnowledgeBase]
84
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
85
+ def self.trieve(member:)
86
+ new(member: member, discriminant: "trieve")
87
+ end
88
+
89
+ # @param member [Vapi::CustomKnowledgeBase]
90
+ # @return [Vapi::KnowledgeBases::KnowledgeBasesDeleteResponse]
91
+ def self.custom_knowledge_base(member:)
92
+ new(member: member, discriminant: "custom-knowledge-base")
93
+ end
94
+ end
95
+ end
96
+ end