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
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "test_suite_test_scorer_ai"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class CreateTestSuiteTestVoiceDto
9
+ # @return [Array<Vapi::TestSuiteTestScorerAi>] These are the scorers used to evaluate the test.
10
+ attr_reader :scorers
11
+ # @return [String] This is the script to be used for the voice test.
12
+ attr_reader :script
13
+ # @return [Float] This is the number of attempts allowed for the test.
14
+ attr_reader :num_attempts
15
+ # @return [String] This is the name of the test.
16
+ attr_reader :name
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param scorers [Array<Vapi::TestSuiteTestScorerAi>] These are the scorers used to evaluate the test.
26
+ # @param script [String] This is the script to be used for the voice test.
27
+ # @param num_attempts [Float] This is the number of attempts allowed for the test.
28
+ # @param name [String] This is the name of the test.
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [Vapi::CreateTestSuiteTestVoiceDto]
31
+ def initialize(scorers:, script:, num_attempts: OMIT, name: OMIT, additional_properties: nil)
32
+ @scorers = scorers
33
+ @script = script
34
+ @num_attempts = num_attempts if num_attempts != OMIT
35
+ @name = name if name != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = {
38
+ "scorers": scorers,
39
+ "script": script,
40
+ "numAttempts": num_attempts,
41
+ "name": name
42
+ }.reject do |_k, v|
43
+ v == OMIT
44
+ end
45
+ end
46
+
47
+ # Deserialize a JSON object to an instance of CreateTestSuiteTestVoiceDto
48
+ #
49
+ # @param json_object [String]
50
+ # @return [Vapi::CreateTestSuiteTestVoiceDto]
51
+ def self.from_json(json_object:)
52
+ struct = JSON.parse(json_object, object_class: OpenStruct)
53
+ parsed_json = JSON.parse(json_object)
54
+ scorers = parsed_json["scorers"]&.map do |item|
55
+ item = item.to_json
56
+ Vapi::TestSuiteTestScorerAi.from_json(json_object: item)
57
+ end
58
+ script = parsed_json["script"]
59
+ num_attempts = parsed_json["numAttempts"]
60
+ name = parsed_json["name"]
61
+ new(
62
+ scorers: scorers,
63
+ script: script,
64
+ num_attempts: num_attempts,
65
+ name: name,
66
+ additional_properties: struct
67
+ )
68
+ end
69
+
70
+ # Serialize an instance of CreateTestSuiteTestVoiceDto to a JSON object
71
+ #
72
+ # @return [String]
73
+ def to_json(*_args)
74
+ @_field_set&.to_json
75
+ end
76
+
77
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
78
+ # hash and check each fields type against the current object's property
79
+ # definitions.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Void]
83
+ def self.validate_raw(obj:)
84
+ obj.scorers.is_a?(Array) != false || raise("Passed value for field obj.scorers is not the expected type, validation failed.")
85
+ obj.script.is_a?(String) != false || raise("Passed value for field obj.script is not the expected type, validation failed.")
86
+ obj.num_attempts&.is_a?(Float) != false || raise("Passed value for field obj.num_attempts is not the expected type, validation failed.")
87
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
88
+ end
89
+ end
90
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "trieve_knowledge_base_vector_store_search_plan"
4
- require_relative "trieve_knowledge_base_vector_store_create_plan"
3
+ require_relative "trieve_knowledge_base_search_plan"
4
+ require_relative "create_trieve_knowledge_base_dto_create_plan"
5
5
  require "ostruct"
6
6
  require "json"
7
7
 
@@ -9,17 +9,15 @@ module Vapi
9
9
  class CreateTrieveKnowledgeBaseDto
10
10
  # @return [String] This is the name of the knowledge base.
11
11
  attr_reader :name
