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
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative "open_ai_message"
4
4
  require_relative "perplexity_ai_model_tools_item"
5
- require_relative "knowledge_base"
5
+ require_relative "create_custom_knowledge_base_dto"
6
6
  require "ostruct"
7
7
  require "json"
8
8
 
@@ -18,13 +18,15 @@ module Vapi
18
18
  # tools, use `tools`.
19
19
  # Both `tools` and `toolIds` can be used together.
20
20
  attr_reader :tool_ids
21
+ # @return [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
22
+ attr_reader :knowledge_base
23
+ # @return [String] This is the ID of the knowledge base the model will use.
24
+ attr_reader :knowledge_base_id
21
25
  # @return [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
22
26
  attr_reader :model
23
27
  # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
24
28
  # caching for lower latency.
25
29
  attr_reader :temperature
26
- # @return [Vapi::KnowledgeBase] These are the options for the knowledge base.
27
- attr_reader :knowledge_base
28
30
  # @return [Float] This is the max number of tokens that the assistant will be allowed to generate
29
31
  # in each turn of the conversation. Default is 250.
30
32
  attr_reader :max_tokens
@@ -55,10 +57,11 @@ module Vapi
55
57
  # @param tool_ids [Array<String>] These are the tools that the assistant can use during the call. To use transient
56
58
  # tools, use `tools`.
57
59
  # Both `tools` and `toolIds` can be used together.
60
+ # @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
61
+ # @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
58
62
  # @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
59
63
  # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
60
64
  # caching for lower latency.
61
- # @param knowledge_base [Vapi::KnowledgeBase] These are the options for the knowledge base.
62
65
  # @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
63
66
  # in each turn of the conversation. Default is 250.
64
67
  # @param emotion_recognition_enabled [Boolean] This determines whether we detect user's emotion while they speak and send it as
@@ -73,14 +76,15 @@ module Vapi
73
76
  # @default 0
74
77
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
75
78
  # @return [Vapi::PerplexityAiModel]
76
- def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, temperature: OMIT, knowledge_base: OMIT,
77
- max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
79
+ def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
80
+ temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
78
81
  @messages = messages if messages != OMIT
79
82
  @tools = tools if tools != OMIT
80
83
  @tool_ids = tool_ids if tool_ids != OMIT
84
+ @knowledge_base = knowledge_base if knowledge_base != OMIT
85
+ @knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
81
86
  @model = model
82
87
  @temperature = temperature if temperature != OMIT
83
- @knowledge_base = knowledge_base if knowledge_base != OMIT
84
88
  @max_tokens = max_tokens if max_tokens != OMIT
85
89
  @emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
86
90
  @num_fast_turns = num_fast_turns if num_fast_turns != OMIT
@@ -89,9 +93,10 @@ module Vapi
89
93
  "messages": messages,
90
94
  "tools": tools,
91
95
  "toolIds": tool_ids,
96
+ "knowledgeBase": knowledge_base,
97
+ "knowledgeBaseId": knowledge_base_id,
92
98
  "model": model,
93
99
  "temperature": temperature,
94
- "knowledgeBase": knowledge_base,
95
100
  "maxTokens": max_tokens,
96
101
  "emotionRecognitionEnabled": emotion_recognition_enabled,
97
102
  "numFastTurns": num_fast_turns
@@ -116,14 +121,15 @@ module Vapi
116
121
  Vapi::PerplexityAiModelToolsItem.from_json(json_object: item)
117
122
  end
118
123
  tool_ids = parsed_json["toolIds"]
119
- model = parsed_json["model"]
120
- temperature = parsed_json["temperature"]
121
124
  if parsed_json["knowledgeBase"].nil?
122
125
  knowledge_base = nil
123
126
  else
124
127
  knowledge_base = parsed_json["knowledgeBase"].to_json
125
- knowledge_base = Vapi::KnowledgeBase.from_json(json_object: knowledge_base)
128
+ knowledge_base = Vapi::CreateCustomKnowledgeBaseDto.from_json(json_object: knowledge_base)
126
129
  end
