vapi_server_sdk 0.1.0 → 0.3.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 (448) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +287 -62
  4. data/lib/vapi_server_sdk/analytics/client.rb +14 -43
  5. data/lib/vapi_server_sdk/assistants/client.rb +70 -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_credentials_item.rb +512 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +52 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  10. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +40 -1
  11. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +39 -0
  12. data/lib/vapi_server_sdk/blocks/client.rb +7 -166
  13. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  14. data/lib/vapi_server_sdk/calls/client.rb +74 -32
  15. data/lib/vapi_server_sdk/knowledge_bases/client.rb +393 -0
  16. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_request.rb +96 -0
  17. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_create_response.rb +96 -0
  18. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_delete_response.rb +96 -0
  19. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_get_response.rb +96 -0
  20. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_list_response_item.rb +96 -0
  21. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  22. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_response.rb +96 -0
  23. data/lib/vapi_server_sdk/logs/client.rb +94 -6
  24. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -69
  25. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  26. data/lib/vapi_server_sdk/squads/client.rb +64 -32
  27. data/lib/vapi_server_sdk/tools/client.rb +7 -87
  28. data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +39 -0
  29. data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +39 -0
  30. data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +39 -0
  31. data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +39 -0
  32. data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +39 -0
  33. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  34. data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +39 -0
  35. data/lib/vapi_server_sdk/types/analytics_query_dto.rb +59 -0
  36. data/lib/vapi_server_sdk/types/anthropic_credential.rb +13 -3
  37. data/lib/vapi_server_sdk/types/anthropic_model.rb +21 -13
  38. data/lib/vapi_server_sdk/types/anthropic_model_model.rb +2 -0
  39. data/lib/vapi_server_sdk/types/anyscale_credential.rb +13 -3
  40. data/lib/vapi_server_sdk/types/anyscale_model.rb +21 -13
  41. data/lib/vapi_server_sdk/types/assembly_ai_credential.rb +111 -0
  42. data/lib/vapi_server_sdk/types/assembly_ai_transcriber.rb +97 -0
  43. data/lib/vapi_server_sdk/types/assistant.rb +60 -64
  44. data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +1 -0
  45. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  46. data/lib/vapi_server_sdk/types/assistant_custom_endpointing_rule.rb +100 -0
  47. data/lib/vapi_server_sdk/types/assistant_model.rb +52 -0
  48. data/lib/vapi_server_sdk/types/assistant_overrides.rb +75 -65
  49. data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +1 -0
  50. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  51. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +52 -0
  52. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  53. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +40 -1
  54. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +39 -0
  55. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  56. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +40 -1
  57. data/lib/vapi_server_sdk/types/assistant_voice.rb +39 -0
  58. data/lib/vapi_server_sdk/types/auto_reload_plan.rb +65 -0
  59. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  60. data/lib/vapi_server_sdk/types/azure_credential.rb +146 -0
  61. data/lib/vapi_server_sdk/types/azure_credential_region.rb +23 -0
  62. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  63. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +20 -2
  64. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  65. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +2 -1
  66. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  67. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  68. data/lib/vapi_server_sdk/types/azure_voice.rb +25 -21
  69. data/lib/vapi_server_sdk/types/bash_tool.rb +194 -0
  70. data/lib/vapi_server_sdk/types/bash_tool_messages_item.rb +120 -0
  71. data/lib/vapi_server_sdk/types/block_complete_message.rb +29 -4
  72. data/lib/vapi_server_sdk/types/block_start_message.rb +29 -4
  73. data/lib/vapi_server_sdk/types/both_custom_endpointing_rule.rb +126 -0
  74. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  75. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  76. data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +29 -9
  77. data/lib/vapi_server_sdk/types/call.rb +15 -1
  78. data/lib/vapi_server_sdk/types/call_ended_reason.rb +83 -43
  79. data/lib/vapi_server_sdk/types/call_log_privileged.rb +88 -0
  80. data/lib/vapi_server_sdk/types/call_log_privileged_level.rb +12 -0
  81. data/lib/vapi_server_sdk/types/call_logs_paginated_response.rb +75 -0
  82. data/lib/vapi_server_sdk/types/cartesia_credential.rb +13 -3
  83. data/lib/vapi_server_sdk/types/cartesia_voice.rb +25 -21
  84. data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +9 -1
  85. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  86. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  87. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  88. data/lib/vapi_server_sdk/types/chat_service_response.rb +47 -0
  89. data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +25 -3
  90. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  91. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +63 -0
  92. data/lib/vapi_server_sdk/types/client_inbound_message_transfer_destination.rb +96 -0
  93. data/lib/vapi_server_sdk/types/{client_message_language_changed.rb → client_message_language_change_detected.rb} +5 -5
  94. data/lib/vapi_server_sdk/types/client_message_message.rb +22 -9
  95. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  96. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +116 -0
  97. data/lib/vapi_server_sdk/types/client_message_transfer_update_destination.rb +122 -0
  98. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  99. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  100. data/lib/vapi_server_sdk/types/computer_tool.rb +218 -0
  101. data/lib/vapi_server_sdk/types/computer_tool_messages_item.rb +120 -0
  102. data/lib/vapi_server_sdk/types/condition.rb +9 -9
  103. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +11 -9
  104. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +11 -9
  105. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +67 -0
  106. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +61 -65
  107. data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +1 -0
  108. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  109. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +52 -0
  110. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  111. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +40 -1
  112. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +39 -0
  113. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +104 -0
  114. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +23 -0
  115. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  116. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +22 -11
  117. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  118. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +2 -1
  119. data/lib/vapi_server_sdk/types/create_bash_tool_dto.rb +161 -0
  120. data/lib/vapi_server_sdk/types/create_bash_tool_dto_messages_item.rb +120 -0
  121. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  122. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +31 -19
  123. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +11 -9
  124. data/lib/vapi_server_sdk/types/{knowledge_base.rb → create_cerebras_credential_dto.rb} +21 -21
  125. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  126. data/lib/vapi_server_sdk/types/create_computer_tool_dto.rb +185 -0
  127. data/lib/vapi_server_sdk/types/create_computer_tool_dto_messages_item.rb +120 -0
  128. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +137 -0
  129. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +26 -9
  130. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +11 -9
  131. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  132. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +9 -9
  133. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +11 -9
  134. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +9 -21
  135. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +11 -9
  136. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +11 -9
  137. data/lib/vapi_server_sdk/types/create_google_credential_dto.rb +76 -0
  138. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +11 -9
  139. data/lib/vapi_server_sdk/types/create_inflection_ai_credential_dto.rb +76 -0
  140. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +83 -0
  141. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +11 -9
  142. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +11 -9
  143. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +11 -9
  144. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +11 -9
  145. data/lib/vapi_server_sdk/types/create_org_dto.rb +45 -26
  146. data/lib/vapi_server_sdk/types/create_org_dto_channel.rb +10 -0
  147. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +11 -9
  148. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +11 -9
  149. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +11 -9
  150. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +11 -9
  151. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +13 -11
  152. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  153. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +67 -0
  154. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto.rb +161 -0
  155. data/lib/vapi_server_sdk/types/create_text_editor_tool_dto_messages_item.rb +120 -0
  156. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +11 -9
  157. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +109 -0
  158. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +11 -9
  159. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  160. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +44 -30
  161. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +11 -9
  162. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  163. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +73 -0
  164. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +67 -0
  165. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +154 -0
  166. data/lib/vapi_server_sdk/types/custom_llm_credential.rb +46 -3
  167. data/lib/vapi_server_sdk/types/custom_llm_model.rb +23 -15
  168. data/lib/vapi_server_sdk/types/custom_message.rb +92 -0
  169. data/lib/vapi_server_sdk/types/custom_transcriber.rb +125 -0
  170. data/lib/vapi_server_sdk/types/custom_voice.rb +132 -0
  171. data/lib/vapi_server_sdk/types/customer_custom_endpointing_rule.rb +100 -0
  172. data/lib/vapi_server_sdk/types/deep_infra_credential.rb +13 -3
  173. data/lib/vapi_server_sdk/types/deep_infra_model.rb +21 -13
  174. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  175. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  176. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  177. data/lib/vapi_server_sdk/types/deepgram_credential.rb +9 -1
  178. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +69 -11
  179. data/lib/vapi_server_sdk/types/deepgram_voice.rb +17 -17
  180. data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +13 -3
  181. data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +28 -24
  182. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  183. data/lib/vapi_server_sdk/types/fallback_azure_voice.rb +100 -0
  184. data/lib/vapi_server_sdk/types/fallback_azure_voice_id.rb +53 -0
  185. data/lib/vapi_server_sdk/types/fallback_azure_voice_voice_id.rb +9 -0
  186. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +100 -0
  187. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_language.rb +23 -0
  188. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +12 -0
  189. data/lib/vapi_server_sdk/types/fallback_custom_voice.rb +117 -0
  190. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +81 -0
  191. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id.rb +53 -0
  192. data/lib/vapi_server_sdk/types/fallback_deepgram_voice_id_enum.rb +18 -0
  193. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice.rb +164 -0
  194. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id.rb +54 -0
  195. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_id_enum.rb +21 -0
  196. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +14 -0
  197. data/lib/vapi_server_sdk/types/fallback_lmnt_voice.rb +88 -0
  198. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id.rb +53 -0
  199. data/lib/vapi_server_sdk/types/fallback_lmnt_voice_id_enum.rb +8 -0
  200. data/lib/vapi_server_sdk/types/fallback_neets_voice.rb +81 -0
  201. data/lib/vapi_server_sdk/types/fallback_neets_voice_id.rb +53 -0
  202. data/lib/vapi_server_sdk/types/fallback_neets_voice_id_enum.rb +7 -0
  203. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +87 -0
  204. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +20 -0
  205. data/lib/vapi_server_sdk/types/fallback_plan.rb +61 -0
  206. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +224 -0
  207. data/lib/vapi_server_sdk/types/fallback_play_ht_voice.rb +172 -0
  208. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_emotion.rb +19 -0
  209. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id.rb +53 -0
  210. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_id_enum.rb +16 -0
  211. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_language.rb +44 -0
  212. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +10 -0
  213. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice.rb +96 -0
  214. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id.rb +53 -0
  215. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +87 -0
  216. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +9 -0
  217. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  218. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  219. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  220. data/lib/vapi_server_sdk/types/fallback_tavus_voice.rb +147 -0
  221. data/lib/vapi_server_sdk/types/fallback_tavus_voice_voice_id.rb +53 -0
  222. data/lib/vapi_server_sdk/types/format_plan.rb +0 -2
  223. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +10 -1
  224. data/lib/vapi_server_sdk/types/gcp_credential.rb +2 -2
  225. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  226. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  227. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  228. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  229. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +9 -1
  230. data/lib/vapi_server_sdk/types/gladia_credential.rb +13 -3
  231. data/lib/vapi_server_sdk/types/go_high_level_credential.rb +13 -3
  232. data/lib/vapi_server_sdk/types/google_credential.rb +113 -0
  233. data/lib/vapi_server_sdk/types/google_model.rb +194 -0
  234. data/lib/vapi_server_sdk/types/google_model_model.rb +14 -0
  235. data/lib/vapi_server_sdk/types/google_model_tools_item.rb +159 -0
  236. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  237. data/lib/vapi_server_sdk/types/groq_credential.rb +13 -3
  238. data/lib/vapi_server_sdk/types/groq_model.rb +21 -13
  239. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  240. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  241. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  242. data/lib/vapi_server_sdk/types/inflection_ai_credential.rb +113 -0
  243. data/lib/vapi_server_sdk/types/inflection_ai_model.rb +177 -0
  244. data/lib/vapi_server_sdk/types/inflection_ai_model_tools_item.rb +159 -0
  245. data/lib/vapi_server_sdk/types/invite_user_dto.rb +9 -9
  246. data/lib/vapi_server_sdk/types/knowledge_base_response_document.rb +74 -0
  247. data/lib/vapi_server_sdk/types/langfuse_credential.rb +130 -0
  248. data/lib/vapi_server_sdk/types/lmnt_credential.rb +13 -3
  249. data/lib/vapi_server_sdk/types/lmnt_voice.rb +18 -14
  250. data/lib/vapi_server_sdk/types/log.rb +12 -4
  251. data/lib/vapi_server_sdk/types/log_resource.rb +8 -0
  252. data/lib/vapi_server_sdk/types/make_credential.rb +13 -3
  253. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +9 -1
  254. data/lib/vapi_server_sdk/types/neets_voice.rb +17 -17
  255. data/lib/vapi_server_sdk/types/o_auth_2_authentication_plan.rb +79 -0
  256. data/lib/vapi_server_sdk/types/oauth_2_authentication_session.rb +68 -0
  257. data/lib/vapi_server_sdk/types/open_ai_credential.rb +13 -3
  258. data/lib/vapi_server_sdk/types/open_ai_function.rb +30 -4
  259. data/lib/vapi_server_sdk/types/open_ai_model.rb +23 -15
  260. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +8 -0
  261. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +8 -0
  262. data/lib/vapi_server_sdk/types/open_ai_voice.rb +22 -14
  263. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +7 -0
  264. data/lib/vapi_server_sdk/types/open_router_credential.rb +13 -3
  265. data/lib/vapi_server_sdk/types/open_router_model.rb +21 -13
  266. data/lib/vapi_server_sdk/types/org.rb +59 -26
  267. data/lib/vapi_server_sdk/types/org_channel.rb +10 -0
  268. data/lib/vapi_server_sdk/types/org_with_org_user.rb +262 -0
  269. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +10 -0
  270. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +9 -0
  271. data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +13 -3
  272. data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +21 -13
  273. data/lib/vapi_server_sdk/types/phone_number_paginated_response.rb +75 -0
  274. data/lib/vapi_server_sdk/types/phone_number_paginated_response_results_item.rb +121 -0
  275. data/lib/vapi_server_sdk/types/play_ht_credential.rb +13 -2
  276. data/lib/vapi_server_sdk/types/play_ht_voice.rb +37 -15
  277. data/lib/vapi_server_sdk/types/play_ht_voice_language.rb +44 -0
  278. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +10 -0
  279. data/lib/vapi_server_sdk/types/regex_option.rb +2 -2
  280. data/lib/vapi_server_sdk/types/regex_option_type.rb +1 -1
  281. data/lib/vapi_server_sdk/types/regex_replacement.rb +14 -4
  282. data/lib/vapi_server_sdk/types/rime_ai_credential.rb +13 -3
  283. data/lib/vapi_server_sdk/types/rime_ai_voice.rb +18 -14
  284. data/lib/vapi_server_sdk/types/runpod_credential.rb +13 -3
  285. data/lib/vapi_server_sdk/types/s_3_credential.rb +13 -3
  286. data/lib/vapi_server_sdk/types/server.rb +16 -2
  287. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +83 -43
  288. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +195 -0
  289. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request_messages_item.rb +97 -0
  290. data/lib/vapi_server_sdk/types/{server_message_language_changed_phone_number.rb → server_message_knowledge_base_request_phone_number.rb} +8 -8
  291. data/lib/vapi_server_sdk/types/{server_message_language_changed.rb → server_message_language_change_detected.rb} +10 -10
  292. data/lib/vapi_server_sdk/types/server_message_language_change_detected_phone_number.rb +125 -0
  293. data/lib/vapi_server_sdk/types/server_message_message.rb +22 -9
  294. data/lib/vapi_server_sdk/types/server_message_response_knowledge_base_request.rb +81 -0
  295. data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +14 -0
  296. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  297. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +83 -43
  298. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +77 -77
  299. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +18 -2
  300. data/lib/vapi_server_sdk/types/sip_authentication.rb +80 -0
  301. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  302. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  303. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  304. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  305. data/lib/vapi_server_sdk/types/start_speaking_plan.rb +54 -10
  306. data/lib/vapi_server_sdk/types/start_speaking_plan_custom_endpointing_rules_item.rb +108 -0
  307. data/lib/vapi_server_sdk/types/structured_data_plan.rb +28 -10
  308. data/lib/vapi_server_sdk/types/subscription.rb +336 -0
  309. data/lib/vapi_server_sdk/types/subscription_status.rb +10 -0
  310. data/lib/vapi_server_sdk/types/subscription_type.rb +10 -0
  311. data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +38 -16
  312. data/lib/vapi_server_sdk/types/summary_plan.rb +26 -8
  313. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +2 -0
  314. data/lib/vapi_server_sdk/types/tavus_conversation_properties.rb +173 -0
  315. data/lib/vapi_server_sdk/types/tavus_credential.rb +111 -0
  316. data/lib/vapi_server_sdk/types/tavus_voice.rb +163 -0
  317. data/lib/vapi_server_sdk/types/tavus_voice_voice_id.rb +53 -0
  318. data/lib/vapi_server_sdk/types/text_content.rb +73 -0
  319. data/lib/vapi_server_sdk/types/text_content_language.rb +191 -0
  320. data/lib/vapi_server_sdk/types/text_editor_tool.rb +194 -0
  321. data/lib/vapi_server_sdk/types/text_editor_tool_messages_item.rb +120 -0
  322. data/lib/vapi_server_sdk/types/together_ai_credential.rb +13 -3
  323. data/lib/vapi_server_sdk/types/together_ai_model.rb +21 -13
  324. data/lib/vapi_server_sdk/types/tool_message_complete.rb +29 -3
  325. data/lib/vapi_server_sdk/types/tool_message_delayed.rb +30 -3
  326. data/lib/vapi_server_sdk/types/tool_message_failed.rb +30 -3
  327. data/lib/vapi_server_sdk/types/tool_message_start.rb +29 -4
  328. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +79 -33
  329. data/lib/vapi_server_sdk/types/transfer_destination_assistant_message.rb +65 -0
  330. data/lib/vapi_server_sdk/types/transfer_destination_number.rb +56 -24
  331. data/lib/vapi_server_sdk/types/transfer_destination_number_message.rb +65 -0
  332. data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +60 -15
  333. data/lib/vapi_server_sdk/types/transfer_destination_sip_message.rb +65 -0
  334. data/lib/vapi_server_sdk/types/transfer_destination_step.rb +28 -14
  335. data/lib/vapi_server_sdk/types/transfer_destination_step_message.rb +65 -0
  336. data/lib/vapi_server_sdk/types/transfer_plan.rb +161 -0
  337. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +59 -0
  338. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +32 -0
  339. data/lib/vapi_server_sdk/types/transport.rb +70 -0
  340. data/lib/vapi_server_sdk/types/transport_cost.rb +12 -2
  341. data/lib/vapi_server_sdk/types/transport_cost_provider.rb +9 -0
  342. data/lib/vapi_server_sdk/types/transport_provider.rb +11 -0
  343. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +125 -0
  344. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_create_plan.rb +109 -0
  345. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan.rb +95 -0
  346. data/lib/vapi_server_sdk/types/trieve_knowledge_base_vector_store_search_plan_search_type.rb +12 -0
  347. data/lib/vapi_server_sdk/types/twilio_credential.rb +12 -2
  348. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  349. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +13 -11
  350. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +13 -11
  351. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +67 -0
  352. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +105 -0
  353. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +23 -0
  354. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  355. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +29 -18
  356. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  357. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +2 -1
  358. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  359. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  360. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  361. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  362. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +30 -18
  363. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +13 -11
  364. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  365. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  366. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  367. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  368. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  369. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  370. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +139 -0
  371. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +28 -11
  372. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +13 -11
  373. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  374. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -11
  375. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  376. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  377. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +20 -11
  378. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  379. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  380. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  381. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  382. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +6 -18
  383. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  384. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  385. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +13 -11
  386. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +13 -11
  387. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +67 -0
  388. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +13 -11
  389. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +67 -0
  390. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +83 -0
  391. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +13 -11
  392. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +17 -15
  393. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  394. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  395. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +13 -11
  396. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +13 -11
  397. data/lib/vapi_server_sdk/types/update_org_dto.rb +45 -26
  398. data/lib/vapi_server_sdk/types/update_org_dto_channel.rb +10 -0
  399. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  400. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  401. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +13 -11
  402. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +15 -13
  403. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +13 -11
  404. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +13 -11
  405. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +24 -22
  406. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  407. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +67 -0
  408. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  409. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  410. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +13 -11
  411. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  412. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  413. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  414. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  415. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  416. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  417. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  418. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  419. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +109 -0
  420. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +15 -13
  421. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  422. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  423. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  424. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  425. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +15 -13
  426. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  427. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  428. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  429. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  430. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  431. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +67 -0
  432. data/lib/vapi_server_sdk/types/vapi_cost.rb +10 -2
  433. data/lib/vapi_server_sdk/types/vapi_cost_sub_type.rb +9 -0
  434. data/lib/vapi_server_sdk/types/vapi_model.rb +24 -16
  435. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +44 -30
  436. data/lib/vapi_server_sdk/types/vonage_credential.rb +12 -2
  437. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  438. data/lib/vapi_server_sdk/types/webhook_credential.rb +134 -0
  439. data/lib/vapi_server_sdk/types/x_ai_credential.rb +113 -0
  440. data/lib/vapi_server_sdk/types/xai_model.rb +177 -0
  441. data/lib/vapi_server_sdk/types/xai_model_tools_item.rb +159 -0
  442. data/lib/vapi_server_sdk.rb +7 -0
  443. metadata +240 -14
  444. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  445. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  446. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  447. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  448. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the region of the Azure resource.