12
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
13
- attr_reader :vector_store_search_plan
14
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
15
- # use an existing vector store from your account, use `vectoreStoreProviderId`
16
- attr_reader :vector_store_create_plan
17
- # @return [String] This is an vector store that you already have on your account with the provider.
18
- # To create a new vector store, use vectorStoreCreatePlan.
19
- # Usage:
20
- # - To bring your own vector store from Trieve, go to https://trieve.ai
21
- # - Create a dataset, and use the datasetId here.
22
- attr_reader :vector_store_provider_id
12
+ # @return [Vapi::TrieveKnowledgeBaseSearchPlan] This is the searching plan used when searching for relevant chunks from the
13
+ # vector store.
14
+ # You should configure this if you're running into these issues:
15
+ # - Too much unnecessary context is being fed as knowledge base context.
16
+ # - Not enough relevant context is being fed as knowledge base context.
17
+ attr_reader :search_plan
18
+ # @return [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan] This is the plan if you want us to create/import a new vector store using
19
+ # Trieve.
20
+ attr_reader :create_plan
23
21
  # @return [OpenStruct] Additional properties unmapped to the current class definition
24
22
  attr_reader :additional_properties
25
23
  # @return [Object]
@@ -29,29 +27,21 @@ module Vapi
29
27
  OMIT = Object.new
30
28
 
31
29
  # @param name [String] This is the name of the knowledge base.
32
- # @param vector_store_search_plan [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
33
- # @param vector_store_create_plan [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
34
- # use an existing vector store from your account, use `vectoreStoreProviderId`
35
- # @param vector_store_provider_id [String] This is an vector store that you already have on your account with the provider.
36
- # To create a new vector store, use vectorStoreCreatePlan.
37
- # Usage:
38
- # - To bring your own vector store from Trieve, go to https://trieve.ai
39
- # - Create a dataset, and use the datasetId here.
30
+ # @param search_plan [Vapi::TrieveKnowledgeBaseSearchPlan] This is the searching plan used when searching for relevant chunks from the
31
+ # vector store.
32
+ # You should configure this if you're running into these issues:
33
+ # - Too much unnecessary context is being fed as knowledge base context.
34
+ # - Not enough relevant context is being fed as knowledge base context.
35
+ # @param create_plan [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan] This is the plan if you want us to create/import a new vector store using
36
+ # Trieve.
40
37
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
38
  # @return [Vapi::CreateTrieveKnowledgeBaseDto]
42
- def initialize(vector_store_search_plan:, name: OMIT, vector_store_create_plan: OMIT,
43
- vector_store_provider_id: OMIT, additional_properties: nil)
39
+ def initialize(name: OMIT, search_plan: OMIT, create_plan: OMIT, additional_properties: nil)
44
40
  @name = name if name != OMIT
45
- @vector_store_search_plan = vector_store_search_plan
46
- @vector_store_create_plan = vector_store_create_plan if vector_store_create_plan != OMIT
47
- @vector_store_provider_id = vector_store_provider_id if vector_store_provider_id != OMIT
41
+ @search_plan = search_plan if search_plan != OMIT
42
+ @create_plan = create_plan if create_plan != OMIT
48
43
  @additional_properties = additional_properties
49
- @_field_set = {
50
- "name": name,
51
- "vectorStoreSearchPlan": vector_store_search_plan,
52
- "vectorStoreCreatePlan": vector_store_create_plan,
53
- "vectorStoreProviderId": vector_store_provider_id
54
- }.reject do |_k, v|
44
+ @_field_set = { "name": name, "searchPlan": search_plan, "createPlan": create_plan }.reject do |_k, v|
55
45
  v == OMIT
56
46
  end
57
47
  end
@@ -64,24 +54,22 @@ module Vapi
64
54
  struct = JSON.parse(json_object, object_class: OpenStruct)
65
55
  parsed_json = JSON.parse(json_object)
66
56
  name = parsed_json["name"]
67
- if parsed_json["vectorStoreSearchPlan"].nil?
68
- vector_store_search_plan = nil
57
+ if parsed_json["searchPlan"].nil?
58
+ search_plan = nil
69
59
  else
70
- vector_store_search_plan = parsed_json["vectorStoreSearchPlan"].to_json
71
- vector_store_search_plan = Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.from_json(json_object: vector_store_search_plan)
60
+ search_plan = parsed_json["searchPlan"].to_json
61
+ search_plan = Vapi::TrieveKnowledgeBaseSearchPlan.from_json(json_object: search_plan)
72
62
  end
73
- if parsed_json["vectorStoreCreatePlan"].nil?
74
- vector_store_create_plan = nil
63
+ if parsed_json["createPlan"].nil?
64
+ create_plan = nil
75
65
  else