130
+ knowledge_base_id = parsed_json["knowledgeBaseId"]
131
+ model = parsed_json["model"]
132
+ temperature = parsed_json["temperature"]
127
133
  max_tokens = parsed_json["maxTokens"]
128
134
  emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
129
135
  num_fast_turns = parsed_json["numFastTurns"]
@@ -131,9 +137,10 @@ module Vapi
131
137
  messages: messages,
132
138
  tools: tools,
133
139
  tool_ids: tool_ids,
140
+ knowledge_base: knowledge_base,
141
+ knowledge_base_id: knowledge_base_id,
134
142
  model: model,
135
143
  temperature: temperature,
136
- knowledge_base: knowledge_base,
137
144
  max_tokens: max_tokens,
138
145
  emotion_recognition_enabled: emotion_recognition_enabled,
139
146
  num_fast_turns: num_fast_turns,
@@ -158,9 +165,10 @@ module Vapi
158
165
  obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
159
166
  obj.tools&.is_a?(Array) != false || raise("Passed value for field obj.tools is not the expected type, validation failed.")
160
167
  obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
168
+ obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
169
+ obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
161
170
  obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
162
171
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
163
- obj.knowledge_base.nil? || Vapi::KnowledgeBase.validate_raw(obj: obj.knowledge_base)
164
172
  obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
165
173
  obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
