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
@@ -91,22 +91,22 @@ module Vapi
|
|
91
91
|
# @param call_id [String] This is the ID of the call.
|
92
92
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
93
93
|
# @return [Vapi::Log]
|
94
|
-
def initialize(time:, org_id:, type:, request_duration_seconds
|
95
|
-
request_body
|
94
|
+
def initialize(time:, org_id:, type:, webhook_type: OMIT, resource: OMIT, request_duration_seconds: OMIT,
|
95
|
+
request_started_at: OMIT, request_finished_at: OMIT, request_body: OMIT, request_http_method: OMIT, request_url: OMIT, request_path: OMIT, request_query: OMIT, response_http_code: OMIT, request_ip_address: OMIT, request_origin: OMIT, response_body: OMIT, request_headers: OMIT, error: OMIT, assistant_id: OMIT, phone_number_id: OMIT, customer_id: OMIT, squad_id: OMIT, call_id: OMIT, additional_properties: nil)
|
96
96
|
@time = time
|
97
97
|
@org_id = org_id
|
98
98
|
@type = type
|
99
99
|
@webhook_type = webhook_type if webhook_type != OMIT
|
100
100
|
@resource = resource if resource != OMIT
|
101
|
-
@request_duration_seconds = request_duration_seconds
|
102
|
-
@request_started_at = request_started_at
|
103
|
-
@request_finished_at = request_finished_at
|
104
|
-
@request_body = request_body
|
105
|
-
@request_http_method = request_http_method
|
106
|
-
@request_url = request_url
|
107
|
-
@request_path = request_path
|
101
|
+
@request_duration_seconds = request_duration_seconds if request_duration_seconds != OMIT
|
102
|
+
@request_started_at = request_started_at if request_started_at != OMIT
|
103
|
+
@request_finished_at = request_finished_at if request_finished_at != OMIT
|
104
|
+
@request_body = request_body if request_body != OMIT
|
105
|
+
@request_http_method = request_http_method if request_http_method != OMIT
|
106
|
+
@request_url = request_url if request_url != OMIT
|
107
|
+
@request_path = request_path if request_path != OMIT
|
108
108
|
@request_query = request_query if request_query != OMIT
|
109
|
-
@response_http_code = response_http_code
|
109
|
+
@response_http_code = response_http_code if response_http_code != OMIT
|
110
110
|
@request_ip_address = request_ip_address if request_ip_address != OMIT
|
111
111
|
@request_origin = request_origin if request_origin != OMIT
|
112
112
|
@response_body = response_body if response_body != OMIT
|
@@ -232,15 +232,15 @@ module Vapi
|
|
232
232
|
obj.type.is_a?(Vapi::LogType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
233
233
|
obj.webhook_type&.is_a?(String) != false || raise("Passed value for field obj.webhook_type is not the expected type, validation failed.")
|
234
234
|
obj.resource&.is_a?(Vapi::LogResource) != false || raise("Passed value for field obj.resource is not the expected type, validation failed.")
|
235
|
-
obj.request_duration_seconds
|
236
|
-
obj.request_started_at
|
237
|
-
obj.request_finished_at
|
238
|
-
obj.request_body
|
239
|
-
obj.request_http_method
|
240
|
-
obj.request_url
|
241
|
-
obj.request_path
|
235
|
+
obj.request_duration_seconds&.is_a?(Float) != false || raise("Passed value for field obj.request_duration_seconds is not the expected type, validation failed.")
|
236
|
+
obj.request_started_at&.is_a?(String) != false || raise("Passed value for field obj.request_started_at is not the expected type, validation failed.")
|
237
|
+
obj.request_finished_at&.is_a?(String) != false || raise("Passed value for field obj.request_finished_at is not the expected type, validation failed.")
|
238
|
+
obj.request_body&.is_a?(Hash) != false || raise("Passed value for field obj.request_body is not the expected type, validation failed.")
|
239
|
+
obj.request_http_method&.is_a?(Vapi::LogRequestHttpMethod) != false || raise("Passed value for field obj.request_http_method is not the expected type, validation failed.")
|
240
|
+
obj.request_url&.is_a?(String) != false || raise("Passed value for field obj.request_url is not the expected type, validation failed.")
|
241
|
+
obj.request_path&.is_a?(String) != false || raise("Passed value for field obj.request_path is not the expected type, validation failed.")
|
242
242
|
obj.request_query&.is_a?(String) != false || raise("Passed value for field obj.request_query is not the expected type, validation failed.")
|
243
|
-
obj.response_http_code
|
243
|
+
obj.response_http_code&.is_a?(Float) != false || raise("Passed value for field obj.response_http_code is not the expected type, validation failed.")
|
244
244
|
obj.request_ip_address&.is_a?(String) != false || raise("Passed value for field obj.request_ip_address is not the expected type, validation failed.")
|
245
245
|
obj.request_origin&.is_a?(String) != false || raise("Passed value for field obj.request_origin is not the expected type, validation failed.")
|
246
246
|
obj.response_body&.is_a?(Hash) != false || raise("Passed value for field obj.response_body is not the expected type, validation failed.")
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class LogicEdgeCondition
|
8
|
+
# @return [String]
|
9
|
+
attr_reader :liquid
|
10
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
11
|
+
attr_reader :additional_properties
|
12
|
+
# @return [Object]
|
13
|
+
attr_reader :_field_set
|
14
|
+
protected :_field_set
|
15
|
+
|
16
|
+
OMIT = Object.new
|
17
|
+
|
18
|
+
# @param liquid [String]
|
19
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
20
|
+
# @return [Vapi::LogicEdgeCondition]
|
21
|
+
def initialize(liquid:, additional_properties: nil)
|
22
|
+
@liquid = liquid
|
23
|
+
@additional_properties = additional_properties
|
24
|
+
@_field_set = { "liquid": liquid }
|
25
|
+
end
|
26
|
+
|
27
|
+
# Deserialize a JSON object to an instance of LogicEdgeCondition
|
28
|
+
#
|
29
|
+
# @param json_object [String]
|
30
|
+
# @return [Vapi::LogicEdgeCondition]
|
31
|
+
def self.from_json(json_object:)
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
33
|
+
parsed_json = JSON.parse(json_object)
|
34
|
+
liquid = parsed_json["liquid"]
|
35
|
+
new(liquid: liquid, additional_properties: struct)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Serialize an instance of LogicEdgeCondition to a JSON object
|
39
|
+
#
|
40
|
+
# @return [String]
|
41
|
+
def to_json(*_args)
|
42
|
+
@_field_set&.to_json
|
43
|
+
end
|
44
|
+
|
45
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
46
|
+
# hash and check each fields type against the current object's property
|
47
|
+
# definitions.
|
48
|
+
#
|
49
|
+
# @param obj [Object]
|
50
|
+
# @return [Void]
|
51
|
+
def self.validate_raw(obj:)
|
52
|
+
obj.liquid.is_a?(String) != false || raise("Passed value for field obj.liquid is not the expected type, validation failed.")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -22,8 +22,6 @@ module Vapi
|
|
22
22
|
# `tool.destinations`. For others like the function tool, these can be custom
|
23
23
|
# configured.
|
24
24
|
attr_reader :messages
|
25
|
-
# @return [String] The type of tool. "make" for Make tool.
|
26
|
-
attr_reader :type
|
27
25
|
# @return [Vapi::ToolCall]
|
28
26
|
attr_reader :tool_call
|
29
27
|
# @return [Vapi::MakeToolMetadata]
|
@@ -63,7 +61,6 @@ module Vapi
|
|
63
61
|
# For some tools, this is auto-filled based on special fields like
|
64
62
|
# `tool.destinations`. For others like the function tool, these can be custom
|
65
63
|
# configured.
|
66
|
-
# @param type [String] The type of tool. "make" for Make tool.
|
67
64
|
# @param tool_call [Vapi::ToolCall]
|
68
65
|
# @param metadata [Vapi::MakeToolMetadata]
|
69
66
|
# @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
|
@@ -83,11 +80,10 @@ module Vapi
|
|
83
80
|
# phoneNumber.serverUrl, then org.serverUrl.
|
84
81
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
85
82
|
# @return [Vapi::MakeToolWithToolCall]
|
86
|
-
def initialize(
|
83
|
+
def initialize(tool_call:, metadata:, async: OMIT, messages: OMIT, function: OMIT, server: OMIT,
|
87
84
|
additional_properties: nil)
|
88
85
|
@async = async if async != OMIT
|
89
86
|
@messages = messages if messages != OMIT
|
90
|
-
@type = type
|
91
87
|
@tool_call = tool_call
|
92
88
|
@metadata = metadata
|
93
89
|
@function = function if function != OMIT
|
@@ -96,7 +92,6 @@ module Vapi
|
|
96
92
|
@_field_set = {
|
97
93
|
"async": async,
|
98
94
|
"messages": messages,
|
99
|
-
"type": type,
|
100
95
|
"toolCall": tool_call,
|
101
96
|
"metadata": metadata,
|
102
97
|
"function": function,
|
@@ -118,7 +113,6 @@ module Vapi
|
|
118
113
|
item = item.to_json
|
119
114
|
Vapi::MakeToolWithToolCallMessagesItem.from_json(json_object: item)
|
120
115
|
end
|
121
|
-
type = parsed_json["type"]
|
122
116
|
if parsed_json["toolCall"].nil?
|
123
117
|
tool_call = nil
|
124
118
|
else
|
@@ -146,7 +140,6 @@ module Vapi
|
|
146
140
|
new(
|
147
141
|
async: async,
|
148
142
|
messages: messages,
|
149
|
-
type: type,
|
150
143
|
tool_call: tool_call,
|
151
144
|
metadata: metadata,
|
152
145
|
function: function,
|
@@ -171,7 +164,6 @@ module Vapi
|
|
171
164
|
def self.validate_raw(obj:)
|
172
165
|
obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
|
173
166
|
obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
|
174
|
-
obj.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
175
167
|
Vapi::ToolCall.validate_raw(obj: obj.tool_call)
|
176
168
|
Vapi::MakeToolMetadata.validate_raw(obj: obj.metadata)
|
177
169
|
obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
|
@@ -25,6 +25,9 @@ module Vapi
|
|
25
25
|
# the user speaks.
|
26
26
|
# @default 10
|
27
27
|
attr_reader :idle_timeout_seconds
|
28
|
+
# @return [String] This is the message that the assistant will say if the call ends due to silence.
|
29
|
+
# If unspecified, it will hang up without saying anything.
|
30
|
+
attr_reader :silence_timeout_message
|
28
31
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
29
32
|
attr_reader :additional_properties
|
30
33
|
# @return [Object]
|
@@ -50,18 +53,22 @@ module Vapi
|
|
50
53
|
# The clock starts when the assistant finishes speaking and remains active until
|
51
54
|
# the user speaks.
|
52
55
|
# @default 10
|
56
|
+
# @param silence_timeout_message [String] This is the message that the assistant will say if the call ends due to silence.
|
57
|
+
# If unspecified, it will hang up without saying anything.
|
53
58
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
54
59
|
# @return [Vapi::MessagePlan]
|
55
60
|
def initialize(idle_messages: OMIT, idle_message_max_spoken_count: OMIT, idle_timeout_seconds: OMIT,
|
56
|
-
additional_properties: nil)
|
61
|
+
silence_timeout_message: OMIT, additional_properties: nil)
|
57
62
|
@idle_messages = idle_messages if idle_messages != OMIT
|
58
63
|
@idle_message_max_spoken_count = idle_message_max_spoken_count if idle_message_max_spoken_count != OMIT
|
59
64
|
@idle_timeout_seconds = idle_timeout_seconds if idle_timeout_seconds != OMIT
|
65
|
+
@silence_timeout_message = silence_timeout_message if silence_timeout_message != OMIT
|
60
66
|
@additional_properties = additional_properties
|
61
67
|
@_field_set = {
|
62
68
|
"idleMessages": idle_messages,
|
63
69
|
"idleMessageMaxSpokenCount": idle_message_max_spoken_count,
|
64
|
-
"idleTimeoutSeconds": idle_timeout_seconds
|
70
|
+
"idleTimeoutSeconds": idle_timeout_seconds,
|
71
|
+
"silenceTimeoutMessage": silence_timeout_message
|
65
72
|
}.reject do |_k, v|
|
66
73
|
v == OMIT
|
67
74
|
end
|
@@ -77,10 +84,12 @@ module Vapi
|
|
77
84
|
idle_messages = parsed_json["idleMessages"]
|
78
85
|
idle_message_max_spoken_count = parsed_json["idleMessageMaxSpokenCount"]
|
79
86
|
idle_timeout_seconds = parsed_json["idleTimeoutSeconds"]
|
87
|
+
silence_timeout_message = parsed_json["silenceTimeoutMessage"]
|
80
88
|
new(
|
81
89
|
idle_messages: idle_messages,
|
82
90
|
idle_message_max_spoken_count: idle_message_max_spoken_count,
|
83
91
|
idle_timeout_seconds: idle_timeout_seconds,
|
92
|
+
silence_timeout_message: silence_timeout_message,
|
84
93
|
additional_properties: struct
|
85
94
|
)
|
86
95
|
end
|
@@ -102,6 +111,7 @@ module Vapi
|
|
102
111
|
obj.idle_messages&.is_a?(Array) != false || raise("Passed value for field obj.idle_messages is not the expected type, validation failed.")
|
103
112
|
obj.idle_message_max_spoken_count&.is_a?(Float) != false || raise("Passed value for field obj.idle_message_max_spoken_count is not the expected type, validation failed.")
|
104
113
|
obj.idle_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.idle_timeout_seconds is not the expected type, validation failed.")
|
114
|
+
obj.silence_timeout_message&.is_a?(String) != false || raise("Passed value for field obj.silence_timeout_message is not the expected type, validation failed.")
|
105
115
|
end
|
106
116
|
end
|
107
117
|
end
|
@@ -30,8 +30,6 @@ module Vapi
|
|
30
30
|
# shouldn't be specified unless you have a specific reason to do so. Vapi will
|
31
31
|
# automatically find the fastest fallbacks that make sense.
|
32
32
|
attr_reader :fallback_models
|
33
|
-
# @return [Boolean]
|
34
|
-
attr_reader :semantic_caching_enabled
|
35
33
|
# @return [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
36
34
|
# caching for lower latency.
|
37
35
|
attr_reader :temperature
|
@@ -71,7 +69,6 @@ module Vapi
|
|
71
69
|
# @param fallback_models [Array<Vapi::OpenAiModelFallbackModelsItem>] These are the fallback models that will be used if the primary model fails. This
|
72
70
|
# shouldn't be specified unless you have a specific reason to do so. Vapi will
|
73
71
|
# automatically find the fastest fallbacks that make sense.
|
74
|
-
# @param semantic_caching_enabled [Boolean]
|
75
72
|
# @param temperature [Float] This is the temperature that will be used for calls. Default is 0 to leverage
|
76
73
|
# caching for lower latency.
|
77
74
|
# @param max_tokens [Float] This is the max number of tokens that the assistant will be allowed to generate
|
@@ -89,7 +86,7 @@ module Vapi
|
|
89
86
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
90
87
|
# @return [Vapi::OpenAiModel]
|
91
88
|
def initialize(model:, messages: OMIT, tools: OMIT, tool_ids: OMIT, knowledge_base: OMIT, knowledge_base_id: OMIT,
|
92
|
-
fallback_models: OMIT,
|
89
|
+
fallback_models: OMIT, temperature: OMIT, max_tokens: OMIT, emotion_recognition_enabled: OMIT, num_fast_turns: OMIT, additional_properties: nil)
|
93
90
|
@messages = messages if messages != OMIT
|
94
91
|
@tools = tools if tools != OMIT
|
95
92
|
@tool_ids = tool_ids if tool_ids != OMIT
|
@@ -97,7 +94,6 @@ module Vapi
|
|
97
94
|
@knowledge_base_id = knowledge_base_id if knowledge_base_id != OMIT
|
98
95
|
@model = model
|
99
96
|
@fallback_models = fallback_models if fallback_models != OMIT
|
100
|
-
@semantic_caching_enabled = semantic_caching_enabled if semantic_caching_enabled != OMIT
|
101
97
|
@temperature = temperature if temperature != OMIT
|
102
98
|
@max_tokens = max_tokens if max_tokens != OMIT
|
103
99
|
@emotion_recognition_enabled = emotion_recognition_enabled if emotion_recognition_enabled != OMIT
|
@@ -111,7 +107,6 @@ module Vapi
|
|
111
107
|
"knowledgeBaseId": knowledge_base_id,
|
112
108
|
"model": model,
|
113
109
|
"fallbackModels": fallback_models,
|
114
|
-
"semanticCachingEnabled": semantic_caching_enabled,
|
115
110
|
"temperature": temperature,
|
116
111
|
"maxTokens": max_tokens,
|
117
112
|
"emotionRecognitionEnabled": emotion_recognition_enabled,
|
@@ -146,7 +141,6 @@ module Vapi
|
|
146
141
|
knowledge_base_id = parsed_json["knowledgeBaseId"]
|
147
142
|
model = parsed_json["model"]
|
148
143
|
fallback_models = parsed_json["fallbackModels"]
|
149
|
-
semantic_caching_enabled = parsed_json["semanticCachingEnabled"]
|
150
144
|
temperature = parsed_json["temperature"]
|
151
145
|
max_tokens = parsed_json["maxTokens"]
|
152
146
|
emotion_recognition_enabled = parsed_json["emotionRecognitionEnabled"]
|
@@ -159,7 +153,6 @@ module Vapi
|
|
159
153
|
knowledge_base_id: knowledge_base_id,
|
160
154
|
model: model,
|
161
155
|
fallback_models: fallback_models,
|
162
|
-
semantic_caching_enabled: semantic_caching_enabled,
|
163
156
|
temperature: temperature,
|
164
157
|
max_tokens: max_tokens,
|
165
158
|
emotion_recognition_enabled: emotion_recognition_enabled,
|
@@ -189,7 +182,6 @@ module Vapi
|
|
189
182
|
obj.knowledge_base_id&.is_a?(String) != false || raise("Passed value for field obj.knowledge_base_id is not the expected type, validation failed.")
|
190
183
|
obj.model.is_a?(Vapi::OpenAiModelModel) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
|
191
184
|
obj.fallback_models&.is_a?(Array) != false || raise("Passed value for field obj.fallback_models is not the expected type, validation failed.")
|
192
|
-
obj.semantic_caching_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.semantic_caching_enabled is not the expected type, validation failed.")
|
193
185
|
obj.temperature&.is_a?(Float) != false || raise("Passed value for field obj.temperature is not the expected type, validation failed.")
|
194
186
|
obj.max_tokens&.is_a?(Float) != false || raise("Passed value for field obj.max_tokens is not the expected type, validation failed.")
|
195
187
|
obj.emotion_recognition_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.emotion_recognition_enabled is not the expected type, validation failed.")
|
@@ -2,26 +2,6 @@
|
|
2
2
|
|
3
3
|
module Vapi
|
4
4
|
class RimeAiVoiceIdEnum
|
5
|
-
MARSH = "marsh"
|
6
|
-
BAYOU = "bayou"
|
7
|
-
CREEK = "creek"
|
8
|
-
BROOK = "brook"
|
9
|
-
FLOWER = "flower"
|
10
|
-
SPORE = "spore"
|
11
|
-
GLACIER = "glacier"
|
12
|
-
GULCH = "gulch"
|
13
|
-
ALPINE = "alpine"
|
14
|
-
COVE = "cove"
|
15
|
-
LAGOON = "lagoon"
|
16
|
-
TUNDRA = "tundra"
|
17
|
-
STEPPE = "steppe"
|
18
|
-
MESA = "mesa"
|
19
|
-
GROVE = "grove"
|
20
|
-
RAINFOREST = "rainforest"
|
21
|
-
MORAINE = "moraine"
|
22
|
-
WILDFLOWER = "wildflower"
|
23
|
-
PEAK = "peak"
|
24
|
-
BOULDER = "boulder"
|
25
5
|
ABBIE = "abbie"
|
26
6
|
ALLISON = "allison"
|
27
7
|
ALLY = "ally"
|
@@ -83,5 +63,27 @@ module Vapi
|
|
83
63
|
TYLER = "tyler"
|
84
64
|
VIV = "viv"
|
85
65
|
YADIRA = "yadira"
|
66
|
+
MARSH = "marsh"
|
67
|
+
BAYOU = "bayou"
|
68
|
+
CREEK = "creek"
|
69
|
+
BROOK = "brook"
|
70
|
+
FLOWER = "flower"
|
71
|
+
SPORE = "spore"
|
72
|
+
GLACIER = "glacier"
|
73
|
+
GULCH = "gulch"
|
74
|
+
ALPINE = "alpine"
|
75
|
+
COVE = "cove"
|
76
|
+
LAGOON = "lagoon"
|
77
|
+
TUNDRA = "tundra"
|
78
|
+
STEPPE = "steppe"
|
79
|
+
MESA = "mesa"
|
80
|
+
GROVE = "grove"
|
81
|
+
RAINFOREST = "rainforest"
|
82
|
+
MORAINE = "moraine"
|
83
|
+
WILDFLOWER = "wildflower"
|
84
|
+
PEAK = "peak"
|
85
|
+
BOULDER = "boulder"
|
86
|
+
GYPSUM = "gypsum"
|
87
|
+
ZEST = "zest"
|
86
88
|
end
|
87
89
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class Say
|
8
|
+
# @return [String]
|
9
|
+
attr_reader :exact
|
10
|
+
# @return [String]
|
11
|
+
attr_reader :prompt
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :name
|
14
|
+
# @return [Hash{String => Object}] This is for metadata you want to store on the task.
|
15
|
+
attr_reader :metadata
|
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 exact [String]
|
25
|
+
# @param prompt [String]
|
26
|
+
# @param name [String]
|
27
|
+
# @param metadata [Hash{String => Object}] This is for metadata you want to store on the task.
|
28
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
29
|
+
# @return [Vapi::Say]
|
30
|
+
def initialize(name:, exact: OMIT, prompt: OMIT, metadata: OMIT, additional_properties: nil)
|
31
|
+
@exact = exact if exact != OMIT
|
32
|
+
@prompt = prompt if prompt != OMIT
|
33
|
+
@name = name
|
34
|
+
@metadata = metadata if metadata != OMIT
|
35
|
+
@additional_properties = additional_properties
|
36
|
+
@_field_set = { "exact": exact, "prompt": prompt, "name": name, "metadata": metadata }.reject do |_k, v|
|
37
|
+
v == OMIT
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Deserialize a JSON object to an instance of Say
|
42
|
+
#
|
43
|
+
# @param json_object [String]
|
44
|
+
# @return [Vapi::Say]
|
45
|
+
def self.from_json(json_object:)
|
46
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
47
|
+
parsed_json = JSON.parse(json_object)
|
48
|
+
exact = parsed_json["exact"]
|
49
|
+
prompt = parsed_json["prompt"]
|
50
|
+
name = parsed_json["name"]
|
51
|
+
metadata = parsed_json["metadata"]
|
52
|
+
new(
|
53
|
+
exact: exact,
|
54
|
+
prompt: prompt,
|
55
|
+
name: name,
|
56
|
+
metadata: metadata,
|
57
|
+
additional_properties: struct
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Serialize an instance of Say 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.exact&.is_a?(String) != false || raise("Passed value for field obj.exact is not the expected type, validation failed.")
|
76
|
+
obj.prompt&.is_a?(String) != false || raise("Passed value for field obj.prompt is not the expected type, validation failed.")
|
77
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
78
|
+
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class SayHook
|
8
|
+
# @return [String]
|
9
|
+
attr_reader :type
|
10
|
+
# @return [Hash{String => Object}] This is for metadata you want to store on the task.
|
11
|
+
attr_reader :metadata
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :exact
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :prompt
|
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 type [String]
|
25
|
+
# @param metadata [Hash{String => Object}] This is for metadata you want to store on the task.
|
26
|
+
# @param exact [String]
|
27
|
+
# @param prompt [String]
|
28
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
29
|
+
# @return [Vapi::SayHook]
|
30
|
+
def initialize(type:, metadata: OMIT, exact: OMIT, prompt: OMIT, additional_properties: nil)
|
31
|
+
@type = type
|
32
|
+
@metadata = metadata if metadata != OMIT
|
33
|
+
@exact = exact if exact != OMIT
|
34
|
+
@prompt = prompt if prompt != OMIT
|
35
|
+
@additional_properties = additional_properties
|
36
|
+
@_field_set = { "type": type, "metadata": metadata, "exact": exact, "prompt": prompt }.reject do |_k, v|
|
37
|
+
v == OMIT
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Deserialize a JSON object to an instance of SayHook
|
42
|
+
#
|
43
|
+
# @param json_object [String]
|
44
|
+
# @return [Vapi::SayHook]
|
45
|
+
def self.from_json(json_object:)
|
46
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
47
|
+
parsed_json = JSON.parse(json_object)
|
48
|
+
type = parsed_json["type"]
|
49
|
+
metadata = parsed_json["metadata"]
|
50
|
+
exact = parsed_json["exact"]
|
51
|
+
prompt = parsed_json["prompt"]
|
52
|
+
new(
|
53
|
+
type: type,
|
54
|
+
metadata: metadata,
|
55
|
+
exact: exact,
|
56
|
+
prompt: prompt,
|
57
|
+
additional_properties: struct
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Serialize an instance of SayHook 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.type.is_a?(String) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
|
76
|
+
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
77
|
+
obj.exact&.is_a?(String) != false || raise("Passed value for field obj.exact is not the expected type, validation failed.")
|
78
|
+
obj.prompt&.is_a?(String) != false || raise("Passed value for field obj.prompt is not the expected type, validation failed.")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "backoff_plan"
|
3
4
|
require "ostruct"
|
4
5
|
require "json"
|
5
6
|
|
@@ -18,6 +19,8 @@ module Vapi
|
|
18
19
|
# @return [Hash{String => Object}] These are the custom headers to include in the request sent to your server.
|
19
20
|
# Each key-value pair represents a header name and its value.
|
20
21
|
attr_reader :headers
|
22
|
+
# @return [Vapi::BackoffPlan] This is the backoff plan to use if the request fails.
|
23
|
+
attr_reader :backoff_plan
|
21
24
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
22
25
|
attr_reader :additional_properties
|
23
26
|
# @return [Object]
|
@@ -35,19 +38,23 @@ module Vapi
|
|
35
38
|
# Same precedence logic as server.
|
36
39
|
# @param headers [Hash{String => Object}] These are the custom headers to include in the request sent to your server.
|
37
40
|
# Each key-value pair represents a header name and its value.
|
41
|
+
# @param backoff_plan [Vapi::BackoffPlan] This is the backoff plan to use if the request fails.
|
38
42
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
39
43
|
# @return [Vapi::Server]
|
40
|
-
def initialize(url:, timeout_seconds: OMIT, secret: OMIT, headers: OMIT,
|
44
|
+
def initialize(url:, timeout_seconds: OMIT, secret: OMIT, headers: OMIT, backoff_plan: OMIT,
|
45
|
+
additional_properties: nil)
|
41
46
|
@timeout_seconds = timeout_seconds if timeout_seconds != OMIT
|
42
47
|
@url = url
|
43
48
|
@secret = secret if secret != OMIT
|
44
49
|
@headers = headers if headers != OMIT
|
50
|
+
@backoff_plan = backoff_plan if backoff_plan != OMIT
|
45
51
|
@additional_properties = additional_properties
|
46
52
|
@_field_set = {
|
47
53
|
"timeoutSeconds": timeout_seconds,
|
48
54
|
"url": url,
|
49
55
|
"secret": secret,
|
50
|
-
"headers": headers
|
56
|
+
"headers": headers,
|
57
|
+
"backoffPlan": backoff_plan
|
51
58
|
}.reject do |_k, v|
|
52
59
|
v == OMIT
|
53
60
|
end
|
@@ -64,11 +71,18 @@ module Vapi
|
|
64
71
|
url = parsed_json["url"]
|
65
72
|
secret = parsed_json["secret"]
|
66
73
|
headers = parsed_json["headers"]
|
74
|
+
if parsed_json["backoffPlan"].nil?
|
75
|
+
backoff_plan = nil
|
76
|
+
else
|
77
|
+
backoff_plan = parsed_json["backoffPlan"].to_json
|
78
|
+
backoff_plan = Vapi::BackoffPlan.from_json(json_object: backoff_plan)
|
79
|
+
end
|
67
80
|
new(
|
68
81
|
timeout_seconds: timeout_seconds,
|
69
82
|
url: url,
|
70
83
|
secret: secret,
|
71
84
|
headers: headers,
|
85
|
+
backoff_plan: backoff_plan,
|
72
86
|
additional_properties: struct
|
73
87
|
)
|
74
88
|
end
|
@@ -91,6 +105,7 @@ module Vapi
|
|
91
105
|
obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
|
92
106
|
obj.secret&.is_a?(String) != false || raise("Passed value for field obj.secret is not the expected type, validation failed.")
|
93
107
|
obj.headers&.is_a?(Hash) != false || raise("Passed value for field obj.headers is not the expected type, validation failed.")
|
108
|
+
obj.backoff_plan.nil? || Vapi::BackoffPlan.validate_raw(obj: obj.backoff_plan)
|
94
109
|
end
|
95
110
|
end
|
96
111
|
end
|