telnyx 5.111.0 → 5.112.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/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/telnyx/models/ai/assistant_create_params.rb +178 -9
- data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
- data/lib/telnyx/models/ai/assistant_update_params.rb +178 -9
- data/lib/telnyx/models/ai/assistants/canary_deploy.rb +123 -3
- data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +125 -3
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +179 -9
- data/lib/telnyx/models/ai/inference_embedding.rb +177 -9
- data/lib/telnyx/models/ai/openai_list_models_response.rb +210 -3
- data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
- data/lib/telnyx/models/ai_retrieve_models_response.rb +210 -3
- data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
- data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
- data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
- data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
- data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +491 -0
- data/lib/telnyx/models/calls/action_start_conversation_relay_response.rb +37 -0
- data/lib/telnyx/models/calls/action_stop_conversation_relay_params.rb +44 -0
- data/lib/telnyx/models/calls/action_stop_conversation_relay_response.rb +18 -0
- data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
- data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
- data/lib/telnyx/models/network_list_interfaces_response.rb +2 -112
- data/lib/telnyx/models/public_internet_gateway_create_response.rb +8 -3
- data/lib/telnyx/models/public_internet_gateway_delete_response.rb +8 -3
- data/lib/telnyx/models/public_internet_gateway_list_response.rb +10 -0
- data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +8 -3
- data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
- data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
- data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
- data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
- data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
- data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
- data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
- data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
- data/lib/telnyx/models/virtual_cross_connect_create_response.rb +8 -3
- data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +8 -3
- data/lib/telnyx/models/virtual_cross_connect_list_response.rb +10 -0
- data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +8 -3
- data/lib/telnyx/models/virtual_cross_connect_update_response.rb +8 -3
- data/lib/telnyx/models/wireguard_interface_create_response.rb +8 -3
- data/lib/telnyx/models/wireguard_interface_delete_response.rb +8 -3
- data/lib/telnyx/models/wireguard_interface_list_response.rb +10 -0
- data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +8 -3
- data/lib/telnyx/models.rb +0 -20
- data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
- data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
- data/lib/telnyx/resources/ai/assistants.rb +6 -6
- data/lib/telnyx/resources/calls/actions.rb +101 -5
- data/lib/telnyx/resources/conferences/actions.rb +1 -1
- data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
- data/lib/telnyx/resources/uac_connections.rb +8 -8
- data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
- data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +8 -22
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +352 -12
- data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +352 -12
- data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
- data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +366 -12
- data/rbi/telnyx/models/ai/inference_embedding.rbi +351 -12
- data/rbi/telnyx/models/ai/openai_list_models_response.rbi +315 -3
- data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
- data/rbi/telnyx/models/ai_retrieve_models_response.rbi +310 -3
- data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
- data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
- data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
- data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
- data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1075 -0
- data/rbi/telnyx/models/calls/action_start_conversation_relay_response.rbi +95 -0
- data/rbi/telnyx/models/calls/action_stop_conversation_relay_params.rbi +72 -0
- data/rbi/telnyx/models/calls/action_stop_conversation_relay_response.rbi +39 -0
- data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
- data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
- data/rbi/telnyx/models/network_list_interfaces_response.rbi +4 -181
- data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +38 -6
- data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +38 -6
- data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +23 -0
- data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +38 -6
- data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
- data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
- data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
- data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
- data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
- data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
- data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
- data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
- data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +36 -6
- data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +36 -6
- data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +23 -0
- data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +38 -6
- data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +36 -6
- data/rbi/telnyx/models/wireguard_interface_create_response.rbi +36 -6
- data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +36 -6
- data/rbi/telnyx/models/wireguard_interface_list_response.rbi +23 -0
- data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +36 -6
- data/rbi/telnyx/models.rbi +0 -20
- data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
- data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
- data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
- data/rbi/telnyx/resources/calls/actions.rbi +152 -6
- data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
- data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
- data/rbi/telnyx/resources/uac_connections.rbi +13 -7
- data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
- data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
- data/sig/telnyx/models/ai/assistant_create_params.rbs +149 -18
- data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
- data/sig/telnyx/models/ai/assistant_update_params.rbs +149 -18
- data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
- data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +152 -18
- data/sig/telnyx/models/ai/inference_embedding.rbs +149 -18
- data/sig/telnyx/models/ai/openai_list_models_response.rbs +149 -4
- data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
- data/sig/telnyx/models/ai_retrieve_models_response.rbs +149 -4
- data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
- data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
- data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
- data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
- data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +416 -0
- data/sig/telnyx/models/calls/action_start_conversation_relay_response.rbs +45 -0
- data/sig/telnyx/models/calls/action_stop_conversation_relay_params.rbs +38 -0
- data/sig/telnyx/models/calls/action_stop_conversation_relay_response.rbs +20 -0
- data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
- data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
- data/sig/telnyx/models/network_list_interfaces_response.rbs +4 -106
- data/sig/telnyx/models/public_internet_gateway_create_response.rbs +18 -6
- data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +18 -6
- data/sig/telnyx/models/public_internet_gateway_list_response.rbs +11 -0
- data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +18 -6
- data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
- data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
- data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
- data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
- data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
- data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
- data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
- data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
- data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +18 -6
- data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +18 -6
- data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +11 -0
- data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +18 -6
- data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +18 -6
- data/sig/telnyx/models/wireguard_interface_create_response.rbs +18 -6
- data/sig/telnyx/models/wireguard_interface_delete_response.rbs +18 -6
- data/sig/telnyx/models/wireguard_interface_list_response.rbs +11 -0
- data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +18 -6
- data/sig/telnyx/models.rbs +0 -20
- data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
- data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
- data/sig/telnyx/resources/ai/assistants.rbs +6 -6
- data/sig/telnyx/resources/calls/actions.rbs +29 -0
- data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
- data/sig/telnyx/resources/uac_connections.rbs +7 -7
- data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
- data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
- metadata +26 -68
- data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
- data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
- data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
- data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
- data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
- data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
- data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
- data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -47
- data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
- data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
- data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
- data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
- data/lib/telnyx/models/model_metadata.rb +0 -212
- data/lib/telnyx/models/public_internet_gateway_read.rb +0 -83
- data/lib/telnyx/models/uac_connection.rb +0 -412
- data/lib/telnyx/models/uac_external_settings.rb +0 -101
- data/lib/telnyx/models/uac_inbound.rb +0 -210
- data/lib/telnyx/models/uac_internal_settings.rb +0 -25
- data/lib/telnyx/models/uac_outbound.rb +0 -131
- data/lib/telnyx/models/virtual_cross_connect_combined.rb +0 -212
- data/lib/telnyx/models/wireguard_interface_read.rb +0 -136
- data/lib/telnyx/models/xai_voice_settings.rb +0 -36
- data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
- data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
- data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
- data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
- data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
- data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
- data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
- data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -83
- data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
- data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
- data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
- data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
- data/rbi/telnyx/models/model_metadata.rbi +0 -272
- data/rbi/telnyx/models/public_internet_gateway_read.rbi +0 -128
- data/rbi/telnyx/models/uac_connection.rbi +0 -684
- data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
- data/rbi/telnyx/models/uac_inbound.rbi +0 -410
- data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
- data/rbi/telnyx/models/uac_outbound.rbi +0 -224
- data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +0 -345
- data/rbi/telnyx/models/wireguard_interface_read.rbi +0 -213
- data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
- data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
- data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
- data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
- data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
- data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
- data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
- data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
- data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -40
- data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
- data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
- data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
- data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
- data/sig/telnyx/models/model_metadata.rbs +0 -142
- data/sig/telnyx/models/public_internet_gateway_read.rbs +0 -80
- data/sig/telnyx/models/uac_connection.rbs +0 -338
- data/sig/telnyx/models/uac_external_settings.rbs +0 -73
- data/sig/telnyx/models/uac_inbound.rbs +0 -190
- data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
- data/sig/telnyx/models/uac_outbound.rbs +0 -113
- data/sig/telnyx/models/virtual_cross_connect_combined.rbs +0 -190
- data/sig/telnyx/models/wireguard_interface_read.rbs +0 -127
- data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
|
@@ -0,0 +1,1075 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Telnyx
|
|
4
|
+
module Models
|
|
5
|
+
module Calls
|
|
6
|
+
class ActionStartConversationRelayParams < Telnyx::Internal::Type::BaseModel
|
|
7
|
+
extend Telnyx::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Telnyx::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Telnyx::Calls::ActionStartConversationRelayParams,
|
|
14
|
+
Telnyx::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :call_control_id
|
|
20
|
+
|
|
21
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
22
|
+
# `wss://`.
|
|
23
|
+
sig { returns(String) }
|
|
24
|
+
attr_accessor :conversation_relay_url
|
|
25
|
+
|
|
26
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
27
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
28
|
+
sig do
|
|
29
|
+
returns(
|
|
30
|
+
T.nilable(
|
|
31
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant
|
|
32
|
+
)
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
attr_reader :assistant
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
assistant:
|
|
40
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant::OrHash
|
|
41
|
+
).void
|
|
42
|
+
end
|
|
43
|
+
attr_writer :assistant
|
|
44
|
+
|
|
45
|
+
# Use this field to add state to subsequent webhooks. It must be a valid Base-64
|
|
46
|
+
# encoded string.
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_reader :client_state
|
|
49
|
+
|
|
50
|
+
sig { params(client_state: String).void }
|
|
51
|
+
attr_writer :client_state
|
|
52
|
+
|
|
53
|
+
# Use this field to avoid duplicate commands. Telnyx will ignore any command with
|
|
54
|
+
# the same `command_id` for the same `call_control_id`.
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_reader :command_id
|
|
57
|
+
|
|
58
|
+
sig { params(command_id: String).void }
|
|
59
|
+
attr_writer :command_id
|
|
60
|
+
|
|
61
|
+
# Enable DTMF detection for the relay session.
|
|
62
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
63
|
+
attr_reader :conversation_relay_dtmf_detection
|
|
64
|
+
|
|
65
|
+
sig { params(conversation_relay_dtmf_detection: T::Boolean).void }
|
|
66
|
+
attr_writer :conversation_relay_dtmf_detection
|
|
67
|
+
|
|
68
|
+
# Text played when the relay session starts.
|
|
69
|
+
sig { returns(T.nilable(String)) }
|
|
70
|
+
attr_reader :greeting
|
|
71
|
+
|
|
72
|
+
sig { params(greeting: String).void }
|
|
73
|
+
attr_writer :greeting
|
|
74
|
+
|
|
75
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
76
|
+
sig do
|
|
77
|
+
returns(
|
|
78
|
+
T.nilable(
|
|
79
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings
|
|
80
|
+
)
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
attr_reader :interruption_settings
|
|
84
|
+
|
|
85
|
+
sig do
|
|
86
|
+
params(
|
|
87
|
+
interruption_settings:
|
|
88
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash
|
|
89
|
+
).void
|
|
90
|
+
end
|
|
91
|
+
attr_writer :interruption_settings
|
|
92
|
+
|
|
93
|
+
# Default language for the relay session. This value is used for both
|
|
94
|
+
# text-to-speech and speech recognition unless `tts_language` or
|
|
95
|
+
# `transcription_language` are provided.
|
|
96
|
+
sig { returns(T.nilable(String)) }
|
|
97
|
+
attr_reader :language
|
|
98
|
+
|
|
99
|
+
sig { params(language: String).void }
|
|
100
|
+
attr_writer :language
|
|
101
|
+
|
|
102
|
+
# Language-specific TTS and transcription settings. Use this when the relay
|
|
103
|
+
# session needs per-language provider, voice, or speech model configuration.
|
|
104
|
+
sig do
|
|
105
|
+
returns(
|
|
106
|
+
T.nilable(
|
|
107
|
+
T::Array[
|
|
108
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language
|
|
109
|
+
]
|
|
110
|
+
)
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
attr_reader :languages
|
|
114
|
+
|
|
115
|
+
sig do
|
|
116
|
+
params(
|
|
117
|
+
languages:
|
|
118
|
+
T::Array[
|
|
119
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
|
|
120
|
+
]
|
|
121
|
+
).void
|
|
122
|
+
end
|
|
123
|
+
attr_writer :languages
|
|
124
|
+
|
|
125
|
+
# Participants to add to the conversation.
|
|
126
|
+
sig do
|
|
127
|
+
returns(
|
|
128
|
+
T.nilable(
|
|
129
|
+
T::Array[
|
|
130
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant
|
|
131
|
+
]
|
|
132
|
+
)
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
attr_reader :participants
|
|
136
|
+
|
|
137
|
+
sig do
|
|
138
|
+
params(
|
|
139
|
+
participants:
|
|
140
|
+
T::Array[
|
|
141
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OrHash
|
|
142
|
+
]
|
|
143
|
+
).void
|
|
144
|
+
end
|
|
145
|
+
attr_writer :participants
|
|
146
|
+
|
|
147
|
+
# When true, sends message history update webhooks.
|
|
148
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
149
|
+
attr_reader :send_message_history_updates
|
|
150
|
+
|
|
151
|
+
sig { params(send_message_history_updates: T::Boolean).void }
|
|
152
|
+
attr_writer :send_message_history_updates
|
|
153
|
+
|
|
154
|
+
# Speech-to-text settings for Conversation Relay.
|
|
155
|
+
sig do
|
|
156
|
+
returns(
|
|
157
|
+
T.nilable(
|
|
158
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription
|
|
159
|
+
)
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
attr_reader :transcription
|
|
163
|
+
|
|
164
|
+
sig do
|
|
165
|
+
params(
|
|
166
|
+
transcription:
|
|
167
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription::OrHash
|
|
168
|
+
).void
|
|
169
|
+
end
|
|
170
|
+
attr_writer :transcription
|
|
171
|
+
|
|
172
|
+
# Language to use for speech recognition. Overrides `language` for transcription
|
|
173
|
+
# when provided.
|
|
174
|
+
sig { returns(T.nilable(String)) }
|
|
175
|
+
attr_reader :transcription_language
|
|
176
|
+
|
|
177
|
+
sig { params(transcription_language: String).void }
|
|
178
|
+
attr_writer :transcription_language
|
|
179
|
+
|
|
180
|
+
# Language to use for text-to-speech. Overrides `language` for TTS when provided.
|
|
181
|
+
sig { returns(T.nilable(String)) }
|
|
182
|
+
attr_reader :tts_language
|
|
183
|
+
|
|
184
|
+
sig { params(tts_language: String).void }
|
|
185
|
+
attr_writer :tts_language
|
|
186
|
+
|
|
187
|
+
# Time in milliseconds to wait for caller input before timing out.
|
|
188
|
+
sig { returns(T.nilable(Integer)) }
|
|
189
|
+
attr_reader :user_response_timeout_ms
|
|
190
|
+
|
|
191
|
+
sig { params(user_response_timeout_ms: Integer).void }
|
|
192
|
+
attr_writer :user_response_timeout_ms
|
|
193
|
+
|
|
194
|
+
# The voice to be used by the voice assistant. Currently we support ElevenLabs,
|
|
195
|
+
# Telnyx and AWS voices.
|
|
196
|
+
#
|
|
197
|
+
# **Supported Providers:**
|
|
198
|
+
#
|
|
199
|
+
# - **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural
|
|
200
|
+
# voices, which provide more realistic, human-like speech, append `-Neural` to
|
|
201
|
+
# the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
|
|
202
|
+
# [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
|
|
203
|
+
# for compatibility.
|
|
204
|
+
# - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
|
|
205
|
+
# Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
|
|
206
|
+
# Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
|
|
207
|
+
# [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
|
|
208
|
+
# - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
|
|
209
|
+
# `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
|
|
210
|
+
# ElevenLabs, you must provide your ElevenLabs API key as an integration secret
|
|
211
|
+
# under `"voice_settings": {"api_key_ref": "<secret_id>"}`. See
|
|
212
|
+
# [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
|
|
213
|
+
# for details. Check
|
|
214
|
+
# [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
|
|
215
|
+
# - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`
|
|
216
|
+
# - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
|
|
217
|
+
# `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.
|
|
218
|
+
# - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
|
|
219
|
+
# `ara`, `rex`, `sal`, `leo`.
|
|
220
|
+
sig { returns(T.nilable(String)) }
|
|
221
|
+
attr_reader :voice
|
|
222
|
+
|
|
223
|
+
sig { params(voice: String).void }
|
|
224
|
+
attr_writer :voice
|
|
225
|
+
|
|
226
|
+
# The settings associated with the voice selected
|
|
227
|
+
sig do
|
|
228
|
+
returns(
|
|
229
|
+
T.nilable(
|
|
230
|
+
T.any(
|
|
231
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
232
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
233
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
234
|
+
Telnyx::AzureVoiceSettings,
|
|
235
|
+
Telnyx::RimeVoiceSettings,
|
|
236
|
+
Telnyx::ResembleVoiceSettings,
|
|
237
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai
|
|
238
|
+
)
|
|
239
|
+
)
|
|
240
|
+
)
|
|
241
|
+
end
|
|
242
|
+
attr_reader :voice_settings
|
|
243
|
+
|
|
244
|
+
sig do
|
|
245
|
+
params(
|
|
246
|
+
voice_settings:
|
|
247
|
+
T.any(
|
|
248
|
+
Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
|
|
249
|
+
Telnyx::Calls::TelnyxVoiceSettings::OrHash,
|
|
250
|
+
Telnyx::Calls::AwsVoiceSettings::OrHash,
|
|
251
|
+
Telnyx::AzureVoiceSettings::OrHash,
|
|
252
|
+
Telnyx::RimeVoiceSettings::OrHash,
|
|
253
|
+
Telnyx::ResembleVoiceSettings::OrHash,
|
|
254
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai::OrHash
|
|
255
|
+
)
|
|
256
|
+
).void
|
|
257
|
+
end
|
|
258
|
+
attr_writer :voice_settings
|
|
259
|
+
|
|
260
|
+
sig do
|
|
261
|
+
params(
|
|
262
|
+
call_control_id: String,
|
|
263
|
+
conversation_relay_url: String,
|
|
264
|
+
assistant:
|
|
265
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant::OrHash,
|
|
266
|
+
client_state: String,
|
|
267
|
+
command_id: String,
|
|
268
|
+
conversation_relay_dtmf_detection: T::Boolean,
|
|
269
|
+
greeting: String,
|
|
270
|
+
interruption_settings:
|
|
271
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash,
|
|
272
|
+
language: String,
|
|
273
|
+
languages:
|
|
274
|
+
T::Array[
|
|
275
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
|
|
276
|
+
],
|
|
277
|
+
participants:
|
|
278
|
+
T::Array[
|
|
279
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OrHash
|
|
280
|
+
],
|
|
281
|
+
send_message_history_updates: T::Boolean,
|
|
282
|
+
transcription:
|
|
283
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription::OrHash,
|
|
284
|
+
transcription_language: String,
|
|
285
|
+
tts_language: String,
|
|
286
|
+
user_response_timeout_ms: Integer,
|
|
287
|
+
voice: String,
|
|
288
|
+
voice_settings:
|
|
289
|
+
T.any(
|
|
290
|
+
Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
|
|
291
|
+
Telnyx::Calls::TelnyxVoiceSettings::OrHash,
|
|
292
|
+
Telnyx::Calls::AwsVoiceSettings::OrHash,
|
|
293
|
+
Telnyx::AzureVoiceSettings::OrHash,
|
|
294
|
+
Telnyx::RimeVoiceSettings::OrHash,
|
|
295
|
+
Telnyx::ResembleVoiceSettings::OrHash,
|
|
296
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai::OrHash
|
|
297
|
+
),
|
|
298
|
+
request_options: Telnyx::RequestOptions::OrHash
|
|
299
|
+
).returns(T.attached_class)
|
|
300
|
+
end
|
|
301
|
+
def self.new(
|
|
302
|
+
call_control_id:,
|
|
303
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
304
|
+
# `wss://`.
|
|
305
|
+
conversation_relay_url:,
|
|
306
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
307
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
308
|
+
assistant: nil,
|
|
309
|
+
# Use this field to add state to subsequent webhooks. It must be a valid Base-64
|
|
310
|
+
# encoded string.
|
|
311
|
+
client_state: nil,
|
|
312
|
+
# Use this field to avoid duplicate commands. Telnyx will ignore any command with
|
|
313
|
+
# the same `command_id` for the same `call_control_id`.
|
|
314
|
+
command_id: nil,
|
|
315
|
+
# Enable DTMF detection for the relay session.
|
|
316
|
+
conversation_relay_dtmf_detection: nil,
|
|
317
|
+
# Text played when the relay session starts.
|
|
318
|
+
greeting: nil,
|
|
319
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
320
|
+
interruption_settings: nil,
|
|
321
|
+
# Default language for the relay session. This value is used for both
|
|
322
|
+
# text-to-speech and speech recognition unless `tts_language` or
|
|
323
|
+
# `transcription_language` are provided.
|
|
324
|
+
language: nil,
|
|
325
|
+
# Language-specific TTS and transcription settings. Use this when the relay
|
|
326
|
+
# session needs per-language provider, voice, or speech model configuration.
|
|
327
|
+
languages: nil,
|
|
328
|
+
# Participants to add to the conversation.
|
|
329
|
+
participants: nil,
|
|
330
|
+
# When true, sends message history update webhooks.
|
|
331
|
+
send_message_history_updates: nil,
|
|
332
|
+
# Speech-to-text settings for Conversation Relay.
|
|
333
|
+
transcription: nil,
|
|
334
|
+
# Language to use for speech recognition. Overrides `language` for transcription
|
|
335
|
+
# when provided.
|
|
336
|
+
transcription_language: nil,
|
|
337
|
+
# Language to use for text-to-speech. Overrides `language` for TTS when provided.
|
|
338
|
+
tts_language: nil,
|
|
339
|
+
# Time in milliseconds to wait for caller input before timing out.
|
|
340
|
+
user_response_timeout_ms: nil,
|
|
341
|
+
# The voice to be used by the voice assistant. Currently we support ElevenLabs,
|
|
342
|
+
# Telnyx and AWS voices.
|
|
343
|
+
#
|
|
344
|
+
# **Supported Providers:**
|
|
345
|
+
#
|
|
346
|
+
# - **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural
|
|
347
|
+
# voices, which provide more realistic, human-like speech, append `-Neural` to
|
|
348
|
+
# the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
|
|
349
|
+
# [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
|
|
350
|
+
# for compatibility.
|
|
351
|
+
# - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
|
|
352
|
+
# Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
|
|
353
|
+
# Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
|
|
354
|
+
# [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
|
|
355
|
+
# - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
|
|
356
|
+
# `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
|
|
357
|
+
# ElevenLabs, you must provide your ElevenLabs API key as an integration secret
|
|
358
|
+
# under `"voice_settings": {"api_key_ref": "<secret_id>"}`. See
|
|
359
|
+
# [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
|
|
360
|
+
# for details. Check
|
|
361
|
+
# [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
|
|
362
|
+
# - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`
|
|
363
|
+
# - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
|
|
364
|
+
# `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.
|
|
365
|
+
# - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
|
|
366
|
+
# `ara`, `rex`, `sal`, `leo`.
|
|
367
|
+
voice: nil,
|
|
368
|
+
# The settings associated with the voice selected
|
|
369
|
+
voice_settings: nil,
|
|
370
|
+
request_options: {}
|
|
371
|
+
)
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
sig do
|
|
375
|
+
override.returns(
|
|
376
|
+
{
|
|
377
|
+
call_control_id: String,
|
|
378
|
+
conversation_relay_url: String,
|
|
379
|
+
assistant:
|
|
380
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant,
|
|
381
|
+
client_state: String,
|
|
382
|
+
command_id: String,
|
|
383
|
+
conversation_relay_dtmf_detection: T::Boolean,
|
|
384
|
+
greeting: String,
|
|
385
|
+
interruption_settings:
|
|
386
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
|
|
387
|
+
language: String,
|
|
388
|
+
languages:
|
|
389
|
+
T::Array[
|
|
390
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language
|
|
391
|
+
],
|
|
392
|
+
participants:
|
|
393
|
+
T::Array[
|
|
394
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant
|
|
395
|
+
],
|
|
396
|
+
send_message_history_updates: T::Boolean,
|
|
397
|
+
transcription:
|
|
398
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription,
|
|
399
|
+
transcription_language: String,
|
|
400
|
+
tts_language: String,
|
|
401
|
+
user_response_timeout_ms: Integer,
|
|
402
|
+
voice: String,
|
|
403
|
+
voice_settings:
|
|
404
|
+
T.any(
|
|
405
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
406
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
407
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
408
|
+
Telnyx::AzureVoiceSettings,
|
|
409
|
+
Telnyx::RimeVoiceSettings,
|
|
410
|
+
Telnyx::ResembleVoiceSettings,
|
|
411
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai
|
|
412
|
+
),
|
|
413
|
+
request_options: Telnyx::RequestOptions
|
|
414
|
+
}
|
|
415
|
+
)
|
|
416
|
+
end
|
|
417
|
+
def to_hash
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
class Assistant < Telnyx::Internal::Type::BaseModel
|
|
421
|
+
OrHash =
|
|
422
|
+
T.type_alias do
|
|
423
|
+
T.any(
|
|
424
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant,
|
|
425
|
+
Telnyx::Internal::AnyHash
|
|
426
|
+
)
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# Custom key-value parameters forwarded to the Conversation Relay session.
|
|
430
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
431
|
+
attr_reader :dynamic_variables
|
|
432
|
+
|
|
433
|
+
sig { params(dynamic_variables: T::Hash[Symbol, String]).void }
|
|
434
|
+
attr_writer :dynamic_variables
|
|
435
|
+
|
|
436
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
437
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
438
|
+
sig do
|
|
439
|
+
params(dynamic_variables: T::Hash[Symbol, String]).returns(
|
|
440
|
+
T.attached_class
|
|
441
|
+
)
|
|
442
|
+
end
|
|
443
|
+
def self.new(
|
|
444
|
+
# Custom key-value parameters forwarded to the Conversation Relay session.
|
|
445
|
+
dynamic_variables: nil
|
|
446
|
+
)
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
sig do
|
|
450
|
+
override.returns({ dynamic_variables: T::Hash[Symbol, String] })
|
|
451
|
+
end
|
|
452
|
+
def to_hash
|
|
453
|
+
end
|
|
454
|
+
end
|
|
455
|
+
|
|
456
|
+
class InterruptionSettings < Telnyx::Internal::Type::BaseModel
|
|
457
|
+
OrHash =
|
|
458
|
+
T.type_alias do
|
|
459
|
+
T.any(
|
|
460
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
|
|
461
|
+
Telnyx::Internal::AnyHash
|
|
462
|
+
)
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
|
|
466
|
+
# equivalent to `interruptible=none`.
|
|
467
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
468
|
+
attr_reader :enable
|
|
469
|
+
|
|
470
|
+
sig { params(enable: T::Boolean).void }
|
|
471
|
+
attr_writer :enable
|
|
472
|
+
|
|
473
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
474
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
475
|
+
# only; `dtmf` allows DTMF only.
|
|
476
|
+
sig do
|
|
477
|
+
returns(
|
|
478
|
+
T.nilable(
|
|
479
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
|
|
480
|
+
)
|
|
481
|
+
)
|
|
482
|
+
end
|
|
483
|
+
attr_reader :interruptible
|
|
484
|
+
|
|
485
|
+
sig do
|
|
486
|
+
params(
|
|
487
|
+
interruptible:
|
|
488
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
|
|
489
|
+
).void
|
|
490
|
+
end
|
|
491
|
+
attr_writer :interruptible
|
|
492
|
+
|
|
493
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
494
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
495
|
+
# only; `dtmf` allows DTMF only.
|
|
496
|
+
sig do
|
|
497
|
+
returns(
|
|
498
|
+
T.nilable(
|
|
499
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
|
|
500
|
+
)
|
|
501
|
+
)
|
|
502
|
+
end
|
|
503
|
+
attr_reader :interruptible_greeting
|
|
504
|
+
|
|
505
|
+
sig do
|
|
506
|
+
params(
|
|
507
|
+
interruptible_greeting:
|
|
508
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
|
|
509
|
+
).void
|
|
510
|
+
end
|
|
511
|
+
attr_writer :interruptible_greeting
|
|
512
|
+
|
|
513
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
514
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
515
|
+
# only; `dtmf` allows DTMF only.
|
|
516
|
+
sig do
|
|
517
|
+
returns(
|
|
518
|
+
T.nilable(
|
|
519
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
520
|
+
)
|
|
521
|
+
)
|
|
522
|
+
end
|
|
523
|
+
attr_reader :welcome_greeting_interruptible
|
|
524
|
+
|
|
525
|
+
sig do
|
|
526
|
+
params(
|
|
527
|
+
welcome_greeting_interruptible:
|
|
528
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
529
|
+
).void
|
|
530
|
+
end
|
|
531
|
+
attr_writer :welcome_greeting_interruptible
|
|
532
|
+
|
|
533
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
534
|
+
sig do
|
|
535
|
+
params(
|
|
536
|
+
enable: T::Boolean,
|
|
537
|
+
interruptible:
|
|
538
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
|
|
539
|
+
interruptible_greeting:
|
|
540
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
|
|
541
|
+
welcome_greeting_interruptible:
|
|
542
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
543
|
+
).returns(T.attached_class)
|
|
544
|
+
end
|
|
545
|
+
def self.new(
|
|
546
|
+
# Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
|
|
547
|
+
# equivalent to `interruptible=none`.
|
|
548
|
+
enable: nil,
|
|
549
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
550
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
551
|
+
# only; `dtmf` allows DTMF only.
|
|
552
|
+
interruptible: nil,
|
|
553
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
554
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
555
|
+
# only; `dtmf` allows DTMF only.
|
|
556
|
+
interruptible_greeting: nil,
|
|
557
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
558
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
559
|
+
# only; `dtmf` allows DTMF only.
|
|
560
|
+
welcome_greeting_interruptible: nil
|
|
561
|
+
)
|
|
562
|
+
end
|
|
563
|
+
|
|
564
|
+
sig do
|
|
565
|
+
override.returns(
|
|
566
|
+
{
|
|
567
|
+
enable: T::Boolean,
|
|
568
|
+
interruptible:
|
|
569
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
|
|
570
|
+
interruptible_greeting:
|
|
571
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
|
|
572
|
+
welcome_greeting_interruptible:
|
|
573
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
def to_hash
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
581
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
582
|
+
# only; `dtmf` allows DTMF only.
|
|
583
|
+
module Interruptible
|
|
584
|
+
extend Telnyx::Internal::Type::Enum
|
|
585
|
+
|
|
586
|
+
TaggedSymbol =
|
|
587
|
+
T.type_alias do
|
|
588
|
+
T.all(
|
|
589
|
+
Symbol,
|
|
590
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible
|
|
591
|
+
)
|
|
592
|
+
end
|
|
593
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
594
|
+
|
|
595
|
+
NONE =
|
|
596
|
+
T.let(
|
|
597
|
+
:none,
|
|
598
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
599
|
+
)
|
|
600
|
+
ANY =
|
|
601
|
+
T.let(
|
|
602
|
+
:any,
|
|
603
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
604
|
+
)
|
|
605
|
+
SPEECH =
|
|
606
|
+
T.let(
|
|
607
|
+
:speech,
|
|
608
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
609
|
+
)
|
|
610
|
+
DTMF =
|
|
611
|
+
T.let(
|
|
612
|
+
:dtmf,
|
|
613
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
614
|
+
)
|
|
615
|
+
|
|
616
|
+
sig do
|
|
617
|
+
override.returns(
|
|
618
|
+
T::Array[
|
|
619
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
620
|
+
]
|
|
621
|
+
)
|
|
622
|
+
end
|
|
623
|
+
def self.values
|
|
624
|
+
end
|
|
625
|
+
end
|
|
626
|
+
|
|
627
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
628
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
629
|
+
# only; `dtmf` allows DTMF only.
|
|
630
|
+
module InterruptibleGreeting
|
|
631
|
+
extend Telnyx::Internal::Type::Enum
|
|
632
|
+
|
|
633
|
+
TaggedSymbol =
|
|
634
|
+
T.type_alias do
|
|
635
|
+
T.all(
|
|
636
|
+
Symbol,
|
|
637
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting
|
|
638
|
+
)
|
|
639
|
+
end
|
|
640
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
641
|
+
|
|
642
|
+
NONE =
|
|
643
|
+
T.let(
|
|
644
|
+
:none,
|
|
645
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
646
|
+
)
|
|
647
|
+
ANY =
|
|
648
|
+
T.let(
|
|
649
|
+
:any,
|
|
650
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
651
|
+
)
|
|
652
|
+
SPEECH =
|
|
653
|
+
T.let(
|
|
654
|
+
:speech,
|
|
655
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
656
|
+
)
|
|
657
|
+
DTMF =
|
|
658
|
+
T.let(
|
|
659
|
+
:dtmf,
|
|
660
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
sig do
|
|
664
|
+
override.returns(
|
|
665
|
+
T::Array[
|
|
666
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
667
|
+
]
|
|
668
|
+
)
|
|
669
|
+
end
|
|
670
|
+
def self.values
|
|
671
|
+
end
|
|
672
|
+
end
|
|
673
|
+
|
|
674
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
675
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
676
|
+
# only; `dtmf` allows DTMF only.
|
|
677
|
+
module WelcomeGreetingInterruptible
|
|
678
|
+
extend Telnyx::Internal::Type::Enum
|
|
679
|
+
|
|
680
|
+
TaggedSymbol =
|
|
681
|
+
T.type_alias do
|
|
682
|
+
T.all(
|
|
683
|
+
Symbol,
|
|
684
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible
|
|
685
|
+
)
|
|
686
|
+
end
|
|
687
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
688
|
+
|
|
689
|
+
NONE =
|
|
690
|
+
T.let(
|
|
691
|
+
:none,
|
|
692
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
693
|
+
)
|
|
694
|
+
ANY =
|
|
695
|
+
T.let(
|
|
696
|
+
:any,
|
|
697
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
698
|
+
)
|
|
699
|
+
SPEECH =
|
|
700
|
+
T.let(
|
|
701
|
+
:speech,
|
|
702
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
703
|
+
)
|
|
704
|
+
DTMF =
|
|
705
|
+
T.let(
|
|
706
|
+
:dtmf,
|
|
707
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
708
|
+
)
|
|
709
|
+
|
|
710
|
+
sig do
|
|
711
|
+
override.returns(
|
|
712
|
+
T::Array[
|
|
713
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
714
|
+
]
|
|
715
|
+
)
|
|
716
|
+
end
|
|
717
|
+
def self.values
|
|
718
|
+
end
|
|
719
|
+
end
|
|
720
|
+
end
|
|
721
|
+
|
|
722
|
+
class Language < Telnyx::Internal::Type::BaseModel
|
|
723
|
+
OrHash =
|
|
724
|
+
T.type_alias do
|
|
725
|
+
T.any(
|
|
726
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language,
|
|
727
|
+
Telnyx::Internal::AnyHash
|
|
728
|
+
)
|
|
729
|
+
end
|
|
730
|
+
|
|
731
|
+
# BCP 47 language code.
|
|
732
|
+
sig { returns(T.nilable(String)) }
|
|
733
|
+
attr_reader :code
|
|
734
|
+
|
|
735
|
+
sig { params(code: String).void }
|
|
736
|
+
attr_writer :code
|
|
737
|
+
|
|
738
|
+
# Speech recognition model for this language.
|
|
739
|
+
sig { returns(T.nilable(String)) }
|
|
740
|
+
attr_reader :speech_model
|
|
741
|
+
|
|
742
|
+
sig { params(speech_model: String).void }
|
|
743
|
+
attr_writer :speech_model
|
|
744
|
+
|
|
745
|
+
# Speech-to-text provider for this language.
|
|
746
|
+
sig { returns(T.nilable(String)) }
|
|
747
|
+
attr_reader :transcription_provider
|
|
748
|
+
|
|
749
|
+
sig { params(transcription_provider: String).void }
|
|
750
|
+
attr_writer :transcription_provider
|
|
751
|
+
|
|
752
|
+
# Text-to-speech provider for this language.
|
|
753
|
+
sig { returns(T.nilable(String)) }
|
|
754
|
+
attr_reader :tts_provider
|
|
755
|
+
|
|
756
|
+
sig { params(tts_provider: String).void }
|
|
757
|
+
attr_writer :tts_provider
|
|
758
|
+
|
|
759
|
+
# Voice identifier for this language.
|
|
760
|
+
sig { returns(T.nilable(String)) }
|
|
761
|
+
attr_reader :voice
|
|
762
|
+
|
|
763
|
+
sig { params(voice: String).void }
|
|
764
|
+
attr_writer :voice
|
|
765
|
+
|
|
766
|
+
# Language-specific speech and transcription settings for Conversation Relay.
|
|
767
|
+
sig do
|
|
768
|
+
params(
|
|
769
|
+
code: String,
|
|
770
|
+
speech_model: String,
|
|
771
|
+
transcription_provider: String,
|
|
772
|
+
tts_provider: String,
|
|
773
|
+
voice: String
|
|
774
|
+
).returns(T.attached_class)
|
|
775
|
+
end
|
|
776
|
+
def self.new(
|
|
777
|
+
# BCP 47 language code.
|
|
778
|
+
code: nil,
|
|
779
|
+
# Speech recognition model for this language.
|
|
780
|
+
speech_model: nil,
|
|
781
|
+
# Speech-to-text provider for this language.
|
|
782
|
+
transcription_provider: nil,
|
|
783
|
+
# Text-to-speech provider for this language.
|
|
784
|
+
tts_provider: nil,
|
|
785
|
+
# Voice identifier for this language.
|
|
786
|
+
voice: nil
|
|
787
|
+
)
|
|
788
|
+
end
|
|
789
|
+
|
|
790
|
+
sig do
|
|
791
|
+
override.returns(
|
|
792
|
+
{
|
|
793
|
+
code: String,
|
|
794
|
+
speech_model: String,
|
|
795
|
+
transcription_provider: String,
|
|
796
|
+
tts_provider: String,
|
|
797
|
+
voice: String
|
|
798
|
+
}
|
|
799
|
+
)
|
|
800
|
+
end
|
|
801
|
+
def to_hash
|
|
802
|
+
end
|
|
803
|
+
end
|
|
804
|
+
|
|
805
|
+
class Participant < Telnyx::Internal::Type::BaseModel
|
|
806
|
+
OrHash =
|
|
807
|
+
T.type_alias do
|
|
808
|
+
T.any(
|
|
809
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant,
|
|
810
|
+
Telnyx::Internal::AnyHash
|
|
811
|
+
)
|
|
812
|
+
end
|
|
813
|
+
|
|
814
|
+
# The call_control_id of the participant to add to the conversation.
|
|
815
|
+
sig { returns(String) }
|
|
816
|
+
attr_accessor :id
|
|
817
|
+
|
|
818
|
+
# The role of the participant in the conversation.
|
|
819
|
+
sig do
|
|
820
|
+
returns(
|
|
821
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role::OrSymbol
|
|
822
|
+
)
|
|
823
|
+
end
|
|
824
|
+
attr_accessor :role
|
|
825
|
+
|
|
826
|
+
# Display name for the participant.
|
|
827
|
+
sig { returns(T.nilable(String)) }
|
|
828
|
+
attr_reader :name
|
|
829
|
+
|
|
830
|
+
sig { params(name: String).void }
|
|
831
|
+
attr_writer :name
|
|
832
|
+
|
|
833
|
+
# Determines what happens to the conversation when this participant hangs up.
|
|
834
|
+
sig do
|
|
835
|
+
returns(
|
|
836
|
+
T.nilable(
|
|
837
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::OrSymbol
|
|
838
|
+
)
|
|
839
|
+
)
|
|
840
|
+
end
|
|
841
|
+
attr_reader :on_hangup
|
|
842
|
+
|
|
843
|
+
sig do
|
|
844
|
+
params(
|
|
845
|
+
on_hangup:
|
|
846
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::OrSymbol
|
|
847
|
+
).void
|
|
848
|
+
end
|
|
849
|
+
attr_writer :on_hangup
|
|
850
|
+
|
|
851
|
+
sig do
|
|
852
|
+
params(
|
|
853
|
+
id: String,
|
|
854
|
+
role:
|
|
855
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role::OrSymbol,
|
|
856
|
+
name: String,
|
|
857
|
+
on_hangup:
|
|
858
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::OrSymbol
|
|
859
|
+
).returns(T.attached_class)
|
|
860
|
+
end
|
|
861
|
+
def self.new(
|
|
862
|
+
# The call_control_id of the participant to add to the conversation.
|
|
863
|
+
id:,
|
|
864
|
+
# The role of the participant in the conversation.
|
|
865
|
+
role:,
|
|
866
|
+
# Display name for the participant.
|
|
867
|
+
name: nil,
|
|
868
|
+
# Determines what happens to the conversation when this participant hangs up.
|
|
869
|
+
on_hangup: nil
|
|
870
|
+
)
|
|
871
|
+
end
|
|
872
|
+
|
|
873
|
+
sig do
|
|
874
|
+
override.returns(
|
|
875
|
+
{
|
|
876
|
+
id: String,
|
|
877
|
+
role:
|
|
878
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role::OrSymbol,
|
|
879
|
+
name: String,
|
|
880
|
+
on_hangup:
|
|
881
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::OrSymbol
|
|
882
|
+
}
|
|
883
|
+
)
|
|
884
|
+
end
|
|
885
|
+
def to_hash
|
|
886
|
+
end
|
|
887
|
+
|
|
888
|
+
# The role of the participant in the conversation.
|
|
889
|
+
module Role
|
|
890
|
+
extend Telnyx::Internal::Type::Enum
|
|
891
|
+
|
|
892
|
+
TaggedSymbol =
|
|
893
|
+
T.type_alias do
|
|
894
|
+
T.all(
|
|
895
|
+
Symbol,
|
|
896
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role
|
|
897
|
+
)
|
|
898
|
+
end
|
|
899
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
900
|
+
|
|
901
|
+
USER =
|
|
902
|
+
T.let(
|
|
903
|
+
:user,
|
|
904
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role::TaggedSymbol
|
|
905
|
+
)
|
|
906
|
+
|
|
907
|
+
sig do
|
|
908
|
+
override.returns(
|
|
909
|
+
T::Array[
|
|
910
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role::TaggedSymbol
|
|
911
|
+
]
|
|
912
|
+
)
|
|
913
|
+
end
|
|
914
|
+
def self.values
|
|
915
|
+
end
|
|
916
|
+
end
|
|
917
|
+
|
|
918
|
+
# Determines what happens to the conversation when this participant hangs up.
|
|
919
|
+
module OnHangup
|
|
920
|
+
extend Telnyx::Internal::Type::Enum
|
|
921
|
+
|
|
922
|
+
TaggedSymbol =
|
|
923
|
+
T.type_alias do
|
|
924
|
+
T.all(
|
|
925
|
+
Symbol,
|
|
926
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup
|
|
927
|
+
)
|
|
928
|
+
end
|
|
929
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
930
|
+
|
|
931
|
+
CONTINUE_CONVERSATION =
|
|
932
|
+
T.let(
|
|
933
|
+
:continue_conversation,
|
|
934
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::TaggedSymbol
|
|
935
|
+
)
|
|
936
|
+
END_CONVERSATION =
|
|
937
|
+
T.let(
|
|
938
|
+
:end_conversation,
|
|
939
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::TaggedSymbol
|
|
940
|
+
)
|
|
941
|
+
|
|
942
|
+
sig do
|
|
943
|
+
override.returns(
|
|
944
|
+
T::Array[
|
|
945
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup::TaggedSymbol
|
|
946
|
+
]
|
|
947
|
+
)
|
|
948
|
+
end
|
|
949
|
+
def self.values
|
|
950
|
+
end
|
|
951
|
+
end
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
class Transcription < Telnyx::Internal::Type::BaseModel
|
|
955
|
+
OrHash =
|
|
956
|
+
T.type_alias do
|
|
957
|
+
T.any(
|
|
958
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription,
|
|
959
|
+
Telnyx::Internal::AnyHash
|
|
960
|
+
)
|
|
961
|
+
end
|
|
962
|
+
|
|
963
|
+
# Transcription language.
|
|
964
|
+
sig { returns(T.nilable(String)) }
|
|
965
|
+
attr_reader :language
|
|
966
|
+
|
|
967
|
+
sig { params(language: String).void }
|
|
968
|
+
attr_writer :language
|
|
969
|
+
|
|
970
|
+
# Transcription model to use.
|
|
971
|
+
sig { returns(T.nilable(String)) }
|
|
972
|
+
attr_reader :model
|
|
973
|
+
|
|
974
|
+
sig { params(model: String).void }
|
|
975
|
+
attr_writer :model
|
|
976
|
+
|
|
977
|
+
# Transcription provider to use.
|
|
978
|
+
sig { returns(T.nilable(String)) }
|
|
979
|
+
attr_reader :provider
|
|
980
|
+
|
|
981
|
+
sig { params(provider: String).void }
|
|
982
|
+
attr_writer :provider
|
|
983
|
+
|
|
984
|
+
# Speech-to-text settings for Conversation Relay.
|
|
985
|
+
sig do
|
|
986
|
+
params(language: String, model: String, provider: String).returns(
|
|
987
|
+
T.attached_class
|
|
988
|
+
)
|
|
989
|
+
end
|
|
990
|
+
def self.new(
|
|
991
|
+
# Transcription language.
|
|
992
|
+
language: nil,
|
|
993
|
+
# Transcription model to use.
|
|
994
|
+
model: nil,
|
|
995
|
+
# Transcription provider to use.
|
|
996
|
+
provider: nil
|
|
997
|
+
)
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
sig do
|
|
1001
|
+
override.returns(
|
|
1002
|
+
{ language: String, model: String, provider: String }
|
|
1003
|
+
)
|
|
1004
|
+
end
|
|
1005
|
+
def to_hash
|
|
1006
|
+
end
|
|
1007
|
+
end
|
|
1008
|
+
|
|
1009
|
+
# The settings associated with the voice selected
|
|
1010
|
+
module VoiceSettings
|
|
1011
|
+
extend Telnyx::Internal::Type::Union
|
|
1012
|
+
|
|
1013
|
+
Variants =
|
|
1014
|
+
T.type_alias do
|
|
1015
|
+
T.any(
|
|
1016
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
1017
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
1018
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
1019
|
+
Telnyx::AzureVoiceSettings,
|
|
1020
|
+
Telnyx::RimeVoiceSettings,
|
|
1021
|
+
Telnyx::ResembleVoiceSettings,
|
|
1022
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai
|
|
1023
|
+
)
|
|
1024
|
+
end
|
|
1025
|
+
|
|
1026
|
+
class Xai < Telnyx::Internal::Type::BaseModel
|
|
1027
|
+
OrHash =
|
|
1028
|
+
T.type_alias do
|
|
1029
|
+
T.any(
|
|
1030
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai,
|
|
1031
|
+
Telnyx::Internal::AnyHash
|
|
1032
|
+
)
|
|
1033
|
+
end
|
|
1034
|
+
|
|
1035
|
+
# Voice settings provider type
|
|
1036
|
+
sig { returns(Symbol) }
|
|
1037
|
+
attr_accessor :type
|
|
1038
|
+
|
|
1039
|
+
# Language code, or `auto` to detect automatically.
|
|
1040
|
+
sig { returns(T.nilable(String)) }
|
|
1041
|
+
attr_reader :language
|
|
1042
|
+
|
|
1043
|
+
sig { params(language: String).void }
|
|
1044
|
+
attr_writer :language
|
|
1045
|
+
|
|
1046
|
+
sig do
|
|
1047
|
+
params(language: String, type: Symbol).returns(T.attached_class)
|
|
1048
|
+
end
|
|
1049
|
+
def self.new(
|
|
1050
|
+
# Language code, or `auto` to detect automatically.
|
|
1051
|
+
language: nil,
|
|
1052
|
+
# Voice settings provider type
|
|
1053
|
+
type: :xai
|
|
1054
|
+
)
|
|
1055
|
+
end
|
|
1056
|
+
|
|
1057
|
+
sig { override.returns({ type: Symbol, language: String }) }
|
|
1058
|
+
def to_hash
|
|
1059
|
+
end
|
|
1060
|
+
end
|
|
1061
|
+
|
|
1062
|
+
sig do
|
|
1063
|
+
override.returns(
|
|
1064
|
+
T::Array[
|
|
1065
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Variants
|
|
1066
|
+
]
|
|
1067
|
+
)
|
|
1068
|
+
end
|
|
1069
|
+
def self.variants
|
|
1070
|
+
end
|
|
1071
|
+
end
|
|
1072
|
+
end
|
|
1073
|
+
end
|
|
1074
|
+
end
|
|
1075
|
+
end
|