166
174
  obj.num_fast_turns&.is_a?(Float) != false || raise("Passed value for field obj.num_fast_turns is not the expected type, validation failed.")
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "phone_number_paginated_response_results_item"
4
+ require_relative "pagination_meta"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class PhoneNumberPaginatedResponse
10
+ # @return [Array<Vapi::PhoneNumberPaginatedResponseResultsItem>] A list of phone numbers, which can be of any provider type.
11
+ attr_reader :results
12
+ # @return [Vapi::PaginationMeta] Metadata about the pagination.
13
+ attr_reader :metadata
14
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
15
+ attr_reader :additional_properties
16
+ # @return [Object]
17
+ attr_reader :_field_set
18
+ protected :_field_set
19
+
20
+ OMIT = Object.new
21
+
22
+ # @param results [Array<Vapi::PhoneNumberPaginatedResponseResultsItem>] A list of phone numbers, which can be of any provider type.
23
+ # @param metadata [Vapi::PaginationMeta] Metadata about the pagination.
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Vapi::PhoneNumberPaginatedResponse]
26
+ def initialize(results:, metadata:, additional_properties: nil)
27
+ @results = results
28
+ @metadata = metadata
29
+ @additional_properties = additional_properties
30
+ @_field_set = { "results": results, "metadata": metadata }
31
+ end
32
+
33
+ # Deserialize a JSON object to an instance of PhoneNumberPaginatedResponse
34
+ #
35
+ # @param json_object [String]
36
+ # @return [Vapi::PhoneNumberPaginatedResponse]
37
+ def self.from_json(json_object:)
38
+ struct = JSON.parse(json_object, object_class: OpenStruct)
39
+ parsed_json = JSON.parse(json_object)
40
+ results = parsed_json["results"]&.map do |item|
41
+ item = item.to_json
42
+ Vapi::PhoneNumberPaginatedResponseResultsItem.from_json(json_object: item)
43
+ end
44
+ if parsed_json["metadata"].nil?
45
+ metadata = nil
46
+ else
47
+ metadata = parsed_json["metadata"].to_json
48
+ metadata = Vapi::PaginationMeta.from_json(json_object: metadata)
49
+ end
50
+ new(
51
+ results: results,
52
+ metadata: metadata,
53
+ additional_properties: struct
54
+ )
55
+ end
56
+
57
+ # Serialize an instance of PhoneNumberPaginatedResponse to a JSON object
58
+ #
59
+ # @return [String]
60
+ def to_json(*_args)
61
+ @_field_set&.to_json
62
+ end
63
+
64
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
65
+ # hash and check each fields type against the current object's property
66
+ # definitions.
67
+ #
68
+ # @param obj [Object]
69
+ # @return [Void]
70
+ def self.validate_raw(obj:)
71
+ obj.results.is_a?(Array) != false || raise("Passed value for field obj.results is not the expected type, validation failed.")
72
+ Vapi::PaginationMeta.validate_raw(obj: obj.metadata)
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "byo_phone_number"
5
+ require_relative "twilio_phone_number"
6
+ require_relative "vonage_phone_number"
7
+ require_relative "vapi_phone_number"
8
+
9
+ module Vapi
10
+ class PhoneNumberPaginatedResponseResultsItem
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # PhoneNumberPaginatedResponseResultsItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.provider
35
+ when "byo-phone-number"
36
+ Vapi::ByoPhoneNumber.from_json(json_object: json_object)
37
+ when "twilio"
38
+ Vapi::TwilioPhoneNumber.from_json(json_object: json_object)
39
+ when "vonage"
40
+ Vapi::VonagePhoneNumber.from_json(json_object: json_object)
41
+ when "vapi"
42
+ Vapi::VapiPhoneNumber.from_json(json_object: json_object)
43
+ else
44
+ Vapi::ByoPhoneNumber.from_json(json_object: json_object)
45
+ end
46
+ new(member: member, discriminant: struct.provider)
47
+ end
48
+
49
+ # For Union Types, to_json functionality is delegated to the wrapped member.
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ case @discriminant
54
+ when "byo-phone-number"
55
+ { **@member.to_json, provider: @discriminant }.to_json
56
+ when "twilio"
57
+ { **@member.to_json, provider: @discriminant }.to_json
58
+ when "vonage"
59
+ { **@member.to_json, provider: @discriminant }.to_json
60
+ when "vapi"
61
+ { **@member.to_json, provider: @discriminant }.to_json
62
+ else
63
+ { "provider": @discriminant, value: @member }.to_json
64
+ end
65
+ @member.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ case obj.provider
76
+ when "byo-phone-number"
77
+ Vapi::ByoPhoneNumber.validate_raw(obj: obj)
78
+ when "twilio"
79
+ Vapi::TwilioPhoneNumber.validate_raw(obj: obj)
80
+ when "vonage"
81
+ Vapi::VonagePhoneNumber.validate_raw(obj: obj)
82
+ when "vapi"
83
+ Vapi::VapiPhoneNumber.validate_raw(obj: obj)
84
+ else
85
+ raise("Passed value matched no type within the union, validation failed.")
86
+ end
87
+ end
88
+
89
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Boolean]
93
+ def is_a?(obj)
94
+ @member.is_a?(obj)
95
+ end
96
+
97
+ # @param member [Vapi::ByoPhoneNumber]
98
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
99
+ def self.byo_phone_number(member:)
100
+ new(member: member, discriminant: "byo-phone-number")
101
+ end
102
+
103
+ # @param member [Vapi::TwilioPhoneNumber]
104
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
105
+ def self.twilio(member:)
106
+ new(member: member, discriminant: "twilio")
107
+ end
108
+
109
+ # @param member [Vapi::VonagePhoneNumber]
110
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
111
+ def self.vonage(member:)
112
+ new(member: member, discriminant: "vonage")
113
+ end
114
+
115
+ # @param member [Vapi::VapiPhoneNumber]
116
+ # @return [Vapi::PhoneNumberPaginatedResponseResultsItem]
117
+ def self.vapi(member:)
118
+ new(member: member, discriminant: "vapi")
119
+ end
120
+ end
121
+ end
@@ -18,6 +18,8 @@ module Vapi
18
18
  attr_reader :created_at
19
19
  # @return [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
20
20
  attr_reader :updated_at
21
+ # @return [String] This is the name of credential. This is just for your reference.
22
+ attr_reader :name
21
23
  # @return [String]
22
24
  attr_reader :user_id
23
25
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -34,16 +36,19 @@ module Vapi
34
36
  # @param org_id [String] This is the unique identifier for the org that this credential belongs to.
