vapi_server_sdk 0.3.0 → 0.5.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +83 -12
  4. data/lib/vapi_server_sdk/analytics/client.rb +41 -26
  5. data/lib/vapi_server_sdk/assistants/client.rb +84 -84
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/blocks/client.rb +0 -70
  8. data/lib/vapi_server_sdk/calls/client.rb +110 -76
  9. data/lib/vapi_server_sdk/files/client.rb +0 -70
  10. data/lib/vapi_server_sdk/knowledge_bases/client.rb +0 -70
  11. data/lib/vapi_server_sdk/logs/client.rb +15 -46
  12. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  13. data/lib/vapi_server_sdk/phone_numbers/client.rb +0 -70
  14. data/lib/vapi_server_sdk/squads/client.rb +136 -78
  15. data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
  16. data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
  17. data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
  18. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
  19. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
  20. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
  21. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
  22. data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
  23. data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
  24. data/lib/vapi_server_sdk/tools/client.rb +0 -70
  25. data/lib/vapi_server_sdk/types/ai_edge_condition.rb +55 -0
  26. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  27. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
  28. data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
  29. data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
  30. data/lib/vapi_server_sdk/types/api_request.rb +165 -0
  31. data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
  32. data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
  33. data/lib/vapi_server_sdk/types/artifact.rb +12 -2
  34. data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
  35. data/lib/vapi_server_sdk/types/assistant.rb +27 -13
  36. data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
  37. data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
  38. data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
  39. data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
  40. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  41. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/azure_credential_region.rb +4 -2
  43. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +4 -2
  45. data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
  46. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  47. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  48. data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
  49. data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
  50. data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
  51. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
  52. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
  53. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
  54. data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
  55. data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
  56. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
  57. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
  58. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  59. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  60. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
  61. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
  62. data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
  63. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
  64. data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
  65. data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
  66. data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
  67. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
  68. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
  69. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
  70. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  71. data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
  72. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
  73. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
  74. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
  75. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
  76. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
  77. data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
  78. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  79. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  80. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
  81. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  82. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +4 -2
  83. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  84. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +4 -2
  85. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  86. data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
  87. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  88. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  89. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
  90. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +80 -0
  91. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +133 -0
  92. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  93. data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
  94. data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
  95. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
  96. data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
  97. data/lib/vapi_server_sdk/types/edge.rb +87 -0
  98. data/lib/vapi_server_sdk/types/edge_condition.rb +107 -0
  99. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
  100. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
  101. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
  102. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
  103. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
  104. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
  105. data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
  106. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
  107. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  108. data/lib/vapi_server_sdk/types/gather.rb +143 -0
  109. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  110. data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
  111. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
  112. data/lib/vapi_server_sdk/types/hangup.rb +67 -0
  113. data/lib/vapi_server_sdk/types/hook.rb +70 -0
  114. data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
  115. data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/json_schema.rb +37 -2
  117. data/lib/vapi_server_sdk/types/log.rb +18 -18
  118. data/lib/vapi_server_sdk/types/logic_edge_condition.rb +55 -0
  119. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  120. data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
  121. data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
  122. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  123. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  124. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
  125. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
  126. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
  127. data/lib/vapi_server_sdk/types/say.rb +81 -0
  128. data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
  129. data/lib/vapi_server_sdk/types/server.rb +17 -2
  130. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
  131. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
  132. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
  133. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
  134. data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
  135. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
  136. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
  137. data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
  138. data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
  139. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
  140. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
  141. data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
  142. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
  143. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
  144. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  145. data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
  146. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
  147. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
  148. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
  149. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
  150. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
  151. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
  152. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
  153. data/lib/vapi_server_sdk/types/subscription.rb +44 -14
  154. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  155. data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
  156. data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
  157. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
  158. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
  159. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
  160. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
  161. data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
  162. data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
  163. data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
  164. data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
  165. data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
  166. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
  167. data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
  168. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  169. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  170. data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
  171. data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
  172. data/lib/vapi_server_sdk/types/transfer.rb +74 -0
  173. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
  174. data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
  175. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
  176. data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
  177. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
  178. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  179. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  180. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  181. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  182. data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +55 -0
  183. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +21 -12
  184. 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
  185. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
  186. data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
  187. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +4 -2
  188. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  189. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +4 -2
  190. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +2 -4
  191. data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
  192. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +34 -47
  193. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  194. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  195. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
  196. data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
  197. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
  198. data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
  199. data/lib/vapi_server_sdk/types/workflow.rb +117 -0
  200. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +133 -0
  201. data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
  202. data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
  203. data/lib/vapi_server_sdk.rb +21 -0
  204. metadata +85 -11
  205. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
  206. data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
  207. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
  208. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +0 -9
