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.
- checksums.yaml +4 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +83 -12
- data/lib/vapi_server_sdk/analytics/client.rb +41 -26
- data/lib/vapi_server_sdk/assistants/client.rb +84 -84
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/blocks/client.rb +0 -70
- data/lib/vapi_server_sdk/calls/client.rb +110 -76
- data/lib/vapi_server_sdk/files/client.rb +0 -70
- data/lib/vapi_server_sdk/knowledge_bases/client.rb +0 -70
- data/lib/vapi_server_sdk/logs/client.rb +15 -46
- data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
- data/lib/vapi_server_sdk/phone_numbers/client.rb +0 -70
- data/lib/vapi_server_sdk/squads/client.rb +136 -78
- data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
- data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
- data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
- data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
- data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/tools/client.rb +0 -70
- data/lib/vapi_server_sdk/types/ai_edge_condition.rb +55 -0
- data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
- data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
- data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
- data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
- data/lib/vapi_server_sdk/types/api_request.rb +165 -0
- data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
- data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
- data/lib/vapi_server_sdk/types/artifact.rb +12 -2
- data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
- data/lib/vapi_server_sdk/types/assistant.rb +27 -13
- data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
- data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
- data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_credential_region.rb +4 -2
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +4 -2
- data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
- data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
- data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
- data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
- data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
- data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
- data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
- data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
- data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
- data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
- data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
- data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
- data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
- data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
- data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
- data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
- data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
- data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
- data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
- data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
- data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
- data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
- data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +4 -2
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +4 -2
- data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
- data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
- data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
- data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
- data/lib/vapi_server_sdk/types/create_workflow_dto.rb +80 -0
- data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +133 -0
- data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
- data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
- data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
- data/lib/vapi_server_sdk/types/edge.rb +87 -0
- data/lib/vapi_server_sdk/types/edge_condition.rb +107 -0
- data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
- data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
- data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
- data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
- data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
- data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
- data/lib/vapi_server_sdk/types/gather.rb +143 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
- data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
- data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
- data/lib/vapi_server_sdk/types/hangup.rb +67 -0
- data/lib/vapi_server_sdk/types/hook.rb +70 -0
- data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
- data/lib/vapi_server_sdk/types/json_schema.rb +37 -2
- data/lib/vapi_server_sdk/types/log.rb +18 -18
- data/lib/vapi_server_sdk/types/logic_edge_condition.rb +55 -0
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
- data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
- data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
- data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
- data/lib/vapi_server_sdk/types/say.rb +81 -0
- data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
- data/lib/vapi_server_sdk/types/server.rb +17 -2
- data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
- data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
- data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
- data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
- data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
- data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
- data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
- data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
- data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
- data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
- data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
- data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
- data/lib/vapi_server_sdk/types/subscription.rb +44 -14
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
- data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
- data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
- data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
- data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
- data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
- data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
- data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
- data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
- data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
- data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
- data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
- data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
- data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
- data/lib/vapi_server_sdk/types/transfer.rb +74 -0
- data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
- data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
- data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
- data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
- data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
- data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +55 -0
- data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +21 -12
- 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
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
- data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +4 -2
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +4 -2
- data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +2 -4
- data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
- data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +34 -47
- data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
- data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
- data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
- data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
- data/lib/vapi_server_sdk/types/workflow.rb +117 -0
- data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +133 -0
- data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
- data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
- data/lib/vapi_server_sdk.rb +21 -0
- metadata +85 -11
- data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
- data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
- data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
- 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 "
|
|
4
|
-
require_relative "
|
|
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::
|
|
13
|
-
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
|
|
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
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
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(
|
|
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
|
-
@
|
|
46
|
-
@
|
|
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["
|
|
68
|
-
|
|
57
|
+
if parsed_json["searchPlan"].nil?
|
|
58
|
+
search_plan = nil
|
|
69
59
|
else
|
|
70
|
-
|
|
71
|
-
|
|
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["
|
|
74
|
-
|
|
63
|
+
if parsed_json["createPlan"].nil?
|
|
64
|
+
create_plan = nil
|
|
75
65
|
else
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
83
|
-
|
|
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::
|
|
105
|
-
obj.
|
|
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(
|
|
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
|
-
@
|
|
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.
|
|
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 [
|
|
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 [
|
|
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?(
|
|
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.")
|