35
37
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the credential was created.
36
38
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the assistant was last updated.
39
+ # @param name [String] This is the name of credential. This is just for your reference.
37
40
  # @param user_id [String]
38
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
42
  # @return [Vapi::PlayHtCredential]
40
- def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, user_id:, additional_properties: nil)
43
+ def initialize(provider:, api_key:, id:, org_id:, created_at:, updated_at:, user_id:, name: OMIT,
44
+ additional_properties: nil)
41
45
  @provider = provider
42
46
  @api_key = api_key
43
47
  @id = id
44
48
  @org_id = org_id
45
49
  @created_at = created_at
46
50
  @updated_at = updated_at
51
+ @name = name if name != OMIT
47
52
  @user_id = user_id
48
53
  @additional_properties = additional_properties
49
54
  @_field_set = {
@@ -53,8 +58,11 @@ module Vapi
53
58
  "orgId": org_id,
54
59
  "createdAt": created_at,
55
60
  "updatedAt": updated_at,
61
+ "name": name,
56
62
  "userId": user_id
57
- }
63
+ }.reject do |_k, v|
64
+ v == OMIT
65
+ end
58
66
  end
59
67
 
60
68
  # Deserialize a JSON object to an instance of PlayHtCredential
@@ -70,6 +78,7 @@ module Vapi
70
78
  org_id = parsed_json["orgId"]
71
79
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
72
80
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
81
+ name = parsed_json["name"]
73
82
  user_id = parsed_json["userId"]
74
83
  new(
75
84
  provider: provider,
@@ -78,6 +87,7 @@ module Vapi
78
87
  org_id: org_id,
79
88
  created_at: created_at,
80
89
  updated_at: updated_at,
90
+ name: name,
81
91
  user_id: user_id,
82
92
  additional_properties: struct
83
93
  )
@@ -103,6 +113,7 @@ module Vapi
103
113
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
104
114
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
105
115
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
116
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
106
117
  obj.user_id.is_a?(String) != false || raise("Passed value for field obj.user_id is not the expected type, validation failed.")
107
118
  end
108
119
  end
@@ -2,16 +2,15 @@
2
2
 
3
3
  require_relative "play_ht_voice_id"
4
4
  require_relative "play_ht_voice_emotion"
5
+ require_relative "play_ht_voice_model"
6
+ require_relative "play_ht_voice_language"
5
7
  require_relative "chunk_plan"
8
+ require_relative "fallback_plan"
6
9
  require "ostruct"
7
10
  require "json"
8
11
 
9
12
  module Vapi
10
13
  class PlayHtVoice
11
- # @return [Boolean] This determines whether fillers are injected into the model output before
12
- # inputting it into the voice provider.
13
- # Default `false` because you can achieve better results with prompting the model.
14
- attr_reader :filler_injection_enabled
15
14
  # @return [Vapi::PlayHtVoiceId] This is the provider-specific ID that will be used.
16
15
  attr_reader :voice_id
17
16
  # @return [Float] This is the speed multiplier that will be used.
@@ -36,9 +35,16 @@ module Vapi
36
35
  # make the generated speech more accurate to the input text, ensuring that the
37
36
  # words spoken align closely with the provided text.
38
37
  attr_reader :text_guidance
38
+ # @return [Vapi::PlayHtVoiceModel] Playht voice model/engine to use.
39
+ attr_reader :model
40
+ # @return [Vapi::PlayHtVoiceLanguage] The language to use for the speech.
41
+ attr_reader :language
39
42
  # @return [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
40
43
  # provider.
41
44
  attr_reader :chunk_plan
45
+ # @return [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
46
+ # voice provider fails.
47
+ attr_reader :fallback_plan
42
48
  # @return [OpenStruct] Additional properties unmapped to the current class definition
43
49
  attr_reader :additional_properties
44
50
  # @return [Object]
@@ -47,9 +53,6 @@ module Vapi
47
53
 
48
54
  OMIT = Object.new
49
55
 