@@ -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.")
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "vapi_phone_number_fallback_destination"
4
4
  require "date"
5
+ require_relative "vapi_phone_number_status"
5
6
  require_relative "server"
6
7
  require_relative "sip_authentication"
7
8
  require "ostruct"
@@ -24,6 +25,10 @@ module Vapi
24
25
  attr_reader :created_at
25
26
  # @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
26
27
  attr_reader :updated_at
28
+ # @return [Vapi::VapiPhoneNumberStatus] This is the status of the phone number.
29
+ attr_reader :status
30
+ # @return [String] These are the digits of the phone number you purchased from Vapi.
31
+ attr_reader :number
27
32
  # @return [String] This is the name of the phone number. This is just for your own reference.
28
33
  attr_reader :name
29
34
  # @return [String] This is the assistant that will be used for incoming calls to this phone number.
@@ -43,6 +48,8 @@ module Vapi
43
48
  # 2. phoneNumber.server
44
49
  # 3. org.server
45
50
  attr_reader :server
51
+ # @return [String] This is the area code of the phone number to purchase.
52
+ attr_reader :number_desired_area_code
46
53
  # @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
47
54
  # attached to this number will answer.
48
55
  # This is case-insensitive.
@@ -69,6 +76,8 @@ module Vapi
69
76
  # @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
70
77
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
71
78
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
79
+ # @param status [Vapi::VapiPhoneNumberStatus] This is the status of the phone number.
80
+ # @param number [String] These are the digits of the phone number you purchased from Vapi.
72
81
  # @param name [String] This is the name of the phone number. This is just for your own reference.
73
82
  # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
74
83
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
@@ -84,6 +93,7 @@ module Vapi
84
93
  # 1. assistant.server
85
94
  # 2. phoneNumber.server
86
95
  # 3. org.server
96
+ # @param number_desired_area_code [String] This is the area code of the phone number to purchase.
87
97
  # @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
88
98
  # attached to this number will answer.
89
99
  # This is case-insensitive.
@@ -92,18 +102,21 @@ module Vapi
92
102
  # accepted.
93
103
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
94
104
  # @return [Vapi::VapiPhoneNumber]
95
- def initialize(id:, org_id:, created_at:, updated_at:, sip_uri:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
96
- squad_id: OMIT, server: OMIT, authentication: OMIT, additional_properties: nil)
105
+ def initialize(id:, org_id:, created_at:, updated_at:, fallback_destination: OMIT, status: OMIT, number: OMIT,
106
+ name: OMIT, assistant_id: OMIT, squad_id: OMIT, server: OMIT, number_desired_area_code: OMIT, sip_uri: OMIT, authentication: OMIT, additional_properties: nil)
97
107
  @fallback_destination = fallback_destination if fallback_destination != OMIT
98
108
  @id = id
99
109
  @org_id = org_id
100
110
  @created_at = created_at
101
111
  @updated_at = updated_at
112
+ @status = status if status != OMIT
113
+ @number = number if number != OMIT
102
114
  @name = name if name != OMIT
103
115
  @assistant_id = assistant_id if assistant_id != OMIT
104
116
  @squad_id = squad_id if squad_id != OMIT
105
117
  @server = server if server != OMIT