5
+ class AzureCredentialRegion
6
+ AUSTRALIA = "australia"
7
+ CANADA = "canada"
8
+ EASTUS_2 = "eastus2"
9
+ EASTUS = "eastus"
10
+ FRANCE = "france"
11
+ INDIA = "india"
12
+ JAPAN = "japan"
13
+ UAENORTH = "uaenorth"
14
+ NORTHCENTRALUS = "northcentralus"
15
+ NORWAY = "norway"
16
+ SOUTHCENTRALUS = "southcentralus"
17
+ SWEDENCENTRAL = "swedencentral"
18
+ SWITZERLAND = "switzerland"
19
+ UK = "uk"
20
+ WESTUS = "westus"
21
+ WESTUS_3 = "westus3"
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the service being used in Azure.
5
+ class AzureCredentialService
6
+ SPEECH = "speech"
7
+ BLOB_STORAGE = "blob_storage"
8
+ end
9
+ end
@@ -16,6 +16,8 @@ module Vapi
16
16
  attr_reader :models
17
17
  # @return [String] This is not returned in the API.
18
18
  attr_reader :open_ai_key
19
+ # @return [String] This is not returned in the API.
20
+ attr_reader :ocp_apim_subscription_key
19
21
  # @return [String] This is the unique identifier for the credential.