50
- # @param filler_injection_enabled [Boolean] This determines whether fillers are injected into the model output before
51
- # inputting it into the voice provider.
52
- # Default `false` because you can achieve better results with prompting the model.
53
56
  # @param voice_id [Vapi::PlayHtVoiceId] This is the provider-specific ID that will be used.
54
57
  # @param speed [Float] This is the speed multiplier that will be used.
55
58
  # @param temperature [Float] A floating point number between 0, exclusive, and 2, inclusive. If equal to null
@@ -67,13 +70,16 @@ module Vapi
67
70
  # but with a higher chance of deviating from the input text. Higher numbers will
68
71
  # make the generated speech more accurate to the input text, ensuring that the
69
72
  # words spoken align closely with the provided text.
73
+ # @param model [Vapi::PlayHtVoiceModel] Playht voice model/engine to use.
74
+ # @param language [Vapi::PlayHtVoiceLanguage] The language to use for the speech.
70
75
  # @param chunk_plan [Vapi::ChunkPlan] This is the plan for chunking the model output before it is sent to the voice
71
76
  # provider.
77
+ # @param fallback_plan [Vapi::FallbackPlan] This is the plan for voice provider fallbacks in the event that the primary
78
+ # voice provider fails.
72
79
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
73
80
  # @return [Vapi::PlayHtVoice]
74
- def initialize(voice_id:, filler_injection_enabled: OMIT, speed: OMIT, temperature: OMIT, emotion: OMIT,
75
- voice_guidance: OMIT, style_guidance: OMIT, text_guidance: OMIT, chunk_plan: OMIT, additional_properties: nil)
76
- @filler_injection_enabled = filler_injection_enabled if filler_injection_enabled != OMIT
81
+ def initialize(voice_id:, speed: OMIT, temperature: OMIT, emotion: OMIT, voice_guidance: OMIT,
82
+ style_guidance: OMIT, text_guidance: OMIT, model: OMIT, language: OMIT, chunk_plan: OMIT, fallback_plan: OMIT, additional_properties: nil)
77
83
  @voice_id = voice_id
78
84
  @speed = speed if speed != OMIT
79
85
  @temperature = temperature if temperature != OMIT
@@ -81,10 +87,12 @@ module Vapi
81
87
  @voice_guidance = voice_guidance if voice_guidance != OMIT
82
88
  @style_guidance = style_guidance if style_guidance != OMIT
83
89
  @text_guidance = text_guidance if text_guidance != OMIT
90
+ @model = model if model != OMIT
91
+ @language = language if language != OMIT
84
92
  @chunk_plan = chunk_plan if chunk_plan != OMIT
93
+ @fallback_plan = fallback_plan if fallback_plan != OMIT
85
94
  @additional_properties = additional_properties
86
95
  @_field_set = {
87
- "fillerInjectionEnabled": filler_injection_enabled,
88
96
  "voiceId": voice_id,
89
97
  "speed": speed,
90
98
  "temperature": temperature,
@@ -92,7 +100,10 @@ module Vapi
92
100
  "voiceGuidance": voice_guidance,
93
101
  "styleGuidance": style_guidance,
94
102
  "textGuidance": text_guidance,
95
- "chunkPlan": chunk_plan
103
+ "model": model,
104
+ "language": language,
105
+ "chunkPlan": chunk_plan,
106
+ "fallbackPlan": fallback_plan
96
107
  }.reject do |_k, v|
97
108
  v == OMIT
98
109
  end
@@ -105,7 +116,6 @@ module Vapi
105
116
  def self.from_json(json_object:)
106
117
  struct = JSON.parse(json_object, object_class: OpenStruct)
107
118
  parsed_json = JSON.parse(json_object)
108
- filler_injection_enabled = parsed_json["fillerInjectionEnabled"]
109
119
  if parsed_json["voiceId"].nil?
110
120
  voice_id = nil
111
121
  else
@@ -118,14 +128,21 @@ module Vapi
118
128
  voice_guidance = parsed_json["voiceGuidance"]
119
129
  style_guidance = parsed_json["styleGuidance"]
120
130
  text_guidance = parsed_json["textGuidance"]