76
- vector_store_create_plan = parsed_json["vectorStoreCreatePlan"].to_json
77
- vector_store_create_plan = Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.from_json(json_object: vector_store_create_plan)
66
+ create_plan = parsed_json["createPlan"].to_json
67
+ create_plan = Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan.from_json(json_object: create_plan)
78
68
  end
79
- vector_store_provider_id = parsed_json["vectorStoreProviderId"]
80
69
  new(
81
70
  name: name,
82
- vector_store_search_plan: vector_store_search_plan,
83
- vector_store_create_plan: vector_store_create_plan,
84
- vector_store_provider_id: vector_store_provider_id,
71
+ search_plan: search_plan,
72
+ create_plan: create_plan,
85
73
  additional_properties: struct
86
74
  )
87
75
  end
@@ -101,9 +89,8 @@ module Vapi
101
89
  # @return [Void]
102
90
  def self.validate_raw(obj:)
103
91
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
104
- Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.validate_raw(obj: obj.vector_store_search_plan)
105
- obj.vector_store_create_plan.nil? || Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.validate_raw(obj: obj.vector_store_create_plan)
106
- obj.vector_store_provider_id&.is_a?(String) != false || raise("Passed value for field obj.vector_store_provider_id is not the expected type, validation failed.")
92
+ obj.search_plan.nil? || Vapi::TrieveKnowledgeBaseSearchPlan.validate_raw(obj: obj.search_plan)
93
+ obj.create_plan.nil? || Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan.validate_raw(obj: obj.create_plan)
107
94
  end
108
95
  end
109
96
  end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "trieve_knowledge_base_create"
5
+ require_relative "trieve_knowledge_base_import"
6
+
7
+ module Vapi
8
+ # This is the plan if you want us to create/import a new vector store using
9
+ # Trieve.
10
+ class CreateTrieveKnowledgeBaseDtoCreatePlan
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # CreateTrieveKnowledgeBaseDtoCreatePlan
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "create"
36
+ Vapi::TrieveKnowledgeBaseCreate.from_json(json_object: json_object)
37
+ when "import"
38
+ Vapi::TrieveKnowledgeBaseImport.from_json(json_object: json_object)
39
+ else
40
+ Vapi::TrieveKnowledgeBaseCreate.from_json(json_object: json_object)
41
+ end
42
+ new(member: member, discriminant: struct.type)
43
+ end
44
+
45
+ # For Union Types, to_json functionality is delegated to the wrapped member.
46
+ #
47
+ # @return [String]
48
+ def to_json(*_args)
49
+ case @discriminant
50
+ when "create"
51
+ { **@member.to_json, type: @discriminant }.to_json
52
+ when "import"
53
+ { **@member.to_json, type: @discriminant }.to_json
54
+ else
55
+ { "type": @discriminant, value: @member }.to_json
56
+ end
57
+ @member.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ case obj.type
68
+ when "create"
69
+ Vapi::TrieveKnowledgeBaseCreate.validate_raw(obj: obj)
70
+ when "import"
71
+ Vapi::TrieveKnowledgeBaseImport.validate_raw(obj: obj)
72
+ else
73
+ raise("Passed value matched no type within the union, validation failed.")
74
+ end
75
+ end
76
+
77
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Boolean]
81
+ def is_a?(obj)
82
+ @member.is_a?(obj)
83
+ end
84
+
85
+ # @param member [Vapi::TrieveKnowledgeBaseCreate]
86
+ # @return [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan]
87
+ def self.create(member:)
88
+ new(member: member, discriminant: "create")
89
+ end
90
+
91
+ # @param member [Vapi::TrieveKnowledgeBaseImport]
92
+ # @return [Vapi::CreateTrieveKnowledgeBaseDtoCreatePlan]
93
+ def self.import(member:)
94
+ new(member: member, discriminant: "import")
95
+ end
96
+ end
97
+ end
@@ -15,6 +15,8 @@ module Vapi
15
15
  # If this is not set and above conditions are met, the inbound call is hung up
16
16
  # with an error message.
17
17
  attr_reader :fallback_destination
18
+ # @return [String] This is the area code of the phone number to purchase.
19
+ attr_reader :number_desired_area_code
18
20
  # @return [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
19
21
  # attached to this number will answer.
20
22
  # This is case-insensitive.