20
22
  attr_reader :id
21
23
  # @return [String] This is the unique identifier for the org that this credential belongs to.
@@ -24,6 +26,8 @@ module Vapi
24
26
  attr_reader :created_at
25
27
  # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
26
28
  attr_reader :updated_at
29
+ # @return [String] This is the name of credential. This is just for your reference.
30
+ attr_reader :name
27
31
  # @return [String]
28
32
  attr_reader :open_ai_endpoint
29
33
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -38,23 +42,27 @@ module Vapi
38
42
  # @param region [Vapi::AzureOpenAiCredentialRegion]
39
43
  # @param models [Array<Vapi::AzureOpenAiCredentialModelsItem>]
40
44
  # @param open_ai_key [String] This is not returned in the API.
45
+ # @param ocp_apim_subscription_key [String] This is not returned in the API.
41
46
  # @param id [String] This is the unique identifier for the credential.
42
47
  # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
43
48
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
44
49
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
50
+ # @param name [String] This is the name of credential. This is just for your reference.
45
51
  # @param open_ai_endpoint [String]
46
52
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
47
53
  # @return [Vapi::AzureOpenAiCredential]
48
54
  def initialize(provider:, region:, models:, open_ai_key:, id:, org_id:, created_at:, updated_at:,
49
- open_ai_endpoint:, additional_properties: nil)
55
+ open_ai_endpoint:, ocp_apim_subscription_key: OMIT, name: OMIT, additional_properties: nil)
50
56
  @provider = provider