131
+ model = parsed_json["model"]
132
+ language = parsed_json["language"]
121
133
  if parsed_json["chunkPlan"].nil?
122
134
  chunk_plan = nil
123
135
  else
124
136
  chunk_plan = parsed_json["chunkPlan"].to_json
125
137
  chunk_plan = Vapi::ChunkPlan.from_json(json_object: chunk_plan)
126
138
  end
139
+ if parsed_json["fallbackPlan"].nil?
140
+ fallback_plan = nil
141
+ else
142
+ fallback_plan = parsed_json["fallbackPlan"].to_json
143
+ fallback_plan = Vapi::FallbackPlan.from_json(json_object: fallback_plan)
144
+ end
127
145
  new(
128
- filler_injection_enabled: filler_injection_enabled,
129
146
  voice_id: voice_id,
130
147
  speed: speed,
131
148
  temperature: temperature,
@@ -133,7 +150,10 @@ module Vapi
133
150
  voice_guidance: voice_guidance,
134
151
  style_guidance: style_guidance,
135
152
  text_guidance: text_guidance,
153
+ model: model,
154
+ language: language,
136
155
  chunk_plan: chunk_plan,
156
+ fallback_plan: fallback_plan,
137
157
  additional_properties: struct
138
158
  )
139
159
  end
@@ -152,7 +172,6 @@ module Vapi
152
172
  # @param obj [Object]
153
173
  # @return [Void]
154
174
  def self.validate_raw(obj:)
155
- obj.filler_injection_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.filler_injection_enabled is not the expected type, validation failed.")
156
175
  Vapi::PlayHtVoiceId.validate_raw(obj: obj.voice_id)
157
176
  obj.speed&.is_a?(Float) != false || raise("Passed value for field obj.speed is not the expected type, validation failed.")
158
177
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
@@ -160,7 +179,10 @@ module Vapi
160
179
  obj.voice_guidance&.is_a?(Float) != false || raise("Passed value for field obj.voice_guidance is not the expected type, validation failed.")
161
180
  obj.style_guidance&.is_a?(Float) != false || raise("Passed value for field obj.style_guidance is not the expected type, validation failed.")
162
181
  obj.text_guidance&.is_a?(Float) != false || raise("Passed value for field obj.text_guidance is not the expected type, validation failed.")