106
- @sip_uri = sip_uri
118
+ @number_desired_area_code = number_desired_area_code if number_desired_area_code != OMIT
119
+ @sip_uri = sip_uri if sip_uri != OMIT
107
120
  @authentication = authentication if authentication != OMIT
108
121
  @additional_properties = additional_properties
109
122
  @_field_set = {
@@ -112,10 +125,13 @@ module Vapi
112
125
  "orgId": org_id,
113
126
  "createdAt": created_at,
114
127
  "updatedAt": updated_at,
128
+ "status": status,
129
+ "number": number,
115
130
  "name": name,
116
131
  "assistantId": assistant_id,
117
132
  "squadId": squad_id,
118
133
  "server": server,
134
+ "numberDesiredAreaCode": number_desired_area_code,
119
135
  "sipUri": sip_uri,
120
136
  "authentication": authentication
121
137
  }.reject do |_k, v|
@@ -140,6 +156,8 @@ module Vapi
140
156
  org_id = parsed_json["orgId"]
141
157
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
142
158
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
159
+ status = parsed_json["status"]
160
+ number = parsed_json["number"]
143
161
  name = parsed_json["name"]
144
162
  assistant_id = parsed_json["assistantId"]
145
163
  squad_id = parsed_json["squadId"]
@@ -149,6 +167,7 @@ module Vapi
149
167
  server = parsed_json["server"].to_json
150
168
  server = Vapi::Server.from_json(json_object: server)
151
169
  end
170
+ number_desired_area_code = parsed_json["numberDesiredAreaCode"]
152
171
  sip_uri = parsed_json["sipUri"]
153
172
  if parsed_json["authentication"].nil?
154
173
  authentication = nil
@@ -162,10 +181,13 @@ module Vapi
162
181
  org_id: org_id,
163
182
  created_at: created_at,
164
183
  updated_at: updated_at,
184
+ status: status,
185
+ number: number,
165
186
  name: name,
166
187
  assistant_id: assistant_id,
167
188
  squad_id: squad_id,
168
189
  server: server,
190
+ number_desired_area_code: number_desired_area_code,
169
191
  sip_uri: sip_uri,
170
192
  authentication: authentication,
171
193
  additional_properties: struct