51
57
  @region = region
52
58
  @models = models
53
59
  @open_ai_key = open_ai_key
60
+ @ocp_apim_subscription_key = ocp_apim_subscription_key if ocp_apim_subscription_key != OMIT
54
61
  @id = id
55
62
  @org_id = org_id
56
63
  @created_at = created_at
57
64
  @updated_at = updated_at
65
+ @name = name if name != OMIT
58
66
  @open_ai_endpoint = open_ai_endpoint
59
67
  @additional_properties = additional_properties
60
68
  @_field_set = {
@@ -62,12 +70,16 @@ module Vapi
62
70
  "region": region,
63
71
  "models": models,
64
72
  "openAIKey": open_ai_key,
73
+ "ocpApimSubscriptionKey": ocp_apim_subscription_key,
65
74
  "id": id,
66
75
  "orgId": org_id,
67
76
  "createdAt": created_at,
68
77
  "updatedAt": updated_at,
78
+ "name": name,
69
79
  "openAIEndpoint": open_ai_endpoint
70
- }
80
+ }.reject do |_k, v|
81
+ v == OMIT
82
+ end
71
83
  end
72
84
 
73
85
  # Deserialize a JSON object to an instance of AzureOpenAiCredential
@@ -81,20 +93,24 @@ module Vapi
81
93
  region = parsed_json["region"]