@@ -56,6 +58,7 @@ module Vapi
56
58
  # 3. and, `assistant-request` message to the `serverUrl` fails
57
59
  # If this is not set and above conditions are met, the inbound call is hung up
58
60
  # with an error message.
61
+ # @param number_desired_area_code [String] This is the area code of the phone number to purchase.
59
62
  # @param sip_uri [String] This is the SIP URI of the phone number. You can SIP INVITE this. The assistant
60
63
  # attached to this number will answer.
61
64
  # This is case-insensitive.
@@ -79,10 +82,11 @@ module Vapi
79
82
  # 3. org.server
80
83
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
81
84
  # @return [Vapi::CreateVapiPhoneNumberDto]
82
- def initialize(sip_uri:, fallback_destination: OMIT, authentication: OMIT, name: OMIT, assistant_id: OMIT,
83
- squad_id: OMIT, server: OMIT, additional_properties: nil)
85
+ def initialize(fallback_destination: OMIT, number_desired_area_code: OMIT, sip_uri: OMIT, authentication: OMIT,
86
+ name: OMIT, assistant_id: OMIT, squad_id: OMIT, server: OMIT, additional_properties: nil)
84
87
  @fallback_destination = fallback_destination if fallback_destination != OMIT
85
- @sip_uri = sip_uri
88
+ @number_desired_area_code = number_desired_area_code if number_desired_area_code != OMIT
89
+ @sip_uri = sip_uri if sip_uri != OMIT
86
90
  @authentication = authentication if authentication != OMIT
87
91
  @name = name if name != OMIT
88
92
  @assistant_id = assistant_id if assistant_id != OMIT
@@ -91,6 +95,7 @@ module Vapi
91
95
  @additional_properties = additional_properties
92
96
  @_field_set = {
93
97
  "fallbackDestination": fallback_destination,
98
+ "numberDesiredAreaCode": number_desired_area_code,
94
99
  "sipUri": sip_uri,
95
100
  "authentication": authentication,
96
101
  "name": name,
@@ -115,6 +120,7 @@ module Vapi
115
120
  fallback_destination = parsed_json["fallbackDestination"].to_json
116
121
  fallback_destination = Vapi::CreateVapiPhoneNumberDtoFallbackDestination.from_json(json_object: fallback_destination)
117
122
  end
123
+ number_desired_area_code = parsed_json["numberDesiredAreaCode"]
118
124
  sip_uri = parsed_json["sipUri"]
119
125
  if parsed_json["authentication"].nil?
120
126
  authentication = nil
@@ -133,6 +139,7 @@ module Vapi
133
139
  end
134
140
  new(
135
141
  fallback_destination: fallback_destination,
142
+ number_desired_area_code: number_desired_area_code,
136
143
  sip_uri: sip_uri,
137
144
  authentication: authentication,
138
145
  name: name,
@@ -158,7 +165,8 @@ module Vapi
158
165
  # @return [Void]
159
166
  def self.validate_raw(obj:)
160
167
  obj.fallback_destination.nil? || Vapi::CreateVapiPhoneNumberDtoFallbackDestination.validate_raw(obj: obj.fallback_destination)
161
- obj.sip_uri.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
168
+ 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.")
169
+ obj.sip_uri&.is_a?(String) != false || raise("Passed value for field obj.sip_uri is not the expected type, validation failed.")
162
170
  obj.authentication.nil? || Vapi::SipAuthentication.validate_raw(obj: obj.authentication)
163
171
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
164
172
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "create_workflow_dto_nodes_item"
4
+ require_relative "edge"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Vapi
9
+ class CreateWorkflowDto
10
+ # @return [Array<Vapi::CreateWorkflowDtoNodesItem>]
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::CreateWorkflowDtoNodesItem>]
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::CreateWorkflowDto]
29
+ def initialize(nodes:, name:, edges:, additional_properties: nil)
30
+ @nodes = nodes
31
+ @name = name
32
+ @edges = edges
33
+ @additional_properties = additional_properties
34
+ @_field_set = { "nodes": nodes, "name": name, "edges": edges }
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of CreateWorkflowDto
38
+ #
39
+ # @param json_object [String]
40
+ # @return [Vapi::CreateWorkflowDto]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ parsed_json = JSON.parse(json_object)
44
+ nodes = parsed_json["nodes"]&.map do |item|
45
+ item = item.to_json
46
+ Vapi::CreateWorkflowDtoNodesItem.from_json(json_object: item)
47
+ end
48
+ name = parsed_json["name"]
49
+ edges = parsed_json["edges"]&.map do |item|
50
+ item = item.to_json
51
+ Vapi::Edge.from_json(json_object: item)
52
+ end
53
+ new(
54
+ nodes: nodes,
55
+ name: name,
56
+ edges: edges,
57
+ additional_properties: struct
58
+ )
59
+ end
60
+
61
+ # Serialize an instance of CreateWorkflowDto to a JSON object
62
+ #
63
+ # @return [String]
64
+ def to_json(*_args)
65
+ @_field_set&.to_json
66
+ end
67
+
68
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
69
+ # hash and check each fields type against the current object's property
70
+ # definitions.
71
+ #
72
+ # @param obj [Object]
73
+ # @return [Void]
74
+ def self.validate_raw(obj:)
75
+ obj.nodes.is_a?(Array) != false || raise("Passed value for field obj.nodes is not the expected type, validation failed.")
76
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
77
+ obj.edges.is_a?(Array) != false || raise("Passed value for field obj.edges is not the expected type, validation failed.")
78
+ end
79
+ end
80
+ 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 CreateWorkflowDtoNodesItem
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::CreateWorkflowDtoNodesItem]
23
+ def initialize(member:, discriminant:)
24
+ @member = member
25
+ @discriminant = discriminant
26
+ end
27
+
28
+ # Deserialize a JSON object to an instance of CreateWorkflowDtoNodesItem
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::CreateWorkflowDtoNodesItem]
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::CreateWorkflowDtoNodesItem]
105
+ def self.say(member:)
106
+ new(member: member, discriminant: "say")
107
+ end
108
+
109
+ # @param member [Vapi::Gather]
110
+ # @return [Vapi::CreateWorkflowDtoNodesItem]
111
+ def self.gather(member:)
112
+ new(member: member, discriminant: "gather")
113
+ end
114
+
115
+ # @param member [Vapi::ApiRequest]
116
+ # @return [Vapi::CreateWorkflowDtoNodesItem]
117
+ def self.api_request(member:)
118
+ new(member: member, discriminant: "apiRequest")
119
+ end
120
+
121
+ # @param member [Vapi::Hangup]
122
+ # @return [Vapi::CreateWorkflowDtoNodesItem]
123
+ def self.hangup(member:)
124
+ new(member: member, discriminant: "hangup")
125
+ end
126
+
127
+ # @param member [Vapi::Transfer]
128
+ # @return [Vapi::CreateWorkflowDtoNodesItem]
129
+ def self.transfer(member:)
130
+ new(member: member, discriminant: "transfer")
131
+ end
132
+ end
133
+ end
@@ -6,8 +6,7 @@ require "json"
6
6
 
7
7
  module Vapi
8
8
  class CustomKnowledgeBase
9
- # @return [Vapi::Server] /**
10
- # This is where the knowledge base request will be sent.
9
+ # @return [Vapi::Server] This is where the knowledge base request will be sent.
11
10
  # Request Example:
12
11
  # POST https://{server.url}
13
12
  # Content-Type: application/json
@@ -58,8 +57,7 @@ module Vapi
58
57
 
59
58
  OMIT = Object.new
60
59
 
61
- # @param server [Vapi::Server] /**
62
- # This is where the knowledge base request will be sent.
60
+ # @param server [Vapi::Server] This is where the knowledge base request will be sent.
63
61
  # Request Example:
64
62
  # POST https://{server.url}
65
63
  # Content-Type: application/json
@@ -3,6 +3,7 @@
3
3
  require_relative "open_ai_message"
4
4
  require_relative "deep_seek_model_tools_item"
5
5
  require_relative "create_custom_knowledge_base_dto"
6
+ require_relative "deep_seek_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::DeepSeekModelModel] 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::DeepSeekModelModel] 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::DeepSeekModelModel) != 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,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
5
+ class DeepSeekModelModel
6
+ DEEPSEEK_CHAT = "deepseek-chat"
7
+ DEEPSEEK_REASONER = "deepseek-reasoner"
8
+ end
9
+ end