@@ -191,11 +213,14 @@ module Vapi
191
213
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
192
214
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
193
215
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
216
+ obj.status&.is_a?(Vapi::VapiPhoneNumberStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
217
+ obj.number&.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.")
194
218
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
195
219
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
196
220
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
197
221
  obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
198
- obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
222
+ obj.number_desired_area_code&.is_a?(String) != false || raise("Passed value for field obj.number_desired_area_code is not the expected type, validation failed.")
223
+ obj.sip_uri&.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
199
224
  obj.authentication.nil? || Vapi::SipAuthentication.validate_raw(obj: obj.authentication)
200
225
  end
201
226
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the status of the phone number.
5
+ class VapiPhoneNumberStatus
6
+ ACTIVE = "active"
7
+ ACTIVATING = "activating"
8
+ BLOCKED = "blocked"
9
+ end
10
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "vonage_phone_number_fallback_destination"
4
4
  require "date"
5
+ require_relative "vonage_phone_number_status"
5
6
  require_relative "server"
6
7
  require "ostruct"
7
8
  require "json"
@@ -23,6 +24,8 @@ module Vapi
23
24
  attr_reader :created_at
24
25
  # @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
25
26
  attr_reader :updated_at
27
+ # @return [Vapi::VonagePhoneNumberStatus] This is the status of the phone number.
28
+ attr_reader :status
26
29
  # @return [String] This is the name of the phone number. This is just for your own reference.
27
30
  attr_reader :name
28
31
  # @return [String] This is the assistant that will be used for incoming calls to this phone number.
@@ -65,6 +68,7 @@ module Vapi
65
68
  # @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
66
69
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
67
70
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
71
+ # @param status [Vapi::VonagePhoneNumberStatus] This is the status of the phone number.
68
72
  # @param name [String] This is the name of the phone number. This is just for your own reference.
69
73
  # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
70
74
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
@@ -85,13 +89,14 @@ module Vapi
85
89
  # like call transfer and hang up.
86
90
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
87
91
  # @return [Vapi::VonagePhoneNumber]
88
- def initialize(id:, org_id:, created_at:, updated_at:, number:, credential_id:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
89
- squad_id: OMIT, server: OMIT, additional_properties: nil)
92
+ def initialize(id:, org_id:, created_at:, updated_at:, number:, credential_id:, fallback_destination: OMIT, status: OMIT, name: OMIT,
93
+ assistant_id: OMIT, squad_id: OMIT, server: OMIT, additional_properties: nil)
90
94
  @fallback_destination = fallback_destination if fallback_destination != OMIT
91
95
  @id = id
92
96
  @org_id = org_id
93
97
  @created_at = created_at
94
98
  @updated_at = updated_at
99
+ @status = status if status != OMIT
95
100
  @name = name if name != OMIT
96
101
  @assistant_id = assistant_id if assistant_id != OMIT
97
102
  @squad_id = squad_id if squad_id != OMIT
@@ -105,6 +110,7 @@ module Vapi
105
110
  "orgId": org_id,
106
111
  "createdAt": created_at,
107
112
  "updatedAt": updated_at,
113
+ "status": status,
108
114
  "name": name,
109
115
  "assistantId": assistant_id,
110
116
  "squadId": squad_id,
@@ -133,6 +139,7 @@ module Vapi
133
139
  org_id = parsed_json["orgId"]
134
140
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
135
141
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
142
+ status = parsed_json["status"]
136
143
  name = parsed_json["name"]
137
144
  assistant_id = parsed_json["assistantId"]
138
145
  squad_id = parsed_json["squadId"]
@@ -150,6 +157,7 @@ module Vapi
150
157
  org_id: org_id,
151
158
  created_at: created_at,
152
159
  updated_at: updated_at,
160
+ status: status,
153
161
  name: name,
154
162
  assistant_id: assistant_id,
155
163
  squad_id: squad_id,
@@ -179,6 +187,7 @@ module Vapi
179
187
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
180
188
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
181
189
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
190
+ obj.status&.is_a?(Vapi::VonagePhoneNumberStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
182
191
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
183
192
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
184
193
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the status of the phone number.
5
+ class VonagePhoneNumberStatus
6
+ ACTIVE = "active"
7
+ ACTIVATING = "activating"
8
+ BLOCKED = "blocked"
9
+ end
10
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "workflow_nodes_item"
4
+ require "date"
5
+ require_relative "edge"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module Vapi
10
+ class Workflow
11
+ # @return [Array<Vapi::WorkflowNodesItem>]
12
+ attr_reader :nodes
13
+ # @return [String]
14
+ attr_reader :id
15
+ # @return [String]
16
+ attr_reader :org_id
17
+ # @return [DateTime]
18
+ attr_reader :created_at
19
+ # @return [DateTime]
20
+ attr_reader :updated_at
21
+ # @return [String]
22
+ attr_reader :name
23
+ # @return [Array<Vapi::Edge>]
24
+ attr_reader :edges
25
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
26
+ attr_reader :additional_properties
27
+ # @return [Object]
28
+ attr_reader :_field_set
29
+ protected :_field_set
30
+
31
+ OMIT = Object.new
32
+
33
+ # @param nodes [Array<Vapi::WorkflowNodesItem>]
34
+ # @param id [String]
35
+ # @param org_id [String]
36
+ # @param created_at [DateTime]
37
+ # @param updated_at [DateTime]
38
+ # @param name [String]
39
+ # @param edges [Array<Vapi::Edge>]
40
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
+ # @return [Vapi::Workflow]
42
+ def initialize(nodes:, id:, org_id:, created_at:, updated_at:, name:, edges:, additional_properties: nil)
43
+ @nodes = nodes
44
+ @id = id
45
+ @org_id = org_id
46
+ @created_at = created_at
47
+ @updated_at = updated_at
48
+ @name = name
49
+ @edges = edges
50
+ @additional_properties = additional_properties
51
+ @_field_set = {
52
+ "nodes": nodes,
53
+ "id": id,
54
+ "orgId": org_id,
55
+ "createdAt": created_at,
56
+ "updatedAt": updated_at,
57
+ "name": name,
58
+ "edges": edges
59
+ }
60
+ end
61
+
62
+ # Deserialize a JSON object to an instance of Workflow
63
+ #
64
+ # @param json_object [String]
65
+ # @return [Vapi::Workflow]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ nodes = parsed_json["nodes"]&.map do |item|
70
+ item = item.to_json
71
+ Vapi::WorkflowNodesItem.from_json(json_object: item)
72
+ end
73
+ id = parsed_json["id"]
74
+ org_id = parsed_json["orgId"]
75
+ created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
76
+ updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
77
+ name = parsed_json["name"]
78
+ edges = parsed_json["edges"]&.map do |item|
79
+ item = item.to_json
80
+ Vapi::Edge.from_json(json_object: item)
81
+ end
82
+ new(
83
+ nodes: nodes,
84
+ id: id,
85
+ org_id: org_id,
86
+ created_at: created_at,
87
+ updated_at: updated_at,
88
+ name: name,
89
+ edges: edges,
90
+ additional_properties: struct
91
+ )
92
+ end
93
+
94
+ # Serialize an instance of Workflow to a JSON object
95
+ #
96
+ # @return [String]
97
+ def to_json(*_args)
98
+ @_field_set&.to_json
99
+ end
100
+
101
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
102
+ # hash and check each fields type against the current object's property
103
+ # definitions.
104
+ #
105
+ # @param obj [Object]
106
+ # @return [Void]
107
+ def self.validate_raw(obj:)
108
+ obj.nodes.is_a?(Array) != false || raise("Passed value for field obj.nodes is not the expected type, validation failed.")
109
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
110
+ obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
111
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
112
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
113
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
114
+ obj.edges.is_a?(Array) != false || raise("Passed value for field obj.edges is not the expected type, validation failed.")
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "say"
5
+ require_relative "gather"
6
+ require_relative "api_request"
7
+ require_relative "hangup"
8
+ require_relative "transfer"
9
+
10
+ module Vapi
11
+ class WorkflowNodesItem
12
+ # @return [Object]
13
+ attr_reader :member
14
+ # @return [String]
15
+ attr_reader :discriminant
16
+
17
+ private_class_method :new
18
+ alias kind_of? is_a?
19
+
20
+ # @param member [Object]
21
+ # @param discriminant [String]
22
+ # @return [Vapi::WorkflowNodesItem]
23
+ def initialize(member:, discriminant:)
24
+ @member = member
25
+ @discriminant = discriminant
26
+ end
27
+
28
+ # Deserialize a JSON object to an instance of WorkflowNodesItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::WorkflowNodesItem]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "say"
36
+ Vapi::Say.from_json(json_object: json_object)
37
+ when "gather"
38
+ Vapi::Gather.from_json(json_object: json_object)
39
+ when "apiRequest"
40
+ Vapi::ApiRequest.from_json(json_object: json_object)
41
+ when "hangup"
42
+ Vapi::Hangup.from_json(json_object: json_object)
43
+ when "transfer"
44
+ Vapi::Transfer.from_json(json_object: json_object)
45
+ else
46
+ Vapi::Say.from_json(json_object: json_object)
47
+ end
48
+ new(member: member, discriminant: struct.type)
49
+ end
50
+
51
+ # For Union Types, to_json functionality is delegated to the wrapped member.
52
+ #
53
+ # @return [String]
54
+ def to_json(*_args)
55
+ case @discriminant
56
+ when "say"
57
+ { **@member.to_json, type: @discriminant }.to_json
58
+ when "gather"
59
+ { **@member.to_json, type: @discriminant }.to_json
60
+ when "apiRequest"
61
+ { **@member.to_json, type: @discriminant }.to_json
62
+ when "hangup"
63
+ { **@member.to_json, type: @discriminant }.to_json
64
+ when "transfer"
65
+ { **@member.to_json, type: @discriminant }.to_json
66
+ else
67
+ { "type": @discriminant, value: @member }.to_json
68
+ end
69
+ @member.to_json
70
+ end
71
+
72
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
73
+ # hash and check each fields type against the current object's property
74
+ # definitions.
75
+ #
76
+ # @param obj [Object]
77
+ # @return [Void]
78
+ def self.validate_raw(obj:)
79
+ case obj.type
80
+ when "say"
81
+ Vapi::Say.validate_raw(obj: obj)
82
+ when "gather"
83
+ Vapi::Gather.validate_raw(obj: obj)
84
+ when "apiRequest"
85
+ Vapi::ApiRequest.validate_raw(obj: obj)
86
+ when "hangup"
87
+ Vapi::Hangup.validate_raw(obj: obj)
88
+ when "transfer"
89
+ Vapi::Transfer.validate_raw(obj: obj)
90
+ else
91
+ raise("Passed value matched no type within the union, validation failed.")
92
+ end
93
+ end
94
+
95
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
96
+ #
97
+ # @param obj [Object]
98
+ # @return [Boolean]
99
+ def is_a?(obj)
100
+ @member.is_a?(obj)
101
+ end
102
+
103
+ # @param member [Vapi::Say]
104
+ # @return [Vapi::WorkflowNodesItem]
105
+ def self.say(member:)
106
+ new(member: member, discriminant: "say")
107
+ end
108
+
109
+ # @param member [Vapi::Gather]
110
+ # @return [Vapi::WorkflowNodesItem]
111
+ def self.gather(member:)
112
+ new(member: member, discriminant: "gather")
113
+ end
114
+
115
+ # @param member [Vapi::ApiRequest]
116
+ # @return [Vapi::WorkflowNodesItem]
117
+ def self.api_request(member:)
118
+ new(member: member, discriminant: "apiRequest")
119
+ end
120
+
121
+ # @param member [Vapi::Hangup]
122
+ # @return [Vapi::WorkflowNodesItem]
123
+ def self.hangup(member:)
124
+ new(member: member, discriminant: "hangup")
125
+ end
126
+
127
+ # @param member [Vapi::Transfer]
128
+ # @return [Vapi::WorkflowNodesItem]
129
+ def self.transfer(member:)
130
+ new(member: member, discriminant: "transfer")
131
+ end
132
+ end
133
+ end
@@ -3,6 +3,7 @@
3
3
  require_relative "open_ai_message"
4
4
  require_relative "xai_model_tools_item"
5
5
  require_relative "create_custom_knowledge_base_dto"
6
+ require_relative "xai_model_model"
6
7
  require "ostruct"
7
8
  require "json"
8
9
 
@@ -22,7 +23,7 @@ module Vapi
22
23
  attr_reader :knowledge_base
23
24
  # @return [String] This is the ID of the knowledge base the model will use.
24
25
  attr_reader :knowledge_base_id
25
- # @return [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
26
+ # @return [Vapi::XaiModelModel] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
26
27
  attr_reader :model
27
28
  # @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
28
29
  # caching for lower latency.
@@ -59,7 +60,7 @@ module Vapi
59
60
  # Both `tools` and `toolIds` can be used together.
60
61
  # @param knowledge_base [Vapi::CreateCustomKnowledgeBaseDto] These are the options for the knowledge base.
61
62
  # @param knowledge_base_id [String] This is the ID of the knowledge base the model will use.
62
- # @param model [String] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
63
+ # @param model [Vapi::XaiModelModel] This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
63
64
  # @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
64
65
  # caching for lower latency.
65
66
  # @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
@@ -167,7 +168,7 @@ module Vapi
167
168
  obj.tool_ids&.is_a?(Array) != false || raise("Passed value for field obj.tool_ids is not the expected type, validation failed.")
168
169
  obj.knowledge_base.nil? || Vapi::CreateCustomKnowledgeBaseDto.validate_raw(obj: obj.knowledge_base)
169
170
  obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
170
- obj.model.is_a?(String) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
171
+ obj.model.is_a?(Vapi::XaiModelModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
171
172
  obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
172
173
  obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
173
174
  obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
5
+ class XaiModelModel
6
+ GROK_BETA = "grok-beta"
7
+ GROK_2 = "grok-2"
8
+ GROK_3 = "grok-3"
9
+ end
10
+ end
@@ -13,6 +13,9 @@ require_relative "vapi_server_sdk/tools/client"
13
13
  require_relative "vapi_server_sdk/files/client"
14
14
  require_relative "vapi_server_sdk/analytics/client"
15
15
  require_relative "vapi_server_sdk/logs/client"
16
+ require_relative "vapi_server_sdk/test_suites/client"
17
+ require_relative "vapi_server_sdk/test_suite_tests/client"
18
+ require_relative "vapi_server_sdk/test_suite_runs/client"
16
19
 
17
20
  module Vapi
18
21
  class Client
@@ -36,6 +39,12 @@ module Vapi
36
39
  attr_reader :analytics
37
40
  # @return [Vapi::LogsClient]
38
41
  attr_reader :logs
42
+ # @return [Vapi::TestSuitesClient]
43
+ attr_reader :test_suites
44
+ # @return [Vapi::TestSuiteTestsClient]
45
+ attr_reader :test_suite_tests
46
+ # @return [Vapi::TestSuiteRunsClient]
47
+ attr_reader :test_suite_runs
39
48
 
40
49
  # @param base_url [String]
41
50
  # @param environment [Vapi::Environment]
@@ -62,6 +71,9 @@ module Vapi
62
71
  @files = Vapi::FilesClient.new(request_client: @request_client)
63
72
  @analytics = Vapi::AnalyticsClient.new(request_client: @request_client)
64
73
  @logs = Vapi::LogsClient.new(request_client: @request_client)
74
+ @test_suites = Vapi::TestSuitesClient.new(request_client: @request_client)
75
+ @test_suite_tests = Vapi::TestSuiteTestsClient.new(request_client: @request_client)
76
+ @test_suite_runs = Vapi::TestSuiteRunsClient.new(request_client: @request_client)
65
77
  end
66
78
  end
67
79
 
@@ -86,6 +98,12 @@ module Vapi
86
98
  attr_reader :analytics
87
99
  # @return [Vapi::AsyncLogsClient]
88
100
  attr_reader :logs
101
+ # @return [Vapi::AsyncTestSuitesClient]
102
+ attr_reader :test_suites
103
+ # @return [Vapi::AsyncTestSuiteTestsClient]
104
+ attr_reader :test_suite_tests
105
+ # @return [Vapi::AsyncTestSuiteRunsClient]
106
+ attr_reader :test_suite_runs
89
107
 
90
108
  # @param base_url [String]
91
109
  # @param environment [Vapi::Environment]
@@ -112,6 +130,9 @@ module Vapi
112
130
  @files = Vapi::AsyncFilesClient.new(request_client: @async_request_client)
113
131
  @analytics = Vapi::AsyncAnalyticsClient.new(request_client: @async_request_client)
114
132
  @logs = Vapi::AsyncLogsClient.new(request_client: @async_request_client)
133
+ @test_suites = Vapi::AsyncTestSuitesClient.new(request_client: @async_request_client)
134
+ @test_suite_tests = Vapi::AsyncTestSuiteTestsClient.new(request_client: @async_request_client)
135
+ @test_suite_runs = Vapi::AsyncTestSuiteRunsClient.new(request_client: @async_request_client)
115
136
  end
116
137
  end
117
138
  end