182
+ obj.model&.is_a?(Vapi::PlayHtVoiceModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
183
+ obj.language&.is_a?(Vapi::PlayHtVoiceLanguage) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
163
184
  obj.chunk_plan.nil? || Vapi::ChunkPlan.validate_raw(obj: obj.chunk_plan)
185
+ obj.fallback_plan.nil? || Vapi::FallbackPlan.validate_raw(obj: obj.fallback_plan)
164
186
  end
165
187
  end
166
188
  end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # The language to use for the speech.
5
+ class PlayHtVoiceLanguage
6
+ AFRIKAANS = "afrikaans"
7
+ ALBANIAN = "albanian"
8
+ AMHARIC = "amharic"
9
+ ARABIC = "arabic"
10
+ BENGALI = "bengali"
11
+ BULGARIAN = "bulgarian"
12
+ CATALAN = "catalan"
13
+ CROATIAN = "croatian"
14
+ CZECH = "czech"
15
+ DANISH = "danish"
16
+ DUTCH = "dutch"
17
+ ENGLISH = "english"
18
+ FRENCH = "french"
19
+ GALICIAN = "galician"
20
+ GERMAN = "german"
21
+ GREEK = "greek"
22
+ HEBREW = "hebrew"
23
+ HINDI = "hindi"
24
+ HUNGARIAN = "hungarian"
25
+ INDONESIAN = "indonesian"
26
+ ITALIAN = "italian"
27
+ JAPANESE = "japanese"
28
+ KOREAN = "korean"
29
+ MALAY = "malay"
30
+ MANDARIN = "mandarin"
31
+ POLISH = "polish"
32
+ PORTUGUESE = "portuguese"
33
+ RUSSIAN = "russian"
34
+ SERBIAN = "serbian"
35
+ SPANISH = "spanish"
36
+ SWEDISH = "swedish"
37
+ TAGALOG = "tagalog"
38
+ THAI = "thai"
39
+ TURKISH = "turkish"
40
+ UKRAINIAN = "ukrainian"
41
+ URDU = "urdu"
42
+ XHOSA = "xhosa"
43
+ end
44
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # Playht voice model/engine to use.
5
+ class PlayHtVoiceModel
6
+ PLAY_HT_20 = "PlayHT2.0"
7
+ PLAY_HT_20_TURBO = "PlayHT2.0-turbo"
8
+ PLAY_30_MINI = "Play3.0-mini"
9
+ end
10
+ end
@@ -7,7 +7,7 @@ require "json"
7
7
  module Vapi
8
8
  class RegexOption
9
9
  # @return [Vapi::RegexOptionType] This is the type of the regex option. Options are:
10
- # - `ignore-case`: Ignores the case of the text being matched.
10
+ # - `ignore-case`: Ignores the case of the text being matched. Add
11
11
  # - `whole-word`: Matches whole words only.
12
12
  # - `multi-line`: Matches across multiple lines.
13
13
  attr_reader :type
@@ -23,7 +23,7 @@ module Vapi
23
23
  OMIT = Object.new
24
24
 
25
25
  # @param type [Vapi::RegexOptionType] This is the type of the regex option. Options are:
26
- # - `ignore-case`: Ignores the case of the text being matched.
26
+ # - `ignore-case`: Ignores the case of the text being matched. Add
27
27
  # - `whole-word`: Matches whole words only.
28
28
  # - `multi-line`: Matches across multiple lines.
29
29
  # @param enabled [Boolean] This is whether to enable the option.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Vapi
4
4
  # This is the type of the regex option. Options are:
5
- # - `ignore-case`: Ignores the case of the text being matched.
5
+ # - `ignore-case`: Ignores the case of the text being matched. Add
6
6
  # - `whole-word`: Matches whole words only.
7
7
  # - `multi-line`: Matches across multiple lines.
8
8
  class RegexOptionType
@@ -7,9 +7,14 @@ require "json"
7
7
  module Vapi
8
8
  class RegexReplacement
9
9
  # @return [String] This is the regex pattern to replace.
10
+ # Note:
11
+ # - This works by using the `string.replace` method in Node.JS. Eg. `"hello
12
+ # there".replace(/hello/g, "hi")` will return `"hi there"`.
13
+ # Hot tip:
14
+ # - In JavaScript, escape `\` when sending the regex pattern. Eg. `"hello\sthere"`
15
+ # will be sent over the wire as `"hellosthere"`. Send `"hello\\sthere"` instead.
10
16
  attr_reader :regex
11
- # @return [Array<Vapi::RegexOption>] These are the options for the regex replacement. Default all options are
12
- # disabled.
17
+ # @return [Array<Vapi::RegexOption>] These are the options for the regex replacement. Defaults to all disabled.
13
18
  # @default []
14
19
  attr_reader :options
15
20
  # @return [String] This is the value that will replace the match.
@@ -23,8 +28,13 @@ module Vapi
23
28
  OMIT = Object.new
24
29
 
25
30
  # @param regex [String] This is the regex pattern to replace.
26
- # @param options [Array<Vapi::RegexOption>] These are the options for the regex replacement. Default all options are
27
- # disabled.
31
+ # Note:
32
+ # - This works by using the `string.replace` method in Node.JS. Eg. `"hello
33
+ # there".replace(/hello/g, "hi")` will return `"hi there"`.
34
+ # Hot tip:
35
+ # - In JavaScript, escape `\` when sending the regex pattern. Eg. `"hello\sthere"`
36
+ # will be sent over the wire as `"hellosthere"`. Send `"hello\\sthere"` instead.
37
+ # @param options [Array<Vapi::RegexOption>] These are the options for the regex replacement. Defaults to all disabled.
28
38
  # @default []
29
39
  # @param value [String] This is the value that will replace the match.
30
40
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition