vapi_server_sdk 0.2.0 → 0.4.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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +160 -68
  4. data/lib/vapi_server_sdk/analytics/client.rb +0 -14
  5. data/lib/vapi_server_sdk/assistants/client.rb +19 -72
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_credentials_item.rb +512 -0
  7. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +13 -0
  8. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +13 -0
  9. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +13 -0
  10. data/lib/vapi_server_sdk/blocks/client.rb +7 -236
  11. data/lib/vapi_server_sdk/blocks/types/blocks_update_request.rb +109 -0
  12. data/lib/vapi_server_sdk/calls/client.rb +22 -74
  13. data/lib/vapi_server_sdk/files/client.rb +0 -70
  14. data/lib/vapi_server_sdk/knowledge_bases/client.rb +7 -78
  15. data/lib/vapi_server_sdk/knowledge_bases/types/knowledge_bases_update_request.rb +96 -0
  16. data/lib/vapi_server_sdk/logs/client.rb +75 -22
  17. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  18. data/lib/vapi_server_sdk/phone_numbers/client.rb +7 -139
  19. data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_request.rb +122 -0
  20. data/lib/vapi_server_sdk/squads/client.rb +16 -70
  21. data/lib/vapi_server_sdk/tools/client.rb +7 -161
  22. data/lib/vapi_server_sdk/tools/types/tools_update_request.rb +200 -0
  23. data/lib/vapi_server_sdk/types/assistant.rb +19 -1
  24. data/lib/vapi_server_sdk/types/assistant_credentials_item.rb +510 -0
  25. data/lib/vapi_server_sdk/types/assistant_model.rb +13 -0
  26. data/lib/vapi_server_sdk/types/assistant_overrides.rb +19 -1
  27. data/lib/vapi_server_sdk/types/assistant_overrides_credentials_item.rb +510 -0
  28. data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +13 -0
  29. data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +13 -0
  30. data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +13 -0
  31. data/lib/vapi_server_sdk/types/assistant_transcriber.rb +13 -0
  32. data/lib/vapi_server_sdk/types/assistant_voice.rb +13 -0
  33. data/lib/vapi_server_sdk/types/azure_blob_storage_bucket_plan.rb +88 -0
  34. data/lib/vapi_server_sdk/types/azure_credential.rb +22 -5
  35. data/lib/vapi_server_sdk/types/azure_credential_region.rb +5 -3
  36. data/lib/vapi_server_sdk/types/azure_credential_service.rb +9 -0
  37. data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +9 -1
  38. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +5 -3
  39. data/lib/vapi_server_sdk/types/azure_speech_transcriber.rb +62 -0
  40. data/lib/vapi_server_sdk/types/azure_speech_transcriber_language.rb +152 -0
  41. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  42. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  43. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +25 -29
  44. data/lib/vapi_server_sdk/types/byo_phone_number.rb +25 -29
  45. data/lib/vapi_server_sdk/types/call_ended_reason.rb +44 -29
  46. data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +2 -0
  47. data/lib/vapi_server_sdk/types/cerebras_credential.rb +111 -0
  48. data/lib/vapi_server_sdk/types/chat_dto.rb +103 -0
  49. data/lib/vapi_server_sdk/types/{credits_buy_dto.rb → chat_service_response.rb} +9 -17
  50. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  51. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  52. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  53. data/lib/vapi_server_sdk/types/cloudflare_credential.rb +142 -0
  54. data/lib/vapi_server_sdk/types/cloudflare_r_2_bucket_plan.rb +105 -0
  55. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  56. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  57. data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +2 -9
  58. data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +2 -9
  59. data/lib/vapi_server_sdk/types/create_assembly_ai_credential_dto.rb +2 -9
  60. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +19 -1
  61. data/lib/vapi_server_sdk/types/create_assistant_dto_credentials_item.rb +510 -0
  62. data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +13 -0
  63. data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +13 -0
  64. data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +13 -0
  65. data/lib/vapi_server_sdk/types/create_azure_credential_dto.rb +21 -12
  66. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +5 -3
  67. data/lib/vapi_server_sdk/types/create_azure_credential_dto_service.rb +9 -0
  68. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +10 -9
  69. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +5 -3
  70. data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +25 -29
  71. data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +1 -9
  72. data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +2 -9
  73. data/lib/vapi_server_sdk/types/create_cerebras_credential_dto.rb +74 -0
  74. data/lib/vapi_server_sdk/types/create_cloudflare_credential_dto.rb +101 -0
  75. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  76. data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +2 -14
  77. data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +2 -9
  78. data/lib/vapi_server_sdk/types/create_deep_seek_credential_dto.rb +67 -0
  79. data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +2 -9
  80. data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +2 -9
  81. data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +2 -14
  82. data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +2 -9
  83. data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +2 -9
  84. data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +2 -9
  85. data/lib/vapi_server_sdk/types/create_langfuse_credential_dto.rb +2 -15
  86. data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +2 -9
  87. data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +2 -15
  88. data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +2 -9
  89. data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +2 -9
  90. data/lib/vapi_server_sdk/types/create_org_dto.rb +25 -25
  91. data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +2 -9
  92. data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +2 -9
  93. data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +2 -9
  94. data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +2 -9
  95. data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +2 -10
  96. data/lib/vapi_server_sdk/types/create_smallest_ai_credential_dto.rb +67 -0
  97. data/lib/vapi_server_sdk/types/create_tavus_credential_dto.rb +2 -9
  98. data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +2 -9
  99. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  100. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  101. data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +2 -14
  102. data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +25 -29
  103. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +25 -29
  104. data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +2 -14
  105. data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +25 -29
  106. data/lib/vapi_server_sdk/types/create_webhook_credential_dto.rb +2 -13
  107. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +87 -0
  108. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +81 -0
  109. data/lib/vapi_server_sdk/types/create_x_ai_credential_dto.rb +2 -11
  110. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  111. data/lib/vapi_server_sdk/types/deep_seek_credential.rb +111 -0
  112. data/lib/vapi_server_sdk/types/deep_seek_model.rb +177 -0
  113. data/lib/vapi_server_sdk/types/deep_seek_model_tools_item.rb +159 -0
  114. data/lib/vapi_server_sdk/types/edge.rb +80 -0
  115. data/lib/vapi_server_sdk/types/edge_condition.rb +94 -0
  116. data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +2 -0
  117. data/lib/vapi_server_sdk/types/fallback_cartesia_voice_model.rb +2 -0
  118. data/lib/vapi_server_sdk/types/fallback_eleven_labs_voice_model.rb +2 -0
  119. data/lib/vapi_server_sdk/types/fallback_open_ai_voice.rb +4 -4
  120. data/lib/vapi_server_sdk/types/fallback_open_ai_voice_id.rb +2 -2
  121. data/lib/vapi_server_sdk/types/fallback_plan_voices_item.rb +13 -0
  122. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice.rb +95 -0
  123. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id.rb +53 -0
  124. data/lib/vapi_server_sdk/types/fallback_smallest_ai_voice_id_enum.rb +31 -0
  125. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  126. data/lib/vapi_server_sdk/types/gather.rb +87 -0
  127. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config.rb +58 -0
  128. data/lib/vapi_server_sdk/types/gemini_multimodal_live_prebuilt_voice_config_voice_name.rb +11 -0
  129. data/lib/vapi_server_sdk/types/gemini_multimodal_live_speech_config.rb +61 -0
  130. data/lib/vapi_server_sdk/types/gemini_multimodal_live_voice_config.rb +61 -0
  131. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  132. data/lib/vapi_server_sdk/types/google_model.rb +17 -1
  133. data/lib/vapi_server_sdk/types/google_model_model.rb +2 -0
  134. data/lib/vapi_server_sdk/types/google_realtime_config.rb +121 -0
  135. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -3
  136. data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +25 -29
  137. data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +25 -29
  138. data/lib/vapi_server_sdk/types/json_schema.rb +13 -2
  139. data/lib/vapi_server_sdk/types/log.rb +18 -18
  140. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  141. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +6 -0
  142. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +6 -0
  143. data/lib/vapi_server_sdk/types/open_ai_voice.rb +4 -4
  144. data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +2 -2
  145. data/lib/vapi_server_sdk/types/org.rb +25 -25
  146. data/lib/vapi_server_sdk/types/org_with_org_user.rb +25 -25
  147. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_remove_dto.rb → programmatic_edge_condition.rb} +16 -14
  148. data/lib/vapi_server_sdk/types/say.rb +72 -0
  149. data/lib/vapi_server_sdk/types/{payment_retry_dto.rb → semantic_edge_condition.rb} +16 -14
  150. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +44 -29
  151. data/lib/vapi_server_sdk/types/server_message_status_update.rb +11 -1
  152. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +44 -29
  153. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  154. data/lib/vapi_server_sdk/types/smallest_ai_credential.rb +111 -0
  155. data/lib/vapi_server_sdk/types/smallest_ai_voice.rb +117 -0
  156. data/lib/vapi_server_sdk/types/smallest_ai_voice_id.rb +53 -0
  157. data/lib/vapi_server_sdk/types/smallest_ai_voice_id_enum.rb +31 -0
  158. data/lib/vapi_server_sdk/types/subscription.rb +13 -11
  159. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  160. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  161. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  162. data/lib/vapi_server_sdk/types/transfer_plan.rb +26 -6
  163. data/lib/vapi_server_sdk/types/transfer_plan_message.rb +2 -1
  164. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  165. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  166. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  167. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  168. data/lib/vapi_server_sdk/types/{subscription_concurrency_line_buy_dto.rb → trieve_knowledge_base_import.rb} +14 -14
  169. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +9 -11
  170. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan_search_type.rb → trieve_knowledge_base_search_plan_search_type.rb} +1 -1
  171. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +25 -29
  172. data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +4 -11
  173. data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +4 -11
  174. data/lib/vapi_server_sdk/types/update_assembly_ai_credential_dto.rb +4 -11
  175. data/lib/vapi_server_sdk/types/update_azure_credential_dto.rb +24 -14
  176. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +5 -3
  177. data/lib/vapi_server_sdk/types/update_azure_credential_dto_service.rb +9 -0
  178. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +25 -24
  179. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +5 -3
  180. data/lib/vapi_server_sdk/types/update_bash_tool_dto.rb +161 -0
  181. data/lib/vapi_server_sdk/types/update_bash_tool_dto_messages_item.rb +120 -0
  182. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto.rb +187 -0
  183. data/lib/vapi_server_sdk/types/update_byo_phone_number_dto_fallback_destination.rb +101 -0
  184. data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +13 -21
  185. data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +4 -11
  186. data/lib/vapi_server_sdk/types/update_cerebras_credential_dto.rb +67 -0
  187. data/lib/vapi_server_sdk/types/update_cloudflare_credential_dto.rb +101 -0
  188. data/lib/vapi_server_sdk/types/update_computer_tool_dto.rb +185 -0
  189. data/lib/vapi_server_sdk/types/update_computer_tool_dto_messages_item.rb +120 -0
  190. data/lib/vapi_server_sdk/types/update_conversation_block_dto.rb +206 -0
  191. data/lib/vapi_server_sdk/types/update_conversation_block_dto_messages_item.rb +95 -0
  192. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +137 -0
  193. data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +4 -16
  194. data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +4 -11
  195. data/lib/vapi_server_sdk/types/update_deep_seek_credential_dto.rb +67 -0
  196. data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +11 -18
  197. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto.rb +139 -0
  198. data/lib/vapi_server_sdk/types/update_dtmf_tool_dto_messages_item.rb +120 -0
  199. data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +11 -11
  200. data/lib/vapi_server_sdk/types/update_end_call_tool_dto.rb +139 -0
  201. data/lib/vapi_server_sdk/types/update_end_call_tool_dto_messages_item.rb +120 -0
  202. data/lib/vapi_server_sdk/types/update_function_tool_dto.rb +139 -0
  203. data/lib/vapi_server_sdk/types/update_function_tool_dto_messages_item.rb +120 -0
  204. data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +11 -23
  205. data/lib/vapi_server_sdk/types/update_ghl_tool_dto.rb +159 -0
  206. data/lib/vapi_server_sdk/types/update_ghl_tool_dto_messages_item.rb +120 -0
  207. data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +4 -11
  208. data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +4 -11
  209. data/lib/vapi_server_sdk/types/update_google_credential_dto.rb +4 -13
  210. data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +4 -11
  211. data/lib/vapi_server_sdk/types/update_inflection_ai_credential_dto.rb +4 -13
  212. data/lib/vapi_server_sdk/types/update_langfuse_credential_dto.rb +8 -21
  213. data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +4 -11
  214. data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +8 -21
  215. data/lib/vapi_server_sdk/types/update_make_tool_dto.rb +159 -0
  216. data/lib/vapi_server_sdk/types/update_make_tool_dto_messages_item.rb +120 -0
  217. data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +4 -11
  218. data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +4 -11
  219. data/lib/vapi_server_sdk/types/update_org_dto.rb +25 -25
  220. data/lib/vapi_server_sdk/types/update_output_tool_dto.rb +139 -0
  221. data/lib/vapi_server_sdk/types/update_output_tool_dto_messages_item.rb +120 -0
  222. data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +4 -11
  223. data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +11 -18
  224. data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +4 -11
  225. data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +4 -11
  226. data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +12 -20
  227. data/lib/vapi_server_sdk/types/update_smallest_ai_credential_dto.rb +67 -0
  228. data/lib/vapi_server_sdk/types/update_tavus_credential_dto.rb +4 -11
  229. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto.rb +161 -0
  230. data/lib/vapi_server_sdk/types/update_text_editor_tool_dto_messages_item.rb +120 -0
  231. data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +4 -11
  232. data/lib/vapi_server_sdk/types/update_token_dto.rb +81 -0
  233. data/lib/vapi_server_sdk/types/update_token_dto_tag.rb +9 -0
  234. data/lib/vapi_server_sdk/types/update_tool_call_block_dto.rb +168 -0
  235. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_messages_item.rb +94 -0
  236. data/lib/vapi_server_sdk/types/update_tool_call_block_dto_tool.rb +161 -0
  237. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto.rb +161 -0
  238. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_destinations_item.rb +121 -0
  239. data/lib/vapi_server_sdk/types/update_transfer_call_tool_dto_messages_item.rb +121 -0
  240. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +96 -0
  241. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  242. data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +11 -23
  243. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto.rb +163 -0
  244. data/lib/vapi_server_sdk/types/update_twilio_phone_number_dto_fallback_destination.rb +101 -0
  245. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto.rb +169 -0
  246. data/lib/vapi_server_sdk/types/update_vapi_phone_number_dto_fallback_destination.rb +101 -0
  247. data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +11 -23
  248. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto.rb +157 -0
  249. data/lib/vapi_server_sdk/types/update_vonage_phone_number_dto_fallback_destination.rb +101 -0
  250. data/lib/vapi_server_sdk/types/update_workflow_block_dto.rb +154 -0
  251. data/lib/vapi_server_sdk/types/update_workflow_block_dto_messages_item.rb +94 -0
  252. data/lib/vapi_server_sdk/types/update_workflow_block_dto_steps_item.rb +94 -0
  253. data/lib/vapi_server_sdk/types/update_workflow_dto.rb +82 -0
  254. data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +81 -0
  255. data/lib/vapi_server_sdk/types/update_x_ai_credential_dto.rb +4 -13
  256. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  257. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +25 -29
  258. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +25 -29
  259. data/lib/vapi_server_sdk/types/workflow.rb +125 -0
  260. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +81 -0
  261. metadata +116 -24
  262. data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +0 -96
  263. data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +0 -96
  264. data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +0 -163
  265. data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +0 -103
  266. data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +0 -122
  267. data/lib/vapi_server_sdk/types/auto_reload_plan_dto.rb +0 -65
  268. data/lib/vapi_server_sdk/types/hipaa_buy_dto.rb +0 -65
  269. data/lib/vapi_server_sdk/types/payment.rb +0 -167
  270. data/lib/vapi_server_sdk/types/payment_status.rb +0 -11
  271. data/lib/vapi_server_sdk/types/payments_paginated_response.rb +0 -75
  272. data/lib/vapi_server_sdk/types/subscription_coupon_add_dto.rb +0 -67
  273. data/lib/vapi_server_sdk/types/subscription_monthly_charge.rb +0 -65
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_workflow_block_dto_messages_item"
4
+ require_relative "json_schema"
5
+ require_relative "update_workflow_block_dto_steps_item"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class UpdateWorkflowBlockDto
11
+ # @return [Array<Vapi::UpdateWorkflowBlockDtoMessagesItem>] These are the pre-configured messages that will be spoken to the user while the
12
+ # block is running.
13
+ attr_reader :messages
14
+ # @return [Vapi::JsonSchema] This is the input schema for the block. This is the input the block needs to
15
+ # run. It's given to the block as `steps[0].input`
16
+ # These are accessible as variables:
17
+ # - ({{input.propertyName}}) in context of the block execution (step)
18
+ # - ({{stepName.input.propertyName}}) in context of the workflow
19
+ attr_reader :input_schema
20
+ # @return [Vapi::JsonSchema] This is the output schema for the block. This is the output the block will
21
+ # return to the workflow (`{{stepName.output}}`).
22
+ # These are accessible as variables:
23
+ # - ({{output.propertyName}}) in context of the block execution (step)
24
+ # - ({{stepName.output.propertyName}}) in context of the workflow (read caveat #1)
25
+ # - ({{blockName.output.propertyName}}) in context of the workflow (read caveat
26
+ # #2)
27
+ # Caveats:
28
+ # 1. a workflow can execute a step multiple times. example, if a loop is used in
29
+ # the graph. {{stepName.output.propertyName}} will reference the latest usage of
30
+ # the step.
31
+ # 2. a workflow can execute a block multiple times. example, if a step is called
32
+ # multiple times or if a block is used in multiple steps.
33
+ # {{blockName.output.propertyName}} will reference the latest usage of the block.
34
+ # this liquid variable is just provided for convenience when creating blocks
35
+ # outside of a workflow with steps.
36
+ attr_reader :output_schema
37
+ # @return [Array<Vapi::UpdateWorkflowBlockDtoStepsItem>] These are the steps in the workflow.
38
+ attr_reader :steps
39
+ # @return [String] This is the name of the block. This is just for your reference.
40
+ attr_reader :name
41
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
42
+ attr_reader :additional_properties
43
+ # @return [Object]
44
+ attr_reader :_field_set
45
+ protected :_field_set
46
+
47
+ OMIT = Object.new
48
+
49
+ # @param messages [Array<Vapi::UpdateWorkflowBlockDtoMessagesItem>] These are the pre-configured messages that will be spoken to the user while the
50
+ # block is running.
51
+ # @param input_schema [Vapi::JsonSchema] This is the input schema for the block. This is the input the block needs to
52
+ # run. It's given to the block as `steps[0].input`
53
+ # These are accessible as variables:
54
+ # - ({{input.propertyName}}) in context of the block execution (step)
55
+ # - ({{stepName.input.propertyName}}) in context of the workflow
56
+ # @param output_schema [Vapi::JsonSchema] This is the output schema for the block. This is the output the block will
57
+ # return to the workflow (`{{stepName.output}}`).
58
+ # These are accessible as variables:
59
+ # - ({{output.propertyName}}) in context of the block execution (step)
60
+ # - ({{stepName.output.propertyName}}) in context of the workflow (read caveat #1)
61
+ # - ({{blockName.output.propertyName}}) in context of the workflow (read caveat
62
+ # #2)
63
+ # Caveats:
64
+ # 1. a workflow can execute a step multiple times. example, if a loop is used in
65
+ # the graph. {{stepName.output.propertyName}} will reference the latest usage of
66
+ # the step.
67
+ # 2. a workflow can execute a block multiple times. example, if a step is called
68
+ # multiple times or if a block is used in multiple steps.
69
+ # {{blockName.output.propertyName}} will reference the latest usage of the block.
70
+ # this liquid variable is just provided for convenience when creating blocks
71
+ # outside of a workflow with steps.
72
+ # @param steps [Array<Vapi::UpdateWorkflowBlockDtoStepsItem>] These are the steps in the workflow.
73
+ # @param name [String] This is the name of the block. This is just for your reference.
74
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
75
+ # @return [Vapi::UpdateWorkflowBlockDto]
76
+ def initialize(messages: OMIT, input_schema: OMIT, output_schema: OMIT, steps: OMIT, name: OMIT,
77
+ additional_properties: nil)
78
+ @messages = messages if messages != OMIT
79
+ @input_schema = input_schema if input_schema != OMIT
80
+ @output_schema = output_schema if output_schema != OMIT
81
+ @steps = steps if steps != OMIT
82
+ @name = name if name != OMIT
83
+ @additional_properties = additional_properties
84
+ @_field_set = {
85
+ "messages": messages,
86
+ "inputSchema": input_schema,
87
+ "outputSchema": output_schema,
88
+ "steps": steps,
89
+ "name": name
90
+ }.reject do |_k, v|
91
+ v == OMIT
92
+ end
93
+ end
94
+
95
+ # Deserialize a JSON object to an instance of UpdateWorkflowBlockDto
96
+ #
97
+ # @param json_object [String]
98
+ # @return [Vapi::UpdateWorkflowBlockDto]
99
+ def self.from_json(json_object:)
100
+ struct = JSON.parse(json_object, object_class: OpenStruct)
101
+ parsed_json = JSON.parse(json_object)
102
+ messages = parsed_json["messages"]&.map do |item|
103
+ item = item.to_json
104
+ Vapi::UpdateWorkflowBlockDtoMessagesItem.from_json(json_object: item)
105
+ end
106
+ if parsed_json["inputSchema"].nil?
107
+ input_schema = nil
108
+ else
109
+ input_schema = parsed_json["inputSchema"].to_json
110
+ input_schema = Vapi::JsonSchema.from_json(json_object: input_schema)
111
+ end
112
+ if parsed_json["outputSchema"].nil?
113
+ output_schema = nil
114
+ else
115
+ output_schema = parsed_json["outputSchema"].to_json
116
+ output_schema = Vapi::JsonSchema.from_json(json_object: output_schema)
117
+ end
118
+ steps = parsed_json["steps"]&.map do |item|
119
+ item = item.to_json
120
+ Vapi::UpdateWorkflowBlockDtoStepsItem.from_json(json_object: item)
121
+ end
122
+ name = parsed_json["name"]
123
+ new(
124
+ messages: messages,
125
+ input_schema: input_schema,
126
+ output_schema: output_schema,
127
+ steps: steps,
128
+ name: name,
129
+ additional_properties: struct
130
+ )
131
+ end
132
+
133
+ # Serialize an instance of UpdateWorkflowBlockDto to a JSON object
134
+ #
135
+ # @return [String]
136
+ def to_json(*_args)
137
+ @_field_set&.to_json
138
+ end
139
+
140
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
141
+ # hash and check each fields type against the current object's property
142
+ # definitions.
143
+ #
144
+ # @param obj [Object]
145
+ # @return [Void]
146
+ def self.validate_raw(obj:)
147
+ obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
148
+ obj.input_schema.nil? || Vapi::JsonSchema.validate_raw(obj: obj.input_schema)
149
+ obj.output_schema.nil? || Vapi::JsonSchema.validate_raw(obj: obj.output_schema)
150
+ obj.steps&.is_a?(Array) != false || raise("Passed value for field obj.steps is not the expected type, validation failed.")
151
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "block_start_message"
5
+ require_relative "block_complete_message"
6
+
7
+ module Vapi
8
+ class UpdateWorkflowBlockDtoMessagesItem
9
+ # @return [Object]
10
+ attr_reader :member
11
+ # @return [String]
12
+ attr_reader :discriminant
13
+
14
+ private_class_method :new
15
+ alias kind_of? is_a?
16
+
17
+ # @param member [Object]
18
+ # @param discriminant [String]
19
+ # @return [Vapi::UpdateWorkflowBlockDtoMessagesItem]
20
+ def initialize(member:, discriminant:)
21
+ @member = member
22
+ @discriminant = discriminant
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of UpdateWorkflowBlockDtoMessagesItem
26
+ #
27
+ # @param json_object [String]
28
+ # @return [Vapi::UpdateWorkflowBlockDtoMessagesItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ member = case struct.type
32
+ when "block-start"
33
+ Vapi::BlockStartMessage.from_json(json_object: json_object)
34
+ when "block-complete"
35
+ Vapi::BlockCompleteMessage.from_json(json_object: json_object)
36
+ else
37
+ Vapi::BlockStartMessage.from_json(json_object: json_object)
38
+ end
39
+ new(member: member, discriminant: struct.type)
40
+ end
41
+
42
+ # For Union Types, to_json functionality is delegated to the wrapped member.
43
+ #
44
+ # @return [String]
45
+ def to_json(*_args)
46
+ case @discriminant
47
+ when "block-start"
48
+ { **@member.to_json, type: @discriminant }.to_json
49
+ when "block-complete"
50
+ { **@member.to_json, type: @discriminant }.to_json
51
+ else
52
+ { "type": @discriminant, value: @member }.to_json
53
+ end
54
+ @member.to_json
55
+ end
56
+
57
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
58
+ # hash and check each fields type against the current object's property
59
+ # definitions.
60
+ #
61
+ # @param obj [Object]
62
+ # @return [Void]
63
+ def self.validate_raw(obj:)
64
+ case obj.type
65
+ when "block-start"
66
+ Vapi::BlockStartMessage.validate_raw(obj: obj)
67
+ when "block-complete"
68
+ Vapi::BlockCompleteMessage.validate_raw(obj: obj)
69
+ else
70
+ raise("Passed value matched no type within the union, validation failed.")
71
+ end
72
+ end
73
+
74
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Boolean]
78
+ def is_a?(obj)
79
+ @member.is_a?(obj)
80
+ end
81
+
82
+ # @param member [Vapi::BlockStartMessage]
83
+ # @return [Vapi::UpdateWorkflowBlockDtoMessagesItem]
84
+ def self.block_start(member:)
85
+ new(member: member, discriminant: "block-start")
86
+ end
87
+
88
+ # @param member [Vapi::BlockCompleteMessage]
89
+ # @return [Vapi::UpdateWorkflowBlockDtoMessagesItem]
90
+ def self.block_complete(member:)
91
+ new(member: member, discriminant: "block-complete")
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "handoff_step"
5
+ require_relative "callback_step"
6
+
7
+ module Vapi
8
+ class UpdateWorkflowBlockDtoStepsItem
9
+ # @return [Object]
10
+ attr_reader :member
11
+ # @return [String]
12
+ attr_reader :discriminant
13
+
14
+ private_class_method :new
15
+ alias kind_of? is_a?
16
+
17
+ # @param member [Object]
18
+ # @param discriminant [String]
19
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
20
+ def initialize(member:, discriminant:)
21
+ @member = member
22
+ @discriminant = discriminant
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of UpdateWorkflowBlockDtoStepsItem
26
+ #
27
+ # @param json_object [String]
28
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ member = case struct.type
32
+ when "handoff"
33
+ Vapi::HandoffStep.from_json(json_object: json_object)
34
+ when "callback"
35
+ Vapi::CallbackStep.from_json(json_object: json_object)
36
+ else
37
+ Vapi::HandoffStep.from_json(json_object: json_object)
38
+ end
39
+ new(member: member, discriminant: struct.type)
40
+ end
41
+
42
+ # For Union Types, to_json functionality is delegated to the wrapped member.
43
+ #
44
+ # @return [String]
45
+ def to_json(*_args)
46
+ case @discriminant
47
+ when "handoff"
48
+ { **@member.to_json, type: @discriminant }.to_json
49
+ when "callback"
50
+ { **@member.to_json, type: @discriminant }.to_json
51
+ else
52
+ { "type": @discriminant, value: @member }.to_json
53
+ end
54
+ @member.to_json
55
+ end
56
+
57
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
58
+ # hash and check each fields type against the current object's property
59
+ # definitions.
60
+ #
61
+ # @param obj [Object]
62
+ # @return [Void]
63
+ def self.validate_raw(obj:)
64
+ case obj.type
65
+ when "handoff"
66
+ Vapi::HandoffStep.validate_raw(obj: obj)
67
+ when "callback"
68
+ Vapi::CallbackStep.validate_raw(obj: obj)
69
+ else
70
+ raise("Passed value matched no type within the union, validation failed.")
71
+ end
72
+ end
73
+
74
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Boolean]
78
+ def is_a?(obj)
79
+ @member.is_a?(obj)
80
+ end
81
+
82
+ # @param member [Vapi::HandoffStep]
83
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
84
+ def self.handoff(member:)
85
+ new(member: member, discriminant: "handoff")
86
+ end
87
+
88
+ # @param member [Vapi::CallbackStep]
89
+ # @return [Vapi::UpdateWorkflowBlockDtoStepsItem]
90
+ def self.callback(member:)
91
+ new(member: member, discriminant: "callback")
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "update_workflow_dto_nodes_item"
4
+ require_relative "edge"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class UpdateWorkflowDto
10
+ # @return [Array<Vapi::UpdateWorkflowDtoNodesItem>]
11
+ attr_reader :nodes
12
+ # @return [String]
13
+ attr_reader :name
14
+ # @return [Array<Vapi::Edge>]
15
+ attr_reader :edges
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param nodes [Array<Vapi::UpdateWorkflowDtoNodesItem>]
25
+ # @param name [String]
26
+ # @param edges [Array<Vapi::Edge>]
27
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
+ # @return [Vapi::UpdateWorkflowDto]
29
+ def initialize(nodes: OMIT, name: OMIT, edges: OMIT, additional_properties: nil)
30
+ @nodes = nodes if nodes != OMIT
31
+ @name = name if name != OMIT
32
+ @edges = edges if edges != OMIT
33
+ @additional_properties = additional_properties
34
+ @_field_set = { "nodes": nodes, "name": name, "edges": edges }.reject do |_k, v|
35
+ v == OMIT
36
+ end
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of UpdateWorkflowDto
40
+ #
41
+ # @param json_object [String]
42
+ # @return [Vapi::UpdateWorkflowDto]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ parsed_json = JSON.parse(json_object)
46
+ nodes = parsed_json["nodes"]&.map do |item|
47
+ item = item.to_json
48
+ Vapi::UpdateWorkflowDtoNodesItem.from_json(json_object: item)
49
+ end
50
+ name = parsed_json["name"]
51
+ edges = parsed_json["edges"]&.map do |item|
52
+ item = item.to_json
53
+ Vapi::Edge.from_json(json_object: item)
54
+ end
55
+ new(
56
+ nodes: nodes,
57
+ name: name,
58
+ edges: edges,
59
+ additional_properties: struct
60
+ )
61
+ end
62
+
63
+ # Serialize an instance of UpdateWorkflowDto to a JSON object
64
+ #
65
+ # @return [String]
66
+ def to_json(*_args)
67
+ @_field_set&.to_json
68
+ end
69
+
70
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
71
+ # hash and check each fields type against the current object's property
72
+ # definitions.
73
+ #
74
+ # @param obj [Object]
75
+ # @return [Void]
76
+ def self.validate_raw(obj:)
77
+ obj.nodes&.is_a?(Array) != false || raise("Passed value for field obj.nodes is not the expected type, validation failed.")
78
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
79
+ obj.edges&.is_a?(Array) != false || raise("Passed value for field obj.edges is not the expected type, validation failed.")
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "say"
5
+ require_relative "gather"
6
+ require_relative "create_workflow_dto"
7
+
8
+ module Vapi
9
+ class UpdateWorkflowDtoNodesItem
10
+ # Deserialize a JSON object to an instance of UpdateWorkflowDtoNodesItem
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Vapi::UpdateWorkflowDtoNodesItem]
14
+ def self.from_json(json_object:)
15
+ struct = JSON.parse(json_object, object_class: OpenStruct)
16
+ begin
17
+ Vapi::Say.validate_raw(obj: struct)
18
+ return Vapi::Say.from_json(json_object: struct) unless struct.nil?
19
+
20
+ return nil
21
+ rescue StandardError
22
+ # noop
23
+ end
24
+ begin
25
+ Vapi::Gather.validate_raw(obj: struct)
26
+ return Vapi::Gather.from_json(json_object: struct) unless struct.nil?
27
+
28
+ return nil
29
+ rescue StandardError
30
+ # noop
31
+ end
32
+ begin
33
+ struct.is_a?(Object) != false || raise("Passed value for field struct is not the expected type, validation failed.")
34
+ return struct unless struct.nil?
35
+
36
+ return nil
37
+ rescue StandardError
38
+ # noop
39
+ end
40
+ begin
41
+ Vapi::CreateWorkflowDto.validate_raw(obj: struct)
42
+ return Vapi::CreateWorkflowDto.from_json(json_object: struct) unless struct.nil?
43
+
44
+ return nil
45
+ rescue StandardError
46
+ # noop
47
+ end
48
+ struct
49
+ end
50
+
51
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
52
+ # hash and check each fields type against the current object's property
53
+ # definitions.
54
+ #
55
+ # @param obj [Object]
56
+ # @return [Void]
57
+ def self.validate_raw(obj:)
58
+ begin
59
+ return Vapi::Say.validate_raw(obj: obj)
60
+ rescue StandardError
61
+ # noop
62
+ end
63
+ begin
64
+ return Vapi::Gather.validate_raw(obj: obj)
65
+ rescue StandardError
66
+ # noop
67
+ end
68
+ begin
69
+ return obj.is_a?(Object) != false || raise("Passed value for field obj is not the expected type, validation failed.")
70
+ rescue StandardError
71
+ # noop
72
+ end
73
+ begin
74
+ return Vapi::CreateWorkflowDto.validate_raw(obj: obj)
75
+ rescue StandardError
76
+ # noop
77
+ end
78
+ raise("Passed value matched no type within the union, validation failed.")
79
+ end
80
+ end
81
+ end
@@ -5,9 +5,6 @@ require "json"
5
5
 
6
6
  module Vapi
7
7
  class UpdateXAiCredentialDto
8
- # @return [String] This is the api key for Grok in XAi's console. Get it from here:
9
- # https://console.x.ai
10
- attr_reader :provider
11
8
  # @return [String] This is not returned in the API.
12
9
  attr_reader :api_key
13
10
  # @return [String] This is the name of credential. This is just for your reference.
@@ -20,18 +17,15 @@ module Vapi
20
17
 
21
18
  OMIT = Object.new
22
19
 
23
- # @param provider [String] This is the api key for Grok in XAi's console. Get it from here:
24
- # https://console.x.ai
25
20
  # @param api_key [String] This is not returned in the API.
26
21
  # @param name [String] This is the name of credential. This is just for your reference.
27
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
23
  # @return [Vapi::UpdateXAiCredentialDto]
29
- def initialize(provider:, api_key:, name: OMIT, additional_properties: nil)
30
- @provider = provider
31
- @api_key = api_key
24
+ def initialize(api_key: OMIT, name: OMIT, additional_properties: nil)
25
+ @api_key = api_key if api_key != OMIT
32
26
  @name = name if name != OMIT
33
27
  @additional_properties = additional_properties
34
- @_field_set = { "provider": provider, "apiKey": api_key, "name": name }.reject do |_k, v|
28
+ @_field_set = { "apiKey": api_key, "name": name }.reject do |_k, v|
35
29
  v == OMIT
36
30
  end
37
31
  end
@@ -43,11 +37,9 @@ module Vapi
43
37
  def self.from_json(json_object:)
44
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
45
39
  parsed_json = JSON.parse(json_object)
46
- provider = parsed_json["provider"]
47
40
  api_key = parsed_json["apiKey"]
48
41
  name = parsed_json["name"]
49
42
  new(
50
- provider: provider,
51
43
  api_key: api_key,
52
44
  name: name,
53
45
  additional_properties: struct
@@ -68,8 +60,7 @@ module Vapi
68
60
  # @param obj [Object]
69
61
  # @return [Void]
70
62
  def self.validate_raw(obj:)
71
- obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
72
- obj.api_key.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
63
+ obj.api_key&.is_a?(String) != false || raise("Passed value for field obj.api_key is not the expected type, validation failed.")
73
64
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
74
65
  end
75
66
  end
@@ -4,6 +4,7 @@ require_relative "open_ai_message"
4
4
  require_relative "vapi_model_tools_item"
5
5
  require_relative "create_custom_knowledge_base_dto"
6
6
  require_relative "vapi_model_steps_item"
7
+ require_relative "workflow"
7
8
  require "ostruct"
8
9
  require "json"
9
10
 
@@ -25,6 +26,12 @@ module Vapi
25
26
  attr_reader :knowledge_base_id
26
27
  # @return [Array<Vapi::VapiModelStepsItem>]
27
28
  attr_reader :steps
29
+ # @return [String] This is the workflow that will be used for the call. To use a transient
30
+ # workflow, use `workflow` instead.
31
+ attr_reader :workflow_id
32
+ # @return [Vapi::Workflow] This is the workflow that will be used for the call. To use an existing
33
+ # workflow, use `workflowId` instead.
34
+ attr_reader :workflow
28
35
  # @return [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
29
36
  attr_reader :model
30
37
  # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
@@ -63,6 +70,10 @@ module Vapi
63
70
  # @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
64
71
  # @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
65
72
  # @param steps [Array<Vapi::VapiModelStepsItem>]
73
+ # @param workflow_id [String] This is the workflow that will be used for the call. To use a transient
74
+ # workflow, use `workflow` instead.
75
+ # @param workflow [Vapi::Workflow] This is the workflow that will be used for the call. To use an existing
76
+ # workflow, use `workflowId` instead.
66
77
  # @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
67
78
  # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
68
79
  # caching for lower latency.
@@ -81,13 +92,15 @@ module Vapi
81
92
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
93
  # @return [Vapi::VapiModel]
83
94
  def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
84
- steps: OMIT, temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
95
+ steps: OMIT, workflow_id: OMIT, workflow: OMIT, temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
85
96
  @messages = messages if messages != OMIT
86
97
  @tools = tools if tools != OMIT
87
98
  @tool_ids = tool_ids if tool_ids != OMIT
88
99
  @knowledge_base = knowledge_base if knowledge_base != OMIT
89
100
  @knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
90
101
  @steps = steps if steps != OMIT
102
+ @workflow_id = workflow_id if workflow_id != OMIT
103
+ @workflow = workflow if workflow != OMIT
91
104
  @model = model
92
105
  @temperature = temperature if temperature != OMIT
93
106
  @max_tokens = max_tokens if max_tokens != OMIT
@@ -101,6 +114,8 @@ module Vapi
101
114
  "knowledgeBase": knowledge_base,
102
115
  "knowledgeBaseId": knowledge_base_id,
103
116
  "steps": steps,
117
+ "workflowId": workflow_id,
118
+ "workflow": workflow,
104
119
  "model": model,
105
120
  "temperature": temperature,
106
121
  "maxTokens": max_tokens,
@@ -138,6 +153,13 @@ module Vapi
138
153
  item = item.to_json
139
154
  Vapi::VapiModelStepsItem.from_json(json_object: item)
140
155
  end
156
+ workflow_id = parsed_json["workflowId"]
157
+ if parsed_json["workflow"].nil?
158
+ workflow = nil
159
+ else
160
+ workflow = parsed_json["workflow"].to_json
161
+ workflow = Vapi::Workflow.from_json(json_object: workflow)
162
+ end
141
163
  model = parsed_json["model"]
142
164
  temperature = parsed_json["temperature"]
143
165
  max_tokens = parsed_json["maxTokens"]
@@ -150,6 +172,8 @@ module Vapi
150
172
  knowledge_base: knowledge_base,
151
173
  knowledge_base_id: knowledge_base_id,
152
174
  steps: steps,
175
+ workflow_id: workflow_id,
176
+ workflow: workflow,
153
177
  model: model,
154
178
  temperature: temperature,
155
179
  max_tokens: max_tokens,
@@ -179,6 +203,8 @@ module Vapi
179
203
  obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
180
204
  obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
181
205
  obj.steps&.is_a?(Array) != false || raise("Passed value for field obj.steps is not the expected type, validation failed.")
206
+ obj.workflow_id&.is_a?(String) != false || raise("Passed value for field obj.workflow_id is not the expected type, validation failed.")
207
+ obj.workflow.nil? || Vapi::Workflow.validate_raw(obj: obj.workflow)
182
208
  obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
183
209
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
184
210
  obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")