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,199 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "computer_tool_with_tool_call_messages_item"
|
4
|
+
require_relative "tool_call"
|
5
|
+
require_relative "open_ai_function"
|
6
|
+
require_relative "server"
|
7
|
+
require "ostruct"
|
8
|
+
require "json"
|
9
|
+
|
10
|
+
module Vapi
|
11
|
+
class ComputerToolWithToolCall
|
12
|
+
# @return [Boolean] This determines if the tool is async.
|
13
|
+
# If async, the assistant will move forward without waiting for your server to
|
14
|
+
# respond. This is useful if you just want to trigger something on your server.
|
15
|
+
# If sync, the assistant will wait for your server to respond. This is useful if
|
16
|
+
# want assistant to respond with the result from your server.
|
17
|
+
# Defaults to synchronous (`false`).
|
18
|
+
attr_reader :async
|
19
|
+
# @return [Array<Vapi::ComputerToolWithToolCallMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
|
20
|
+
# For some tools, this is auto-filled based on special fields like
|
21
|
+
# `tool.destinations`. For others like the function tool, these can be custom
|
22
|
+
# configured.
|
23
|
+
attr_reader :messages
|
24
|
+
# @return [String] The sub type of tool.
|
25
|
+
attr_reader :sub_type
|
26
|
+
# @return [Vapi::ToolCall]
|
27
|
+
attr_reader :tool_call
|
28
|
+
# @return [String] The name of the tool, fixed to 'computer'
|
29
|
+
attr_reader :name
|
30
|
+
# @return [Float] The display width in pixels
|
31
|
+
attr_reader :display_width_px
|
32
|
+
# @return [Float] The display height in pixels
|
33
|
+
attr_reader :display_height_px
|
34
|
+
# @return [Float] Optional display number
|
35
|
+
attr_reader :display_number
|
36
|
+
# @return [Vapi::OpenAiFunction] This is the function definition of the tool.
|
37
|
+
# For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
|
38
|
+
# tool-specific fields like `tool.destinations`. But, even in those cases, you can
|
39
|
+
# provide a custom function definition for advanced use cases.
|
40
|
+
# An example of an advanced use case is if you want to customize the message
|
41
|
+
# that's spoken for `endCall` tool. You can specify a function where it returns an
|
42
|
+
# argument "reason". Then, in `messages` array, you can have many
|
43
|
+
# "request-complete" messages. One of these messages will be triggered if the
|
44
|
+
# `messages[].conditions` matches the "reason" argument.
|
45
|
+
attr_reader :function
|
46
|
+
# @return [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
|
47
|
+
# All requests will be sent with the call object among other things. You can find
|
48
|
+
# more details in the Server URL documentation.
|
49
|
+
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
50
|
+
# precedence: highest tool.server.url, then assistant.serverUrl, then
|
51
|
+
# phoneNumber.serverUrl, then org.serverUrl.
|
52
|
+
attr_reader :server
|
53
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
54
|
+
attr_reader :additional_properties
|
55
|
+
# @return [Object]
|
56
|
+
attr_reader :_field_set
|
57
|
+
protected :_field_set
|
58
|
+
|
59
|
+
OMIT = Object.new
|
60
|
+
|
61
|
+
# @param async [Boolean] This determines if the tool is async.
|
62
|
+
# If async, the assistant will move forward without waiting for your server to
|
63
|
+
# respond. This is useful if you just want to trigger something on your server.
|
64
|
+
# If sync, the assistant will wait for your server to respond. This is useful if
|
65
|
+
# want assistant to respond with the result from your server.
|
66
|
+
# Defaults to synchronous (`false`).
|
67
|
+
# @param messages [Array<Vapi::ComputerToolWithToolCallMessagesItem>] These are the messages that will be spoken to the user as the tool is running.
|
68
|
+
# For some tools, this is auto-filled based on special fields like
|
69
|
+
# `tool.destinations`. For others like the function tool, these can be custom
|
70
|
+
# configured.
|
71
|
+
# @param sub_type [String] The sub type of tool.
|
72
|
+
# @param tool_call [Vapi::ToolCall]
|
73
|
+
# @param name [String] The name of the tool, fixed to 'computer'
|
74
|
+
# @param display_width_px [Float] The display width in pixels
|
75
|
+
# @param display_height_px [Float] The display height in pixels
|
76
|
+
# @param display_number [Float] Optional display number
|
77
|
+
# @param function [Vapi::OpenAiFunction] This is the function definition of the tool.
|
78
|
+
# For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on
|
79
|
+
# tool-specific fields like `tool.destinations`. But, even in those cases, you can
|
80
|
+
# provide a custom function definition for advanced use cases.
|
81
|
+
# An example of an advanced use case is if you want to customize the message
|
82
|
+
# that's spoken for `endCall` tool. You can specify a function where it returns an
|
83
|
+
# argument "reason". Then, in `messages` array, you can have many
|
84
|
+
# "request-complete" messages. One of these messages will be triggered if the
|
85
|
+
# `messages[].conditions` matches the "reason" argument.
|
86
|
+
# @param server [Vapi::Server] This is the server that will be hit when this tool is requested by the model.
|
87
|
+
# All requests will be sent with the call object among other things. You can find
|
88
|
+
# more details in the Server URL documentation.
|
89
|
+
# This overrides the serverUrl set on the org and the phoneNumber. Order of
|
90
|
+
# precedence: highest tool.server.url, then assistant.serverUrl, then
|
91
|
+
# phoneNumber.serverUrl, then org.serverUrl.
|
92
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
93
|
+
# @return [Vapi::ComputerToolWithToolCall]
|
94
|
+
def initialize(sub_type:, tool_call:, name:, display_width_px:, display_height_px:, async: OMIT, messages: OMIT,
|
95
|
+
display_number: OMIT, function: OMIT, server: OMIT, additional_properties: nil)
|
96
|
+
@async = async if async != OMIT
|
97
|
+
@messages = messages if messages != OMIT
|
98
|
+
@sub_type = sub_type
|
99
|
+
@tool_call = tool_call
|
100
|
+
@name = name
|
101
|
+
@display_width_px = display_width_px
|
102
|
+
@display_height_px = display_height_px
|
103
|
+
@display_number = display_number if display_number != OMIT
|
104
|
+
@function = function if function != OMIT
|
105
|
+
@server = server if server != OMIT
|
106
|
+
@additional_properties = additional_properties
|
107
|
+
@_field_set = {
|
108
|
+
"async": async,
|
109
|
+
"messages": messages,
|
110
|
+
"subType": sub_type,
|
111
|
+
"toolCall": tool_call,
|
112
|
+
"name": name,
|
113
|
+
"displayWidthPx": display_width_px,
|
114
|
+
"displayHeightPx": display_height_px,
|
115
|
+
"displayNumber": display_number,
|
116
|
+
"function": function,
|
117
|
+
"server": server
|
118
|
+
}.reject do |_k, v|
|
119
|
+
v == OMIT
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
# Deserialize a JSON object to an instance of ComputerToolWithToolCall
|
124
|
+
#
|
125
|
+
# @param json_object [String]
|
126
|
+
# @return [Vapi::ComputerToolWithToolCall]
|
127
|
+
def self.from_json(json_object:)
|
128
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
129
|
+
parsed_json = JSON.parse(json_object)
|
130
|
+
async = parsed_json["async"]
|
131
|
+
messages = parsed_json["messages"]&.map do |item|
|
132
|
+
item = item.to_json
|
133
|
+
Vapi::ComputerToolWithToolCallMessagesItem.from_json(json_object: item)
|
134
|
+
end
|
135
|
+
sub_type = parsed_json["subType"]
|
136
|
+
if parsed_json["toolCall"].nil?
|
137
|
+
tool_call = nil
|
138
|
+
else
|
139
|
+
tool_call = parsed_json["toolCall"].to_json
|
140
|
+
tool_call = Vapi::ToolCall.from_json(json_object: tool_call)
|
141
|
+
end
|
142
|
+
name = parsed_json["name"]
|
143
|
+
display_width_px = parsed_json["displayWidthPx"]
|
144
|
+
display_height_px = parsed_json["displayHeightPx"]
|
145
|
+
display_number = parsed_json["displayNumber"]
|
146
|
+
if parsed_json["function"].nil?
|
147
|
+
function = nil
|
148
|
+
else
|
149
|
+
function = parsed_json["function"].to_json
|
150
|
+
function = Vapi::OpenAiFunction.from_json(json_object: function)
|
151
|
+
end
|
152
|
+
if parsed_json["server"].nil?
|
153
|
+
server = nil
|
154
|
+
else
|
155
|
+
server = parsed_json["server"].to_json
|
156
|
+
server = Vapi::Server.from_json(json_object: server)
|
157
|
+
end
|
158
|
+
new(
|
159
|
+
async: async,
|
160
|
+
messages: messages,
|
161
|
+
sub_type: sub_type,
|
162
|
+
tool_call: tool_call,
|
163
|
+
name: name,
|
164
|
+
display_width_px: display_width_px,
|
165
|
+
display_height_px: display_height_px,
|
166
|
+
display_number: display_number,
|
167
|
+
function: function,
|
168
|
+
server: server,
|
169
|
+
additional_properties: struct
|
170
|
+
)
|
171
|
+
end
|
172
|
+
|
173
|
+
# Serialize an instance of ComputerToolWithToolCall to a JSON object
|
174
|
+
#
|
175
|
+
# @return [String]
|
176
|
+
def to_json(*_args)
|
177
|
+
@_field_set&.to_json
|
178
|
+
end
|
179
|
+
|
180
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
181
|
+
# hash and check each fields type against the current object's property
|
182
|
+
# definitions.
|
183
|
+
#
|
184
|
+
# @param obj [Object]
|
185
|
+
# @return [Void]
|
186
|
+
def self.validate_raw(obj:)
|
187
|
+
obj.async&.is_a?(Boolean) != false || raise("Passed value for field obj.async is not the expected type, validation failed.")
|
188
|
+
obj.messages&.is_a?(Array) != false || raise("Passed value for field obj.messages is not the expected type, validation failed.")
|
189
|
+
obj.sub_type.is_a?(String) != false || raise("Passed value for field obj.sub_type is not the expected type, validation failed.")
|
190
|
+
Vapi::ToolCall.validate_raw(obj: obj.tool_call)
|
191
|
+
obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
192
|
+
obj.display_width_px.is_a?(Float) != false || raise("Passed value for field obj.display_width_px is not the expected type, validation failed.")
|
193
|
+
obj.display_height_px.is_a?(Float) != false || raise("Passed value for field obj.display_height_px is not the expected type, validation failed.")
|
194
|
+
obj.display_number&.is_a?(Float) != false || raise("Passed value for field obj.display_number is not the expected type, validation failed.")
|
195
|
+
obj.function.nil? || Vapi::OpenAiFunction.validate_raw(obj: obj.function)
|
196
|
+
obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "tool_message_start"
|
5
|
+
require_relative "tool_message_complete"
|
6
|
+
require_relative "tool_message_failed"
|
7
|
+
require_relative "tool_message_delayed"
|
8
|
+
|
9
|
+
module Vapi
|
10
|
+
class ComputerToolWithToolCallMessagesItem
|
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::ComputerToolWithToolCallMessagesItem]
|
22
|
+
def initialize(member:, discriminant:)
|
23
|
+
@member = member
|
24
|
+
@discriminant = discriminant
|
25
|
+
end
|
26
|
+
|
27
|
+
# Deserialize a JSON object to an instance of ComputerToolWithToolCallMessagesItem
|
28
|
+
#
|
29
|
+
# @param json_object [String]
|
30
|
+
# @return [Vapi::ComputerToolWithToolCallMessagesItem]
|
31
|
+
def self.from_json(json_object:)
|
32
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
33
|
+
member = case struct.type
|
34
|
+
when "request-start"
|
35
|
+
Vapi::ToolMessageStart.from_json(json_object: json_object)
|
36
|
+
when "request-complete"
|
37
|
+
Vapi::ToolMessageComplete.from_json(json_object: json_object)
|
38
|
+
when "request-failed"
|
39
|
+
Vapi::ToolMessageFailed.from_json(json_object: json_object)
|
40
|
+
when "request-response-delayed"
|
41
|
+
Vapi::ToolMessageDelayed.from_json(json_object: json_object)
|
42
|
+
else
|
43
|
+
Vapi::ToolMessageStart.from_json(json_object: json_object)
|
44
|
+
end
|
45
|
+
new(member: member, discriminant: struct.type)
|
46
|
+
end
|
47
|
+
|
48
|
+
# For Union Types, to_json functionality is delegated to the wrapped member.
|
49
|
+
#
|
50
|
+
# @return [String]
|
51
|
+
def to_json(*_args)
|
52
|
+
case @discriminant
|
53
|
+
when "request-start"
|
54
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
55
|
+
when "request-complete"
|
56
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
57
|
+
when "request-failed"
|
58
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
59
|
+
when "request-response-delayed"
|
60
|
+
{ **@member.to_json, type: @discriminant }.to_json
|
61
|
+
else
|
62
|
+
{ "type": @discriminant, value: @member }.to_json
|
63
|
+
end
|
64
|
+
@member.to_json
|
65
|
+
end
|
66
|
+
|
67
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
68
|
+
# hash and check each fields type against the current object's property
|
69
|
+
# definitions.
|
70
|
+
#
|
71
|
+
# @param obj [Object]
|
72
|
+
# @return [Void]
|
73
|
+
def self.validate_raw(obj:)
|
74
|
+
case obj.type
|
75
|
+
when "request-start"
|
76
|
+
Vapi::ToolMessageStart.validate_raw(obj: obj)
|
77
|
+
when "request-complete"
|
78
|
+
Vapi::ToolMessageComplete.validate_raw(obj: obj)
|
79
|
+
when "request-failed"
|
80
|
+
Vapi::ToolMessageFailed.validate_raw(obj: obj)
|
81
|
+
when "request-response-delayed"
|
82
|
+
Vapi::ToolMessageDelayed.validate_raw(obj: obj)
|
83
|
+
else
|
84
|
+
raise("Passed value matched no type within the union, validation failed.")
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# For Union Types, is_a? functionality is delegated to the wrapped member.
|
89
|
+
#
|
90
|
+
# @param obj [Object]
|
91
|
+
# @return [Boolean]
|
92
|
+
def is_a?(obj)
|
93
|
+
@member.is_a?(obj)
|
94
|
+
end
|
95
|
+
|
96
|
+
# @param member [Vapi::ToolMessageStart]
|
97
|
+
# @return [Vapi::ComputerToolWithToolCallMessagesItem]
|
98
|
+
def self.request_start(member:)
|
99
|
+
new(member: member, discriminant: "request-start")
|
100
|
+
end
|
101
|
+
|
102
|
+
# @param member [Vapi::ToolMessageComplete]
|
103
|
+
# @return [Vapi::ComputerToolWithToolCallMessagesItem]
|
104
|
+
def self.request_complete(member:)
|
105
|
+
new(member: member, discriminant: "request-complete")
|
106
|
+
end
|
107
|
+
|
108
|
+
# @param member [Vapi::ToolMessageFailed]
|
109
|
+
# @return [Vapi::ComputerToolWithToolCallMessagesItem]
|
110
|
+
def self.request_failed(member:)
|
111
|
+
new(member: member, discriminant: "request-failed")
|
112
|
+
end
|
113
|
+
|
114
|
+
# @param member [Vapi::ToolMessageDelayed]
|
115
|
+
# @return [Vapi::ComputerToolWithToolCallMessagesItem]
|
116
|
+
def self.request_response_delayed(member:)
|
117
|
+
new(member: member, discriminant: "request-response-delayed")
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
@@ -10,6 +10,7 @@ require_relative "create_assistant_dto_background_sound"
|
|
10
10
|
require_relative "transport_configuration_twilio"
|
11
11
|
require_relative "create_assistant_dto_credentials_item"
|
12
12
|
require_relative "twilio_voicemail_detection"
|
13
|
+
require_relative "compliance_plan"
|
13
14
|
require_relative "analysis_plan"
|
14
15
|
require_relative "artifact_plan"
|
15
16
|
require_relative "message_plan"
|
@@ -17,6 +18,7 @@ require_relative "start_speaking_plan"
|
|
17
18
|
require_relative "stop_speaking_plan"
|
18
19
|
require_relative "monitor_plan"
|
19
20
|
require_relative "server"
|
21
|
+
require_relative "assistant_hooks"
|
20
22
|
require "ostruct"
|
21
23
|
require "json"
|
22
24
|
|
@@ -44,10 +46,6 @@ module Vapi
|
|
44
46
|
# transfer points).
|
45
47
|
# @default 'assistant-speaks-first'
|
46
48
|
attr_reader :first_message_mode
|
47
|
-
# @return [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
|
48
|
-
# the end of the call, you will still receive an end-of-call-report message to
|
49
|
-
# store on your server. Defaults to false.
|
50
|
-
attr_reader :hipaa_enabled
|
51
49
|
# @return [Array<Vapi::CreateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
|
52
50
|
# tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
|
53
51
|
# You can check the shape of the messages in ClientMessage schema.
|
@@ -106,6 +104,8 @@ module Vapi
|
|
106
104
|
# @return [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
|
107
105
|
# call to be hung up. Case insensitive.
|
108
106
|
attr_reader :end_call_phrases
|
107
|
+
# @return [Vapi::CompliancePlan]
|
108
|
+
attr_reader :compliance_plan
|
109
109
|
# @return [Hash{String => Object}] This is for metadata you want to store on the assistant.
|
110
110
|
attr_reader :metadata
|
111
111
|
# @return [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
|
@@ -160,6 +160,8 @@ module Vapi
|
|
160
160
|
# 2. phoneNumber.serverUrl
|
161
161
|
# 3. org.serverUrl
|
162
162
|
attr_reader :server
|
163
|
+
# @return [Array<Vapi::AssistantHooks>] This is a set of actions that will be performed on certain events.
|
164
|
+
attr_reader :hooks
|
163
165
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
164
166
|
attr_reader :additional_properties
|
165
167
|
# @return [Object]
|
@@ -185,9 +187,6 @@ module Vapi
|
|
185
187
|
# state. (`assistant.model.messages` at call start, `call.messages` at squad
|
186
188
|
# transfer points).
|
187
189
|
# @default 'assistant-speaks-first'
|
188
|
-
# @param hipaa_enabled [Boolean] When this is enabled, no logs, recordings, or transcriptions will be stored. At
|
189
|
-
# the end of the call, you will still receive an end-of-call-report message to
|
190
|
-
# store on your server. Defaults to false.
|
191
190
|
# @param client_messages [Array<Vapi::CreateAssistantDtoClientMessagesItem>] These are the messages that will be sent to your Client SDKs. Default is
|
192
191
|
# tatus-update,transfer-update,transcript,tool-calls,user-interrupted,voice-input.
|
193
192
|
# You can check the shape of the messages in ClientMessage schema.
|
@@ -232,6 +231,7 @@ module Vapi
|
|
232
231
|
# If unspecified, it will hang up without saying anything.
|
233
232
|
# @param end_call_phrases [Array<String>] This list contains phrases that, if spoken by the assistant, will trigger the
|
234
233
|
# call to be hung up. Case insensitive.
|
234
|
+
# @param compliance_plan [Vapi::CompliancePlan]
|
235
235
|
# @param metadata [Hash{String => Object}] This is for metadata you want to store on the assistant.
|
236
236
|
# @param analysis_plan [Vapi::AnalysisPlan] This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
|
237
237
|
# @param artifact_plan [Vapi::ArtifactPlan] This is the plan for artifacts generated during assistant's calls. Stored in
|
@@ -277,16 +277,16 @@ module Vapi
|
|
277
277
|
# 1. assistant.server.url
|
278
278
|
# 2. phoneNumber.serverUrl
|
279
279
|
# 3. org.serverUrl
|
280
|
+
# @param hooks [Array<Vapi::AssistantHooks>] This is a set of actions that will be performed on certain events.
|
280
281
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
281
282
|
# @return [Vapi::CreateAssistantDto]
|
282
283
|
def initialize(transcriber: OMIT, model: OMIT, voice: OMIT, first_message: OMIT, first_message_mode: OMIT,
|
283
|
-
|
284
|
+
client_messages: OMIT, server_messages: OMIT, silence_timeout_seconds: OMIT, max_duration_seconds: OMIT, background_sound: OMIT, background_denoising_enabled: OMIT, model_output_in_messages_enabled: OMIT, transport_configurations: OMIT, credentials: OMIT, name: OMIT, voicemail_detection: OMIT, voicemail_message: OMIT, end_call_message: OMIT, end_call_phrases: OMIT, compliance_plan: OMIT, metadata: OMIT, analysis_plan: OMIT, artifact_plan: OMIT, message_plan: OMIT, start_speaking_plan: OMIT, stop_speaking_plan: OMIT, monitor_plan: OMIT, credential_ids: OMIT, server: OMIT, hooks: OMIT, additional_properties: nil)
|
284
285
|
@transcriber = transcriber if transcriber != OMIT
|
285
286
|
@model = model if model != OMIT
|
286
287
|
@voice = voice if voice != OMIT
|
287
288
|
@first_message = first_message if first_message != OMIT
|
288
289
|
@first_message_mode = first_message_mode if first_message_mode != OMIT
|
289
|
-
@hipaa_enabled = hipaa_enabled if hipaa_enabled != OMIT
|
290
290
|
@client_messages = client_messages if client_messages != OMIT
|
291
291
|
@server_messages = server_messages if server_messages != OMIT
|
292
292
|
@silence_timeout_seconds = silence_timeout_seconds if silence_timeout_seconds != OMIT
|
@@ -301,6 +301,7 @@ module Vapi
|
|
301
301
|
@voicemail_message = voicemail_message if voicemail_message != OMIT
|
302
302
|
@end_call_message = end_call_message if end_call_message != OMIT
|
303
303
|
@end_call_phrases = end_call_phrases if end_call_phrases != OMIT
|
304
|
+
@compliance_plan = compliance_plan if compliance_plan != OMIT
|
304
305
|
@metadata = metadata if metadata != OMIT
|
305
306
|
@analysis_plan = analysis_plan if analysis_plan != OMIT
|
306
307
|
@artifact_plan = artifact_plan if artifact_plan != OMIT
|
@@ -310,6 +311,7 @@ module Vapi
|
|
310
311
|
@monitor_plan = monitor_plan if monitor_plan != OMIT
|
311
312
|
@credential_ids = credential_ids if credential_ids != OMIT
|
312
313
|
@server = server if server != OMIT
|
314
|
+
@hooks = hooks if hooks != OMIT
|
313
315
|
@additional_properties = additional_properties
|
314
316
|
@_field_set = {
|
315
317
|
"transcriber": transcriber,
|
@@ -317,7 +319,6 @@ module Vapi
|
|
317
319
|
"voice": voice,
|
318
320
|
"firstMessage": first_message,
|
319
321
|
"firstMessageMode": first_message_mode,
|
320
|
-
"hipaaEnabled": hipaa_enabled,
|
321
322
|
"clientMessages": client_messages,
|
322
323
|
"serverMessages": server_messages,
|
323
324
|
"silenceTimeoutSeconds": silence_timeout_seconds,
|
@@ -332,6 +333,7 @@ module Vapi
|
|
332
333
|
"voicemailMessage": voicemail_message,
|
333
334
|
"endCallMessage": end_call_message,
|
334
335
|
"endCallPhrases": end_call_phrases,
|
336
|
+
"compliancePlan": compliance_plan,
|
335
337
|
"metadata": metadata,
|
336
338
|
"analysisPlan": analysis_plan,
|
337
339
|
"artifactPlan": artifact_plan,
|
@@ -340,7 +342,8 @@ module Vapi
|
|
340
342
|
"stopSpeakingPlan": stop_speaking_plan,
|
341
343
|
"monitorPlan": monitor_plan,
|
342
344
|
"credentialIds": credential_ids,
|
343
|
-
"server": server
|
345
|
+
"server": server,
|
346
|
+
"hooks": hooks
|
344
347
|
}.reject do |_k, v|
|
345
348
|
v == OMIT
|
346
349
|
end
|
@@ -373,7 +376,6 @@ module Vapi
|
|
373
376
|
end
|
374
377
|
first_message = parsed_json["firstMessage"]
|
375
378
|
first_message_mode = parsed_json["firstMessageMode"]
|
376
|
-
hipaa_enabled = parsed_json["hipaaEnabled"]
|
377
379
|
client_messages = parsed_json["clientMessages"]
|
378
380
|
server_messages = parsed_json["serverMessages"]
|
379
381
|
silence_timeout_seconds = parsed_json["silenceTimeoutSeconds"]
|
@@ -399,6 +401,12 @@ module Vapi
|
|
399
401
|
voicemail_message = parsed_json["voicemailMessage"]
|
400
402
|
end_call_message = parsed_json["endCallMessage"]
|
401
403
|
end_call_phrases = parsed_json["endCallPhrases"]
|
404
|
+
if parsed_json["compliancePlan"].nil?
|
405
|
+
compliance_plan = nil
|
406
|
+
else
|
407
|
+
compliance_plan = parsed_json["compliancePlan"].to_json
|
408
|
+
compliance_plan = Vapi::CompliancePlan.from_json(json_object: compliance_plan)
|
409
|
+
end
|
402
410
|
metadata = parsed_json["metadata"]
|
403
411
|
if parsed_json["analysisPlan"].nil?
|
404
412
|
analysis_plan = nil
|
@@ -443,13 +451,16 @@ module Vapi
|
|
443
451
|
server = parsed_json["server"].to_json
|
444
452
|
server = Vapi::Server.from_json(json_object: server)
|
445
453
|
end
|
454
|
+
hooks = parsed_json["hooks"]&.map do |item|
|
455
|
+
item = item.to_json
|
456
|
+
Vapi::AssistantHooks.from_json(json_object: item)
|
457
|
+
end
|
446
458
|
new(
|
447
459
|
transcriber: transcriber,
|
448
460
|
model: model,
|
449
461
|
voice: voice,
|
450
462
|
first_message: first_message,
|
451
463
|
first_message_mode: first_message_mode,
|
452
|
-
hipaa_enabled: hipaa_enabled,
|
453
464
|
client_messages: client_messages,
|
454
465
|
server_messages: server_messages,
|
455
466
|
silence_timeout_seconds: silence_timeout_seconds,
|
@@ -464,6 +475,7 @@ module Vapi
|
|
464
475
|
voicemail_message: voicemail_message,
|
465
476
|
end_call_message: end_call_message,
|
466
477
|
end_call_phrases: end_call_phrases,
|
478
|
+
compliance_plan: compliance_plan,
|
467
479
|
metadata: metadata,
|
468
480
|
analysis_plan: analysis_plan,
|
469
481
|
artifact_plan: artifact_plan,
|
@@ -473,6 +485,7 @@ module Vapi
|
|
473
485
|
monitor_plan: monitor_plan,
|
474
486
|
credential_ids: credential_ids,
|
475
487
|
server: server,
|
488
|
+
hooks: hooks,
|
476
489
|
additional_properties: struct
|
477
490
|
)
|
478
491
|
end
|
@@ -496,7 +509,6 @@ module Vapi
|
|
496
509
|
obj.voice.nil? || Vapi::CreateAssistantDtoVoice.validate_raw(obj: obj.voice)
|
497
510
|
obj.first_message&.is_a?(String) != false || raise("Passed value for field obj.first_message is not the expected type, validation failed.")
|
498
511
|
obj.first_message_mode&.is_a?(Vapi::CreateAssistantDtoFirstMessageMode) != false || raise("Passed value for field obj.first_message_mode is not the expected type, validation failed.")
|
499
|
-
obj.hipaa_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.hipaa_enabled is not the expected type, validation failed.")
|
500
512
|
obj.client_messages&.is_a?(Array) != false || raise("Passed value for field obj.client_messages is not the expected type, validation failed.")
|
501
513
|
obj.server_messages&.is_a?(Array) != false || raise("Passed value for field obj.server_messages is not the expected type, validation failed.")
|
502
514
|
obj.silence_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.silence_timeout_seconds is not the expected type, validation failed.")
|
@@ -511,6 +523,7 @@ module Vapi
|
|
511
523
|
obj.voicemail_message&.is_a?(String) != false || raise("Passed value for field obj.voicemail_message is not the expected type, validation failed.")
|
512
524
|
obj.end_call_message&.is_a?(String) != false || raise("Passed value for field obj.end_call_message is not the expected type, validation failed.")
|
513
525
|
obj.end_call_phrases&.is_a?(Array) != false || raise("Passed value for field obj.end_call_phrases is not the expected type, validation failed.")
|
526
|
+
obj.compliance_plan.nil? || Vapi::CompliancePlan.validate_raw(obj: obj.compliance_plan)
|
514
527
|
obj.metadata&.is_a?(Hash) != false || raise("Passed value for field obj.metadata is not the expected type, validation failed.")
|
515
528
|
obj.analysis_plan.nil? || Vapi::AnalysisPlan.validate_raw(obj: obj.analysis_plan)
|
516
529
|
obj.artifact_plan.nil? || Vapi::ArtifactPlan.validate_raw(obj: obj.artifact_plan)
|
@@ -520,6 +533,7 @@ module Vapi
|
|
520
533
|
obj.monitor_plan.nil? || Vapi::MonitorPlan.validate_raw(obj: obj.monitor_plan)
|
521
534
|
obj.credential_ids&.is_a?(Array) != false || raise("Passed value for field obj.credential_ids is not the expected type, validation failed.")
|
522
535
|
obj.server.nil? || Vapi::Server.validate_raw(obj: obj.server)
|
536
|
+
obj.hooks&.is_a?(Array) != false || raise("Passed value for field obj.hooks is not the expected type, validation failed.")
|
523
537
|
end
|
524
538
|
end
|
525
539
|
end
|
@@ -13,6 +13,7 @@ module Vapi
|
|
13
13
|
SPEECH_UPDATE = "speech-update"
|
14
14
|
STATUS_UPDATE = "status-update"
|
15
15
|
TRANSCRIPT = "transcript"
|
16
|
+
TRANSCRIPT_TRANSCRIPT_TYPE_FINAL = "transcript[transcriptType='final']"
|
16
17
|
TOOL_CALLS = "tool-calls"
|
17
18
|
TRANSFER_DESTINATION_REQUEST = "transfer-destination-request"
|
18
19
|
TRANSFER_UPDATE = "transfer-update"
|
@@ -4,12 +4,14 @@ module Vapi
|
|
4
4
|
# This is the region of the Azure resource.
|
5
5
|
class CreateAzureCredentialDtoRegion
|
6
6
|
AUSTRALIA = "australia"
|
7
|
-
|
7
|
+
CANADAEAST = "canadaeast"
|
8
|
+
CANADACENTRAL = "canadacentral"
|
8
9
|
EASTUS_2 = "eastus2"
|
9
10
|
EASTUS = "eastus"
|
10
11
|
FRANCE = "france"
|
11
12
|
INDIA = "india"
|
12
|
-
|
13
|
+
JAPANEAST = "japaneast"
|
14
|
+
JAPANWEST = "japanwest"
|
13
15
|
UAENORTH = "uaenorth"
|
14
16
|
NORTHCENTRALUS = "northcentralus"
|
15
17
|
NORWAY = "norway"
|
@@ -3,12 +3,14 @@
|
|
3
3
|
module Vapi
|
4
4
|
class CreateAzureOpenAiCredentialDtoRegion
|
5
5
|
AUSTRALIA = "australia"
|
6
|
-
|
6
|
+
CANADAEAST = "canadaeast"
|
7
|
+
CANADACENTRAL = "canadacentral"
|
7
8
|
EASTUS_2 = "eastus2"
|
8
9
|
EASTUS = "eastus"
|
9
10
|
FRANCE = "france"
|
10
11
|
INDIA = "india"
|
11
|
-
|
12
|
+
JAPANEAST = "japaneast"
|
13
|
+
JAPANWEST = "japanwest"
|
12
14
|
UAENORTH = "uaenorth"
|
13
15
|
NORTHCENTRALUS = "northcentralus"
|
14
16
|
NORWAY = "norway"
|
@@ -6,8 +6,7 @@ require "json"
|
|
6
6
|
|
7
7
|
module Vapi
|
8
8
|
class CreateCustomKnowledgeBaseDto
|
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
|
@@ -54,8 +53,7 @@ module Vapi
|
|
54
53
|
|
55
54
|
OMIT = Object.new
|
56
55
|
|
57
|
-
# @param server [Vapi::Server]
|
58
|
-
# This is where the knowledge base request will be sent.
|
56
|
+
# @param server [Vapi::Server] This is where the knowledge base request will be sent.
|
59
57
|
# Request Example:
|
60
58
|
# POST https://{server.url}
|
61
59
|
# Content-Type: application/json
|