82
94
  models = parsed_json["models"]
83
95
  open_ai_key = parsed_json["openAIKey"]
96
+ ocp_apim_subscription_key = parsed_json["ocpApimSubscriptionKey"]
84
97
  id = parsed_json["id"]
85
98
  org_id = parsed_json["orgId"]
86
99
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
87
100
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
101
+ name = parsed_json["name"]
88
102
  open_ai_endpoint = parsed_json["openAIEndpoint"]
89
103
  new(
90
104
  provider: provider,
91
105
  region: region,
92
106
  models: models,
93
107
  open_ai_key: open_ai_key,
108
+ ocp_apim_subscription_key: ocp_apim_subscription_key,
94
109
  id: id,
95
110
  org_id: org_id,
96
111
  created_at: created_at,
97
112
  updated_at: updated_at,
113
+ name: name,
98
114
  open_ai_endpoint: open_ai_endpoint,
99
115
  additional_properties: struct
100
116
  )
@@ -118,10 +134,12 @@ module Vapi
118
134
  obj.region.is_a?(Vapi::AzureOpenAiCredentialRegion) != false || raise("Passed value for field obj.region is not the expected type, validation failed.")
119
135
  obj.models.is_a?(Array) != false || raise("Passed value for field obj.models is not the expected type, validation failed.")
120
136
  obj.open_ai_key.is_a?(String) != false || raise("Passed value for field obj.open_ai_key is not the expected type, validation failed.")
137
+ obj.ocp_apim_subscription_key&.is_a?(String) != false || raise("Passed value for field obj.ocp_apim_subscription_key is not the expected type, validation failed.")
121
138
  obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
122
139
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
123
140
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
124
141
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
142
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
125
143
  obj.open_ai_endpoint.is_a?(String) != false || raise("Passed value for field obj.open_ai_endpoint is not the expected type, validation failed.")
126
144
  end
127
145
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Vapi
4
4
  class AzureOpenAiCredentialModelsItem
5
+ GPT_4_O_20240806 = "gpt-4o-2024-08-06"
5
6
  GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18"
6
7
  GPT_4_O_20240513 = "gpt-4o-2024-05-13"
7
8
  GPT_4_TURBO_20240409 = "gpt-4-turbo-2024-04-09"
@@ -9,10 +9,11 @@ module Vapi
9
9
  FRANCE = "france"
10
10
  INDIA = "india"
11
11
  JAPAN = "japan"
12
+ UAENORTH = "uaenorth"
12
13
  NORTHCENTRALUS = "northcentralus"
13
14
  NORWAY = "norway"
14
15
  SOUTHCENTRALUS = "southcentralus"
15
- SWEDEN = "sweden"
16
+ SWEDENCENTRAL = "swedencentral"
16
17
  SWITZERLAND = "switzerland"
17
18
  UK = "uk"
18
19
  WESTUS = "westus"
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "azure_speech_transcriber_language"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class AzureSpeechTranscriber
9
+ # @return [Vapi::AzureSpeechTranscriberLanguage] This is the language that will be set for the transcription. The list of
10
+ # languages Azure supports can be found here:
11
+ # n.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt
12
+ attr_reader :language
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param language [Vapi::AzureSpeechTranscriberLanguage] This is the language that will be set for the transcription. The list of
22
+ # languages Azure supports can be found here:
23
+ # n.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Vapi::AzureSpeechTranscriber]
26
+ def initialize(language: OMIT, additional_properties: nil)
27
+ @language = language if language != OMIT
28
+ @additional_properties = additional_properties
29
+ @_field_set = { "language": language }.reject do |_k, v|
30
+ v == OMIT
31
+ end
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of AzureSpeechTranscriber
35
+ #
36
+ # @param json_object [String]
37
+ # @return [Vapi::AzureSpeechTranscriber]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ parsed_json = JSON.parse(json_object)
41
+ language = parsed_json["language"]
42
+ new(language: language, additional_properties: struct)
43
+ end
44
+
45
+ # Serialize an instance of AzureSpeechTranscriber to a JSON object
46
+ #
47
+ # @return [String]
48
+ def to_json(*_args)
49
+ @_field_set&.to_json
50
+ end
51
+
52
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
53
+ # hash and check each fields type against the current object's property
54
+ # definitions.
55
+ #
56
+ # @param obj [Object]
57
+ # @return [Void]
58
+ def self.validate_raw(obj:)
59
+ obj.language&.is_a?(Vapi::AzureSpeechTranscriberLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,152 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the language that will be set for the transcription. The list of
5
+ # languages Azure supports can be found here:
6
+ # n.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt
7
+ class AzureSpeechTranscriberLanguage
8
+ AF_ZA = "af-ZA"
9
+ AM_ET = "am-ET"
10
+ AR_AE = "ar-AE"
11
+ AR_BH = "ar-BH"
12
+ AR_DZ = "ar-DZ"
13
+ AR_EG = "ar-EG"
14
+ AR_IL = "ar-IL"
15
+ AR_IQ = "ar-IQ"
16
+ AR_JO = "ar-JO"
17
+ AR_KW = "ar-KW"
18
+ AR_LB = "ar-LB"
19
+ AR_LY = "ar-LY"
20
+ AR_MA = "ar-MA"
21
+ AR_OM = "ar-OM"
22
+ AR_PS = "ar-PS"
23
+ AR_QA = "ar-QA"
24
+ AR_SA = "ar-SA"
25
+ AR_SY = "ar-SY"
26
+ AR_TN = "ar-TN"
27
+ AR_YE = "ar-YE"
28
+ AZ_AZ = "az-AZ"
29
+ BG_BG = "bg-BG"
30
+ BN_IN = "bn-IN"
31
+ BS_BA = "bs-BA"
32
+ CA_ES = "ca-ES"
33
+ CS_CZ = "cs-CZ"
34
+ CY_GB = "cy-GB"
35
+ DA_DK = "da-DK"
36
+ DE_AT = "de-AT"
37
+ DE_CH = "de-CH"
38
+ DE_DE = "de-DE"
39
+ EL_GR = "el-GR"
40
+ EN_AU = "en-AU"
41
+ EN_CA = "en-CA"
42
+ EN_GB = "en-GB"
43
+ EN_GH = "en-GH"
44
+ EN_HK = "en-HK"
45
+ EN_IE = "en-IE"
46
+ EN_IN = "en-IN"
47
+ EN_KE = "en-KE"
48
+ EN_NG = "en-NG"
49
+ EN_NZ = "en-NZ"
50
+ EN_PH = "en-PH"
51
+ EN_SG = "en-SG"
52
+ EN_TZ = "en-TZ"
53
+ EN_US = "en-US"
54
+ EN_ZA = "en-ZA"
55
+ ES_AR = "es-AR"
56
+ ES_BO = "es-BO"
57
+ ES_CL = "es-CL"
58
+ ES_CO = "es-CO"
59
+ ES_CR = "es-CR"
60
+ ES_CU = "es-CU"
61
+ ES_DO = "es-DO"
62
+ ES_EC = "es-EC"
63
+ ES_ES = "es-ES"
64
+ ES_GQ = "es-GQ"
65
+ ES_GT = "es-GT"
66
+ ES_HN = "es-HN"
67
+ ES_MX = "es-MX"
68
+ ES_NI = "es-NI"
69
+ ES_PA = "es-PA"
70
+ ES_PE = "es-PE"
71
+ ES_PR = "es-PR"
72
+ ES_PY = "es-PY"
73
+ ES_SV = "es-SV"
74
+ ES_US = "es-US"
75
+ ES_UY = "es-UY"
76
+ ES_VE = "es-VE"
77
+ ET_EE = "et-EE"
78
+ EU_ES = "eu-ES"
79
+ FA_IR = "fa-IR"
80
+ FI_FI = "fi-FI"
81
+ FIL_PH = "fil-PH"
82
+ FR_BE = "fr-BE"
83
+ FR_CA = "fr-CA"
84
+ FR_CH = "fr-CH"
85
+ FR_FR = "fr-FR"
86
+ GA_IE = "ga-IE"
87
+ GL_ES = "gl-ES"
88
+ GU_IN = "gu-IN"
89
+ HE_IL = "he-IL"
90
+ HI_IN = "hi-IN"
91
+ HR_HR = "hr-HR"
92
+ HU_HU = "hu-HU"
93
+ HY_AM = "hy-AM"
94
+ ID_ID = "id-ID"
95
+ IS_IS = "is-IS"
96
+ IT_CH = "it-CH"
97
+ IT_IT = "it-IT"
98
+ JA_JP = "ja-JP"
99
+ JV_ID = "jv-ID"
100
+ KA_GE = "ka-GE"
101
+ KK_KZ = "kk-KZ"
102
+ KM_KH = "km-KH"
103
+ KN_IN = "kn-IN"
104
+ KO_KR = "ko-KR"
105
+ LO_LA = "lo-LA"
106
+ LT_LT = "lt-LT"
107
+ LV_LV = "lv-LV"
108
+ MK_MK = "mk-MK"
109
+ ML_IN = "ml-IN"
110
+ MN_MN = "mn-MN"
111
+ MR_IN = "mr-IN"
112
+ MS_MY = "ms-MY"
113
+ MT_MT = "mt-MT"
114
+ MY_MM = "my-MM"
115
+ NB_NO = "nb-NO"
116
+ NE_NP = "ne-NP"
117
+ NL_BE = "nl-BE"
118
+ NL_NL = "nl-NL"
119
+ PA_IN = "pa-IN"
120
+ PL_PL = "pl-PL"
121
+ PS_AF = "ps-AF"
122
+ PT_BR = "pt-BR"
123
+ PT_PT = "pt-PT"
124
+ RO_RO = "ro-RO"
125
+ RU_RU = "ru-RU"
126
+ SI_LK = "si-LK"
127
+ SK_SK = "sk-SK"
128
+ SL_SI = "sl-SI"
129
+ SO_SO = "so-SO"
130
+ SQ_AL = "sq-AL"
131
+ SR_RS = "sr-RS"
132
+ SV_SE = "sv-SE"
133
+ SW_KE = "sw-KE"
134
+ SW_TZ = "sw-TZ"
135
+ TA_IN = "ta-IN"
136
+ TE_IN = "te-IN"
137
+ TH_TH = "th-TH"
138
+ TR_TR = "tr-TR"
139
+ UK_UA = "uk-UA"
140
+ UR_IN = "ur-IN"
141
+ UZ_UZ = "uz-UZ"
142
+ VI_VN = "vi-VN"
143
+ WUU_CN = "wuu-CN"
144
+ YUE_CN = "yue-CN"
145
+ ZH_CN = "zh-CN"
146
+ ZH_CN_SHANDONG = "zh-CN-shandong"
147
+ ZH_CN_SICHUAN = "zh-CN-sichuan"
148
+ ZH_HK = "zh-HK"
149
+ ZH_TW = "zh-TW"
150
+ ZU_ZA = "zu-ZA"
151
+ end
152
+ end
@@ -2,22 +2,22 @@
2
2
 
3
3
  require_relative "azure_voice_id"
4
4
  require_relative "chunk_plan"
5
+ require_relative "fallback_plan"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
8
9
  module Vapi
9
10
  class AzureVoice
10
- # @return [Boolean] This determines whether fillers are injected into the model output before
11
- # inputting it into the voice provider.
12
- # Default `false` because you can achieve better results with prompting the model.
13
- attr_reader :filler_injection_enabled
14
11
  # @return [Vapi::AzureVoiceId] This is the provider-specific ID that will be used.
15
12
  attr_reader :voice_id
16
- # @return [Float] This is the speed multiplier that will be used.
17
- attr_reader :speed
18
13
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
19
14
  # provider.
20
15
  attr_reader :chunk_plan
16
+ # @return [Float] This is the speed multiplier that will be used.
17
+ attr_reader :speed
18
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
19
+ # voice provider fails.
20
+ attr_reader :fallback_plan
21
21
  # @return [OpenStruct] Additional properties unmapped to the current class definition
22
22
  attr_reader :additional_properties
23
23
  # @return [Object]
@@ -26,26 +26,25 @@ module Vapi
26
26
 
27
27
  OMIT = Object.new
28
28
 
29
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
30
- # inputting it into the voice provider.
31
- # Default `false` because you can achieve better results with prompting the model.
32
29
  # @param voice_id [Vapi::AzureVoiceId] This is the provider-specific ID that will be used.
33
- # @param speed [Float] This is the speed multiplier that will be used.
34
30
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
35
31
  # provider.
32
+ # @param speed [Float] This is the speed multiplier that will be used.
33
+ # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
34
+ # voice provider fails.
36
35
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
36
  # @return [Vapi::AzureVoice]
38
- def initialize(voice_id:, filler_injection_enabled: OMIT, speed: OMIT, chunk_plan: OMIT, additional_properties: nil)
39
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
37
+ def initialize(voice_id:, chunk_plan: OMIT, speed: OMIT, fallback_plan: OMIT, additional_properties: nil)
40
38
  @voice_id = voice_id
41
- @speed = speed if speed != OMIT
42
39
  @chunk_plan = chunk_plan if chunk_plan != OMIT
40
+ @speed = speed if speed != OMIT
41
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
43
42
  @additional_properties = additional_properties
44
43
  @_field_set = {
45
- "fillerInjectionEnabled": filler_injection_enabled,
46
44
  "voiceId": voice_id,
45
+ "chunkPlan": chunk_plan,
47
46
  "speed": speed,
48
- "chunkPlan": chunk_plan
47
+ "fallbackPlan": fallback_plan
49
48
  }.reject do |_k, v|
50
49
  v == OMIT
51
50
  end
@@ -58,25 +57,30 @@ module Vapi
58
57
  def self.from_json(json_object:)
59
58
  struct = JSON.parse(json_object, object_class: OpenStruct)
60
59
  parsed_json = JSON.parse(json_object)
61
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
62
60
  if parsed_json["voiceId"].nil?
63
61
  voice_id = nil
64
62
  else
65
63
  voice_id = parsed_json["voiceId"].to_json
66
64
  voice_id = Vapi::AzureVoiceId.from_json(json_object: voice_id)
67
65
  end
68
- speed = parsed_json["speed"]
69
66
  if parsed_json["chunkPlan"].nil?
70
67
  chunk_plan = nil
71
68
  else
72
69
  chunk_plan = parsed_json["chunkPlan"].to_json
73
70
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
74
71
  end
72
+ speed = parsed_json["speed"]
73
+ if parsed_json["fallbackPlan"].nil?
74
+ fallback_plan = nil
75
+ else
76
+ fallback_plan = parsed_json["fallbackPlan"].to_json
77
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
78
+ end
75
79
  new(
76
- filler_injection_enabled: filler_injection_enabled,
77
80
  voice_id: voice_id,
78
- speed: speed,
79
81
  chunk_plan: chunk_plan,
82
+ speed: speed,
83
+ fallback_plan: fallback_plan,
80
84
  additional_properties: struct
81
85
  )
82
86
  end
@@ -95,10 +99,10 @@ module Vapi
95
99
  # @param obj [Object]
96
100
  # @return [Void]
97
101
  def self.validate_raw(obj:)
98
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
99
102
  Vapi::AzureVoiceId.validate_raw(obj: obj.voice_id)
100
- obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
101
103
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
104
+ obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
105
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
102
106
  end
103
107
  end
104
108
  end
@@ -0,0 +1,194 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "bash_tool_messages_item"
4
+ require "date"
5
+ require_relative "open_ai_function"
6
+ require_relative "server"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Vapi
11
+ class BashTool
12
+ # @return [Boolean] This determines if the tool is async.
13
+ # If async, the assistant will move forward without waiting for your server to
14
+ # respond. This is useful if you just want to trigger something on your server.
15
+ # If sync, the assistant will wait for your server to respond. This is useful if
16
+ # want assistant to respond with the result from your server.
17
+ # Defaults to synchronous (`false`).
18
+ attr_reader :async
19
+ # @return [Array<Vapi::BashToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
20
+ # For some tools, this is auto-filled based on special fields like
21
+ # `tool.destinations`. For others like the function tool, these can be custom
22
+ # configured.
23
+ attr_reader :messages
24
+ # @return [String] The sub type of tool.
25
+ attr_reader :sub_type
26
+ # @return [String] This is the unique identifier for the tool.
27
+ attr_reader :id
28
+ # @return [String] This is the unique identifier for the organization that this tool belongs to.
29
+ attr_reader :org_id
30
+ # @return [DateTime] This is the ISO 8601 date-time string of when the tool was created.
31
+ attr_reader :created_at
32
+ # @return [DateTime] This is the ISO 8601 date-time string of when the tool was last updated.
33
+ attr_reader :updated_at
34
+ # @return [Vapi::OpenAiFunction] This is the function definition of the tool.
35
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
36
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
37
+ # provide a custom function definition for advanced use cases.
38
+ # An example of an advanced use case is if you want to customize the message
39
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
40
+ # argument "reason". Then, in `messages` array, you can have many
41
+ # "request-complete" messages. One of these messages will be triggered if the
42
+ # `messages[].conditions` matches the "reason" argument.
43
+ attr_reader :function
44
+ # @return [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
45
+ # All requests will be sent with the call object among other things. You can find
46
+ # more details in the Server URL documentation.
47
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
48
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
49
+ # phoneNumber.serverUrl, then org.serverUrl.
50
+ attr_reader :server
51
+ # @return [String] The name of the tool, fixed to 'bash'
52
+ attr_reader :name
53
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
54
+ attr_reader :additional_properties
55
+ # @return [Object]
56
+ attr_reader :_field_set
57
+ protected :_field_set
58
+
59
+ OMIT = Object.new
60
+
61
+ # @param async [Boolean] This determines if the tool is async.
62
+ # If async, the assistant will move forward without waiting for your server to
63
+ # respond. This is useful if you just want to trigger something on your server.
64
+ # If sync, the assistant will wait for your server to respond. This is useful if
65
+ # want assistant to respond with the result from your server.
66
+ # Defaults to synchronous (`false`).
67
+ # @param messages [Array<Vapi::BashToolMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
68
+ # For some tools, this is auto-filled based on special fields like
69
+ # `tool.destinations`. For others like the function tool, these can be custom
70
+ # configured.
71
+ # @param sub_type [String] The sub type of tool.
72
+ # @param id [String] This is the unique identifier for the tool.
73
+ # @param org_id [String] This is the unique identifier for the organization that this tool belongs to.
74
+ # @param created_at [DateTime] This is the ISO 8601 date-time string of when the tool was created.
75
+ # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the tool was last updated.
76
+ # @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
77
+ # For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
78
+ # tool-specific fields like `tool.destinations`. But, even in those cases, you can
79
+ # provide a custom function definition for advanced use cases.
80
+ # An example of an advanced use case is if you want to customize the message
81
+ # that's spoken for `endCall` tool. You can specify a function where it returns an
82
+ # argument "reason". Then, in `messages` array, you can have many
83
+ # "request-complete" messages. One of these messages will be triggered if the
84
+ # `messages[].conditions` matches the "reason" argument.
85
+ # @param server [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
86
+ # All requests will be sent with the call object among other things. You can find
87
+ # more details in the Server URL documentation.
88
+ # This overrides the serverUrl set on the org and the phoneNumber. Order of
89
+ # precedence: highest tool.server.url, then assistant.serverUrl, then
90
+ # phoneNumber.serverUrl, then org.serverUrl.
91
+ # @param name [String] The name of the tool, fixed to 'bash'
92
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
93
+ # @return [Vapi::BashTool]
94
+ def initialize(sub_type:, id:, org_id:, created_at:, updated_at:, name:, async: OMIT, messages: OMIT, function: OMIT,
95
+ server: OMIT, additional_properties: nil)
96
+ @async = async if async != OMIT
97
+ @messages = messages if messages != OMIT
98
+ @sub_type = sub_type
99
+ @id = id
100
+ @org_id = org_id
101
+ @created_at = created_at
102
+ @updated_at = updated_at
103
+ @function = function if function != OMIT
104
+ @server = server if server != OMIT
105
+ @name = name
106
+ @additional_properties = additional_properties
107
+ @_field_set = {
108
+ "async": async,
109
+ "messages": messages,
110
+ "subType": sub_type,
111
+ "id": id,
112
+ "orgId": org_id,
113
+ "createdAt": created_at,
114
+ "updatedAt": updated_at,
115
+ "function": function,
116
+ "server": server,
117
+ "name": name
118
+ }.reject do |_k, v|
119
+ v == OMIT
120
+ end
121
+ end
122
+
123
+ # Deserialize a JSON object to an instance of BashTool
124
+ #
125
+ # @param json_object [String]
126
+ # @return [Vapi::BashTool]
127
+ def self.from_json(json_object:)
128
+ struct = JSON.parse(json_object, object_class: OpenStruct)
129
+ parsed_json = JSON.parse(json_object)
130
+ async = parsed_json["async"]
131
+ messages = parsed_json["messages"]&.map do |item|
132
+ item = item.to_json
133
+ Vapi::BashToolMessagesItem.from_json(json_object: item)
134
+ end
135
+ sub_type = parsed_json["subType"]
136
+ id = parsed_json["id"]
137
+ org_id = parsed_json["orgId"]
138
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
139
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
140
+ if parsed_json["function"].nil?
141
+ function = nil
142
+ else
143
+ function = parsed_json["function"].to_json
144
+ function = Vapi::OpenAiFunction.from_json(json_object: function)
145
+ end
146
+ if parsed_json["server"].nil?
147
+ server = nil
148
+ else
149
+ server = parsed_json["server"].to_json
150
+ server = Vapi::Server.from_json(json_object: server)
151
+ end
152
+ name = parsed_json["name"]
153
+ new(
154
+ async: async,
155
+ messages: messages,
156
+ sub_type: sub_type,
157
+ id: id,
158
+ org_id: org_id,
159
+ created_at: created_at,
160
+ updated_at: updated_at,
161
+ function: function,
162
+ server: server,
163
+ name: name,
164
+ additional_properties: struct
165
+ )
166
+ end
167
+
168
+ # Serialize an instance of BashTool to a JSON object
169
+ #
170
+ # @return [String]
171
+ def to_json(*_args)
172
+ @_field_set&.to_json
173
+ end
174
+
175
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
176
+ # hash and check each fields type against the current object's property
177
+ # definitions.
178
+ #
179
+ # @param obj [Object]
180
+ # @return [Void]
181
+ def self.validate_raw(obj:)
182
+ obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
183
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
184
+ obj.sub_type.is_a?(String) != false || raise("Passed value for field obj.sub_type is not the expected type, validation failed.")
185
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
186
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
187
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
188
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
189
+ obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
190
+ obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
191
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
192
+ end
193
+ end
194
+ end