vapi_server_sdk 0.4.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 +60 -14
- data/lib/vapi_server_sdk/analytics/client.rb +41 -12
- data/lib/vapi_server_sdk/assistants/client.rb +80 -14
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
- data/lib/vapi_server_sdk/calls/client.rb +104 -6
- data/lib/vapi_server_sdk/logs/client.rb +2 -2
- data/lib/vapi_server_sdk/squads/client.rb +128 -8
- 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/types/{semantic_edge_condition.rb → ai_edge_condition.rb} +9 -11
- 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_open_ai_credential_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -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_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_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/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_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -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 +2 -9
- data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +104 -52
- 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 +9 -2
- data/lib/vapi_server_sdk/types/edge_condition.rb +32 -19
- 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/gather.rb +81 -25
- 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 +26 -2
- data/lib/vapi_server_sdk/types/{programmatic_edge_condition.rb → logic_edge_condition.rb} +13 -15
- 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 +23 -14
- 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_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 +33 -5
- 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/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_search_plan.rb +12 -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_open_ai_credential_dto_models_item.rb +1 -0
- data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
- 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 +1 -9
- data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +104 -52
- 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 +61 -12
- 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
- data/lib/vapi_server_sdk/types/update_workflow_dto.rb +0 -82
- data/lib/vapi_server_sdk/types/update_workflow_dto_nodes_item.rb +0 -81
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "../../types/create_test_suite_test_voice_dto"
|
|
5
|
+
|
|
6
|
+
module Vapi
|
|
7
|
+
class TestSuiteTests
|
|
8
|
+
class TestSuiteTestControllerCreateRequest
|
|
9
|
+
# @return [Object]
|
|
10
|
+
attr_reader :member
|
|
11
|
+
# @return [String]
|
|
12
|
+
attr_reader :discriminant
|
|
13
|
+
|
|
14
|
+
private_class_method :new
|
|
15
|
+
alias kind_of? is_a?
|
|
16
|
+
|
|
17
|
+
# @param member [Object]
|
|
18
|
+
# @param discriminant [String]
|
|
19
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerCreateRequest]
|
|
20
|
+
def initialize(member:, discriminant:)
|
|
21
|
+
@member = member
|
|
22
|
+
@discriminant = discriminant
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Deserialize a JSON object to an instance of TestSuiteTestControllerCreateRequest
|
|
26
|
+
#
|
|
27
|
+
# @param json_object [String]
|
|
28
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerCreateRequest]
|
|
29
|
+
def self.from_json(json_object:)
|
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
31
|
+
member = case struct.type
|
|
32
|
+
when "voice"
|
|
33
|
+
end
|
|
34
|
+
Vapi::CreateTestSuiteTestVoiceDto.from_json(json_object: json_object)
|
|
35
|
+
new(member: member, discriminant: struct.type)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
def to_json(*_args)
|
|
42
|
+
case @discriminant
|
|
43
|
+
when "voice"
|
|
44
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
|
45
|
+
else
|
|
46
|
+
{ "type": @discriminant, value: @member }.to_json
|
|
47
|
+
end
|
|
48
|
+
@member.to_json
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
52
|
+
# hash and check each fields type against the current object's property
|
|
53
|
+
# definitions.
|
|
54
|
+
#
|
|
55
|
+
# @param obj [Object]
|
|
56
|
+
# @return [Void]
|
|
57
|
+
def self.validate_raw(obj:)
|
|
58
|
+
case obj.type
|
|
59
|
+
when "voice"
|
|
60
|
+
Vapi::CreateTestSuiteTestVoiceDto.validate_raw(obj: obj)
|
|
61
|
+
else
|
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
|
67
|
+
#
|
|
68
|
+
# @param obj [Object]
|
|
69
|
+
# @return [Boolean]
|
|
70
|
+
def is_a?(obj)
|
|
71
|
+
@member.is_a?(obj)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# @param member [Vapi::CreateTestSuiteTestVoiceDto]
|
|
75
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerCreateRequest]
|
|
76
|
+
def self.voice(member:)
|
|
77
|
+
new(member: member, discriminant: "voice")
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "../../types/test_suite_test_voice"
|
|
5
|
+
|
|
6
|
+
module Vapi
|
|
7
|
+
class TestSuiteTests
|
|
8
|
+
class TestSuiteTestControllerRemoveResponse
|
|
9
|
+
# @return [Object]
|
|
10
|
+
attr_reader :member
|
|
11
|
+
# @return [String]
|
|
12
|
+
attr_reader :discriminant
|
|
13
|
+
|
|
14
|
+
private_class_method :new
|
|
15
|
+
alias kind_of? is_a?
|
|
16
|
+
|
|
17
|
+
# @param member [Object]
|
|
18
|
+
# @param discriminant [String]
|
|
19
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerRemoveResponse]
|
|
20
|
+
def initialize(member:, discriminant:)
|
|
21
|
+
@member = member
|
|
22
|
+
@discriminant = discriminant
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Deserialize a JSON object to an instance of
|
|
26
|
+
# TestSuiteTestControllerRemoveResponse
|
|
27
|
+
#
|
|
28
|
+
# @param json_object [String]
|
|
29
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerRemoveResponse]
|
|
30
|
+
def self.from_json(json_object:)
|
|
31
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
32
|
+
member = case struct.type
|
|
33
|
+
when "voice"
|
|
34
|
+
end
|
|
35
|
+
Vapi::TestSuiteTestVoice.from_json(json_object: json_object)
|
|
36
|
+
new(member: member, discriminant: struct.type)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
|
40
|
+
#
|
|
41
|
+
# @return [String]
|
|
42
|
+
def to_json(*_args)
|
|
43
|
+
case @discriminant
|
|
44
|
+
when "voice"
|
|
45
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
|
46
|
+
else
|
|
47
|
+
{ "type": @discriminant, value: @member }.to_json
|
|
48
|
+
end
|
|
49
|
+
@member.to_json
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
53
|
+
# hash and check each fields type against the current object's property
|
|
54
|
+
# definitions.
|
|
55
|
+
#
|
|
56
|
+
# @param obj [Object]
|
|
57
|
+
# @return [Void]
|
|
58
|
+
def self.validate_raw(obj:)
|
|
59
|
+
case obj.type
|
|
60
|
+
when "voice"
|
|
61
|
+
Vapi::TestSuiteTestVoice.validate_raw(obj: obj)
|
|
62
|
+
else
|
|
63
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
|
68
|
+
#
|
|
69
|
+
# @param obj [Object]
|
|
70
|
+
# @return [Boolean]
|
|
71
|
+
def is_a?(obj)
|
|
72
|
+
@member.is_a?(obj)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @param member [Vapi::TestSuiteTestVoice]
|
|
76
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerRemoveResponse]
|
|
77
|
+
def self.voice(member:)
|
|
78
|
+
new(member: member, discriminant: "voice")
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "../../types/update_test_suite_test_voice_dto"
|
|
5
|
+
|
|
6
|
+
module Vapi
|
|
7
|
+
class TestSuiteTests
|
|
8
|
+
class TestSuiteTestControllerUpdateRequest
|
|
9
|
+
# @return [Object]
|
|
10
|
+
attr_reader :member
|
|
11
|
+
# @return [String]
|
|
12
|
+
attr_reader :discriminant
|
|
13
|
+
|
|
14
|
+
private_class_method :new
|
|
15
|
+
alias kind_of? is_a?
|
|
16
|
+
|
|
17
|
+
# @param member [Object]
|
|
18
|
+
# @param discriminant [String]
|
|
19
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerUpdateRequest]
|
|
20
|
+
def initialize(member:, discriminant:)
|
|
21
|
+
@member = member
|
|
22
|
+
@discriminant = discriminant
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Deserialize a JSON object to an instance of TestSuiteTestControllerUpdateRequest
|
|
26
|
+
#
|
|
27
|
+
# @param json_object [String]
|
|
28
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerUpdateRequest]
|
|
29
|
+
def self.from_json(json_object:)
|
|
30
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
31
|
+
member = case struct.type
|
|
32
|
+
when "voice"
|
|
33
|
+
end
|
|
34
|
+
Vapi::UpdateTestSuiteTestVoiceDto.from_json(json_object: json_object)
|
|
35
|
+
new(member: member, discriminant: struct.type)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
|
39
|
+
#
|
|
40
|
+
# @return [String]
|
|
41
|
+
def to_json(*_args)
|
|
42
|
+
case @discriminant
|
|
43
|
+
when "voice"
|
|
44
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
|
45
|
+
else
|
|
46
|
+
{ "type": @discriminant, value: @member }.to_json
|
|
47
|
+
end
|
|
48
|
+
@member.to_json
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
52
|
+
# hash and check each fields type against the current object's property
|
|
53
|
+
# definitions.
|
|
54
|
+
#
|
|
55
|
+
# @param obj [Object]
|
|
56
|
+
# @return [Void]
|
|
57
|
+
def self.validate_raw(obj:)
|
|
58
|
+
case obj.type
|
|
59
|
+
when "voice"
|
|
60
|
+
Vapi::UpdateTestSuiteTestVoiceDto.validate_raw(obj: obj)
|
|
61
|
+
else
|
|
62
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
|
67
|
+
#
|
|
68
|
+
# @param obj [Object]
|
|
69
|
+
# @return [Boolean]
|
|
70
|
+
def is_a?(obj)
|
|
71
|
+
@member.is_a?(obj)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# @param member [Vapi::UpdateTestSuiteTestVoiceDto]
|
|
75
|
+
# @return [Vapi::TestSuiteTests::TestSuiteTestControllerUpdateRequest]
|
|
76
|
+
def self.voice(member:)
|
|
77
|
+
new(member: member, discriminant: "voice")
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../../requests"
|
|
4
|
+
require_relative "types/test_suite_controller_find_all_paginated_request_sort_order"
|
|
5
|
+
require "date"
|
|
6
|
+
require_relative "../types/test_suites_paginated_response"
|
|
7
|
+
require_relative "../types/test_suite"
|
|
8
|
+
require "async"
|
|
9
|
+
|
|
10
|
+
module Vapi
|
|
11
|
+
class TestSuitesClient
|
|
12
|
+
# @return [Vapi::RequestClient]
|
|
13
|
+
attr_reader :request_client
|
|
14
|
+
|
|
15
|
+
# @param request_client [Vapi::RequestClient]
|
|
16
|
+
# @return [Vapi::TestSuitesClient]
|
|
17
|
+
def initialize(request_client:)
|
|
18
|
+
@request_client = request_client
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @param page [Float] This is the page number to return. Defaults to 1.
|
|
22
|
+
# @param sort_order [Vapi::TestSuites::TestSuiteControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'.
|
|
23
|
+
# @param limit [Float] This is the maximum number of items to return. Defaults to 100.
|
|
24
|
+
# @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
|
|
25
|
+
# @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
|
|
26
|
+
# @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
|
|
27
|
+
# specified value.
|
|
28
|
+
# @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
|
|
29
|
+
# specified value.
|
|
30
|
+
# @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
|
|
31
|
+
# @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
|
|
32
|
+
# @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
|
|
33
|
+
# specified value.
|
|
34
|
+
# @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
|
|
35
|
+
# specified value.
|
|
36
|
+
# @param request_options [Vapi::RequestOptions]
|
|
37
|
+
# @return [Vapi::TestSuitesPaginatedResponse]
|
|
38
|
+
def test_suite_controller_find_all_paginated(page: nil, sort_order: nil, limit: nil, created_at_gt: nil,
|
|
39
|
+
created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
|
|
40
|
+
response = @request_client.conn.get do |req|
|
|
41
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
42
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
43
|
+
req.headers = {
|
|
44
|
+
**(req.headers || {}),
|
|
45
|
+
**@request_client.get_headers,
|
|
46
|
+
**(request_options&.additional_headers || {})
|
|
47
|
+
}.compact
|
|
48
|
+
req.params = {
|
|
49
|
+
**(request_options&.additional_query_parameters || {}),
|
|
50
|
+
"page": page,
|
|
51
|
+
"sortOrder": sort_order,
|
|
52
|
+
"limit": limit,
|
|
53
|
+
"createdAtGt": created_at_gt,
|
|
54
|
+
"createdAtLt": created_at_lt,
|
|
55
|
+
"createdAtGe": created_at_ge,
|
|
56
|
+
"createdAtLe": created_at_le,
|
|
57
|
+
"updatedAtGt": updated_at_gt,
|
|
58
|
+
"updatedAtLt": updated_at_lt,
|
|
59
|
+
"updatedAtGe": updated_at_ge,
|
|
60
|
+
"updatedAtLe": updated_at_le
|
|
61
|
+
}.compact
|
|
62
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
63
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
64
|
+
end
|
|
65
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
|
|
66
|
+
end
|
|
67
|
+
Vapi::TestSuitesPaginatedResponse.from_json(json_object: response.body)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @param name [String] This is the name of the test suite.
|
|
71
|
+
# @param phone_number_id [String] This is the phone number ID associated with this test suite.
|
|
72
|
+
# @param request_options [Vapi::RequestOptions]
|
|
73
|
+
# @return [Vapi::TestSuite]
|
|
74
|
+
def test_suite_controller_create(name: nil, phone_number_id: nil, request_options: nil)
|
|
75
|
+
response = @request_client.conn.post do |req|
|
|
76
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
77
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
78
|
+
req.headers = {
|
|
79
|
+
**(req.headers || {}),
|
|
80
|
+
**@request_client.get_headers,
|
|
81
|
+
**(request_options&.additional_headers || {})
|
|
82
|
+
}.compact
|
|
83
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
84
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
85
|
+
end
|
|
86
|
+
req.body = {
|
|
87
|
+
**(request_options&.additional_body_parameters || {}),
|
|
88
|
+
name: name,
|
|
89
|
+
phoneNumberId: phone_number_id
|
|
90
|
+
}.compact
|
|
91
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
|
|
92
|
+
end
|
|
93
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# @param id [String]
|
|
97
|
+
# @param request_options [Vapi::RequestOptions]
|
|
98
|
+
# @return [Vapi::TestSuite]
|
|
99
|
+
def test_suite_controller_find_one(id:, request_options: nil)
|
|
100
|
+
response = @request_client.conn.get do |req|
|
|
101
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
102
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
103
|
+
req.headers = {
|
|
104
|
+
**(req.headers || {}),
|
|
105
|
+
**@request_client.get_headers,
|
|
106
|
+
**(request_options&.additional_headers || {})
|
|
107
|
+
}.compact
|
|
108
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
109
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
110
|
+
end
|
|
111
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
112
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
113
|
+
end
|
|
114
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
115
|
+
end
|
|
116
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# @param id [String]
|
|
120
|
+
# @param request_options [Vapi::RequestOptions]
|
|
121
|
+
# @return [Vapi::TestSuite]
|
|
122
|
+
def test_suite_controller_remove(id:, request_options: nil)
|
|
123
|
+
response = @request_client.conn.delete do |req|
|
|
124
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
125
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
126
|
+
req.headers = {
|
|
127
|
+
**(req.headers || {}),
|
|
128
|
+
**@request_client.get_headers,
|
|
129
|
+
**(request_options&.additional_headers || {})
|
|
130
|
+
}.compact
|
|
131
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
132
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
133
|
+
end
|
|
134
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
135
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
136
|
+
end
|
|
137
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
138
|
+
end
|
|
139
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# @param id [String]
|
|
143
|
+
# @param name [String] This is the name of the test suite.
|
|
144
|
+
# @param phone_number_id [String] This is the phone number ID associated with this test suite.
|
|
145
|
+
# @param request_options [Vapi::RequestOptions]
|
|
146
|
+
# @return [Vapi::TestSuite]
|
|
147
|
+
def test_suite_controller_update(id:, name: nil, phone_number_id: nil, request_options: nil)
|
|
148
|
+
response = @request_client.conn.patch do |req|
|
|
149
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
150
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
151
|
+
req.headers = {
|
|
152
|
+
**(req.headers || {}),
|
|
153
|
+
**@request_client.get_headers,
|
|
154
|
+
**(request_options&.additional_headers || {})
|
|
155
|
+
}.compact
|
|
156
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
157
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
158
|
+
end
|
|
159
|
+
req.body = {
|
|
160
|
+
**(request_options&.additional_body_parameters || {}),
|
|
161
|
+
name: name,
|
|
162
|
+
phoneNumberId: phone_number_id
|
|
163
|
+
}.compact
|
|
164
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
165
|
+
end
|
|
166
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
class AsyncTestSuitesClient
|
|
171
|
+
# @return [Vapi::AsyncRequestClient]
|
|
172
|
+
attr_reader :request_client
|
|
173
|
+
|
|
174
|
+
# @param request_client [Vapi::AsyncRequestClient]
|
|
175
|
+
# @return [Vapi::AsyncTestSuitesClient]
|
|
176
|
+
def initialize(request_client:)
|
|
177
|
+
@request_client = request_client
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# @param page [Float] This is the page number to return. Defaults to 1.
|
|
181
|
+
# @param sort_order [Vapi::TestSuites::TestSuiteControllerFindAllPaginatedRequestSortOrder] This is the sort order for pagination. Defaults to 'DESC'.
|
|
182
|
+
# @param limit [Float] This is the maximum number of items to return. Defaults to 100.
|
|
183
|
+
# @param created_at_gt [DateTime] This will return items where the createdAt is greater than the specified value.
|
|
184
|
+
# @param created_at_lt [DateTime] This will return items where the createdAt is less than the specified value.
|
|
185
|
+
# @param created_at_ge [DateTime] This will return items where the createdAt is greater than or equal to the
|
|
186
|
+
# specified value.
|
|
187
|
+
# @param created_at_le [DateTime] This will return items where the createdAt is less than or equal to the
|
|
188
|
+
# specified value.
|
|
189
|
+
# @param updated_at_gt [DateTime] This will return items where the updatedAt is greater than the specified value.
|
|
190
|
+
# @param updated_at_lt [DateTime] This will return items where the updatedAt is less than the specified value.
|
|
191
|
+
# @param updated_at_ge [DateTime] This will return items where the updatedAt is greater than or equal to the
|
|
192
|
+
# specified value.
|
|
193
|
+
# @param updated_at_le [DateTime] This will return items where the updatedAt is less than or equal to the
|
|
194
|
+
# specified value.
|
|
195
|
+
# @param request_options [Vapi::RequestOptions]
|
|
196
|
+
# @return [Vapi::TestSuitesPaginatedResponse]
|
|
197
|
+
def test_suite_controller_find_all_paginated(page: nil, sort_order: nil, limit: nil, created_at_gt: nil,
|
|
198
|
+
created_at_lt: nil, created_at_ge: nil, created_at_le: nil, updated_at_gt: nil, updated_at_lt: nil, updated_at_ge: nil, updated_at_le: nil, request_options: nil)
|
|
199
|
+
Async do
|
|
200
|
+
response = @request_client.conn.get do |req|
|
|
201
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
202
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
203
|
+
req.headers = {
|
|
204
|
+
**(req.headers || {}),
|
|
205
|
+
**@request_client.get_headers,
|
|
206
|
+
**(request_options&.additional_headers || {})
|
|
207
|
+
}.compact
|
|
208
|
+
req.params = {
|
|
209
|
+
**(request_options&.additional_query_parameters || {}),
|
|
210
|
+
"page": page,
|
|
211
|
+
"sortOrder": sort_order,
|
|
212
|
+
"limit": limit,
|
|
213
|
+
"createdAtGt": created_at_gt,
|
|
214
|
+
"createdAtLt": created_at_lt,
|
|
215
|
+
"createdAtGe": created_at_ge,
|
|
216
|
+
"createdAtLe": created_at_le,
|
|
217
|
+
"updatedAtGt": updated_at_gt,
|
|
218
|
+
"updatedAtLt": updated_at_lt,
|
|
219
|
+
"updatedAtGe": updated_at_ge,
|
|
220
|
+
"updatedAtLe": updated_at_le
|
|
221
|
+
}.compact
|
|
222
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
223
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
224
|
+
end
|
|
225
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
|
|
226
|
+
end
|
|
227
|
+
Vapi::TestSuitesPaginatedResponse.from_json(json_object: response.body)
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# @param name [String] This is the name of the test suite.
|
|
232
|
+
# @param phone_number_id [String] This is the phone number ID associated with this test suite.
|
|
233
|
+
# @param request_options [Vapi::RequestOptions]
|
|
234
|
+
# @return [Vapi::TestSuite]
|
|
235
|
+
def test_suite_controller_create(name: nil, phone_number_id: nil, request_options: nil)
|
|
236
|
+
Async do
|
|
237
|
+
response = @request_client.conn.post do |req|
|
|
238
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
239
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
240
|
+
req.headers = {
|
|
241
|
+
**(req.headers || {}),
|
|
242
|
+
**@request_client.get_headers,
|
|
243
|
+
**(request_options&.additional_headers || {})
|
|
244
|
+
}.compact
|
|
245
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
246
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
247
|
+
end
|
|
248
|
+
req.body = {
|
|
249
|
+
**(request_options&.additional_body_parameters || {}),
|
|
250
|
+
name: name,
|
|
251
|
+
phoneNumberId: phone_number_id
|
|
252
|
+
}.compact
|
|
253
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite"
|
|
254
|
+
end
|
|
255
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# @param id [String]
|
|
260
|
+
# @param request_options [Vapi::RequestOptions]
|
|
261
|
+
# @return [Vapi::TestSuite]
|
|
262
|
+
def test_suite_controller_find_one(id:, request_options: nil)
|
|
263
|
+
Async do
|
|
264
|
+
response = @request_client.conn.get do |req|
|
|
265
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
266
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
267
|
+
req.headers = {
|
|
268
|
+
**(req.headers || {}),
|
|
269
|
+
**@request_client.get_headers,
|
|
270
|
+
**(request_options&.additional_headers || {})
|
|
271
|
+
}.compact
|
|
272
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
273
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
274
|
+
end
|
|
275
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
276
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
277
|
+
end
|
|
278
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
279
|
+
end
|
|
280
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
# @param id [String]
|
|
285
|
+
# @param request_options [Vapi::RequestOptions]
|
|
286
|
+
# @return [Vapi::TestSuite]
|
|
287
|
+
def test_suite_controller_remove(id:, request_options: nil)
|
|
288
|
+
Async do
|
|
289
|
+
response = @request_client.conn.delete do |req|
|
|
290
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
291
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
292
|
+
req.headers = {
|
|
293
|
+
**(req.headers || {}),
|
|
294
|
+
**@request_client.get_headers,
|
|
295
|
+
**(request_options&.additional_headers || {})
|
|
296
|
+
}.compact
|
|
297
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
298
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
299
|
+
end
|
|
300
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
301
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
302
|
+
end
|
|
303
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
304
|
+
end
|
|
305
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
# @param id [String]
|
|
310
|
+
# @param name [String] This is the name of the test suite.
|
|
311
|
+
# @param phone_number_id [String] This is the phone number ID associated with this test suite.
|
|
312
|
+
# @param request_options [Vapi::RequestOptions]
|
|
313
|
+
# @return [Vapi::TestSuite]
|
|
314
|
+
def test_suite_controller_update(id:, name: nil, phone_number_id: nil, request_options: nil)
|
|
315
|
+
Async do
|
|
316
|
+
response = @request_client.conn.patch do |req|
|
|
317
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
318
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
|
319
|
+
req.headers = {
|
|
320
|
+
**(req.headers || {}),
|
|
321
|
+
**@request_client.get_headers,
|
|
322
|
+
**(request_options&.additional_headers || {})
|
|
323
|
+
}.compact
|
|
324
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
325
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
326
|
+
end
|
|
327
|
+
req.body = {
|
|
328
|
+
**(request_options&.additional_body_parameters || {}),
|
|
329
|
+
name: name,
|
|
330
|
+
phoneNumberId: phone_number_id
|
|
331
|
+
}.compact
|
|
332
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/test-suite/#{id}"
|
|
333
|
+
end
|
|
334
|
+
Vapi::TestSuite.from_json(json_object: response.body)
|
|
335
|
+
end
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
end
|
|
@@ -4,7 +4,7 @@ require "ostruct"
|
|
|
4
4
|
require "json"
|
|
5
5
|
|
|
6
6
|
module Vapi
|
|
7
|
-
class
|
|
7
|
+
class AiEdgeCondition
|
|
8
8
|
# @return [Array<String>]
|
|
9
9
|
attr_reader :matches
|
|
10
10
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
@@ -17,19 +17,17 @@ module Vapi
|
|
|
17
17
|
|
|
18
18
|
# @param matches [Array<String>]
|
|
19
19
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
20
|
-
# @return [Vapi::
|
|
21
|
-
def initialize(matches
|
|
22
|
-
@matches = matches
|
|
20
|
+
# @return [Vapi::AiEdgeCondition]
|
|
21
|
+
def initialize(matches:, additional_properties: nil)
|
|
22
|
+
@matches = matches
|
|
23
23
|
@additional_properties = additional_properties
|
|
24
|
-
@_field_set = { "matches": matches }
|
|
25
|
-
v == OMIT
|
|
26
|
-
end
|
|
24
|
+
@_field_set = { "matches": matches }
|
|
27
25
|
end
|
|
28
26
|
|
|
29
|
-
# Deserialize a JSON object to an instance of
|
|
27
|
+
# Deserialize a JSON object to an instance of AiEdgeCondition
|
|
30
28
|
#
|
|
31
29
|
# @param json_object [String]
|
|
32
|
-
# @return [Vapi::
|
|
30
|
+
# @return [Vapi::AiEdgeCondition]
|
|
33
31
|
def self.from_json(json_object:)
|
|
34
32
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
35
33
|
parsed_json = JSON.parse(json_object)
|
|
@@ -37,7 +35,7 @@ module Vapi
|
|
|
37
35
|
new(matches: matches, additional_properties: struct)
|
|
38
36
|
end
|
|
39
37
|
|
|
40
|
-
# Serialize an instance of
|
|
38
|
+
# Serialize an instance of AiEdgeCondition to a JSON object
|
|
41
39
|
#
|
|
42
40
|
# @return [String]
|
|
43
41
|
def to_json(*_args)
|
|
@@ -51,7 +49,7 @@ module Vapi
|
|
|
51
49
|
# @param obj [Object]
|
|
52
50
|
# @return [Void]
|
|
53
51
|
def self.validate_raw(obj:)
|
|
54
|
-
obj.matches
|
|
52
|
+
obj.matches.is_a?(Array) != false || raise("Passed value for field obj.matches is not the expected type, validation failed.")
|
|
55
53
|
end
|
|
56
54
|
end
|
|
57
55
|
end
|