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.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +178 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +178 -9
  7. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +123 -3
  8. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +125 -3
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +179 -9
  10. data/lib/telnyx/models/ai/inference_embedding.rb +177 -9
  11. data/lib/telnyx/models/ai/openai_list_models_response.rb +210 -3
  12. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  13. data/lib/telnyx/models/ai_retrieve_models_response.rb +210 -3
  14. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  15. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  16. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +491 -0
  19. data/lib/telnyx/models/calls/action_start_conversation_relay_response.rb +37 -0
  20. data/lib/telnyx/models/calls/action_stop_conversation_relay_params.rb +44 -0
  21. data/lib/telnyx/models/calls/action_stop_conversation_relay_response.rb +18 -0
  22. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  23. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  24. data/lib/telnyx/models/network_list_interfaces_response.rb +2 -112
  25. data/lib/telnyx/models/public_internet_gateway_create_response.rb +8 -3
  26. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +8 -3
  27. data/lib/telnyx/models/public_internet_gateway_list_response.rb +10 -0
  28. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +8 -3
  29. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  30. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  31. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  32. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  33. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  34. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  35. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  36. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  37. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +8 -3
  38. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +8 -3
  39. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +10 -0
  40. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +8 -3
  41. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +8 -3
  42. data/lib/telnyx/models/wireguard_interface_create_response.rb +8 -3
  43. data/lib/telnyx/models/wireguard_interface_delete_response.rb +8 -3
  44. data/lib/telnyx/models/wireguard_interface_list_response.rb +10 -0
  45. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +8 -3
  46. data/lib/telnyx/models.rb +0 -20
  47. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  48. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  49. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  50. data/lib/telnyx/resources/calls/actions.rb +101 -5
  51. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  52. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  53. data/lib/telnyx/resources/uac_connections.rb +8 -8
  54. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  55. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  56. data/lib/telnyx/version.rb +1 -1
  57. data/lib/telnyx.rb +8 -22
  58. data/rbi/telnyx/models/ai/assistant_create_params.rbi +352 -12
  59. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  60. data/rbi/telnyx/models/ai/assistant_update_params.rbi +352 -12
  61. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  62. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  63. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +366 -12
  64. data/rbi/telnyx/models/ai/inference_embedding.rbi +351 -12
  65. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +315 -3
  66. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  67. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +310 -3
  68. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  69. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  70. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  71. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  72. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1075 -0
  73. data/rbi/telnyx/models/calls/action_start_conversation_relay_response.rbi +95 -0
  74. data/rbi/telnyx/models/calls/action_stop_conversation_relay_params.rbi +72 -0
  75. data/rbi/telnyx/models/calls/action_stop_conversation_relay_response.rbi +39 -0
  76. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  77. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  78. data/rbi/telnyx/models/network_list_interfaces_response.rbi +4 -181
  79. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +38 -6
  80. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +38 -6
  81. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +23 -0
  82. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +38 -6
  83. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  84. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  85. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  86. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  87. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  88. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  89. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  90. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  91. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +36 -6
  92. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +36 -6
  93. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +23 -0
  94. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +38 -6
  95. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +36 -6
  96. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +36 -6
  97. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +36 -6
  98. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +23 -0
  99. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +36 -6
  100. data/rbi/telnyx/models.rbi +0 -20
  101. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  102. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  103. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  104. data/rbi/telnyx/resources/calls/actions.rbi +152 -6
  105. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  106. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  107. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  108. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  109. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  110. data/sig/telnyx/models/ai/assistant_create_params.rbs +149 -18
  111. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  112. data/sig/telnyx/models/ai/assistant_update_params.rbs +149 -18
  113. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  114. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  115. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +152 -18
  116. data/sig/telnyx/models/ai/inference_embedding.rbs +149 -18
  117. data/sig/telnyx/models/ai/openai_list_models_response.rbs +149 -4
  118. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  119. data/sig/telnyx/models/ai_retrieve_models_response.rbs +149 -4
  120. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  121. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  122. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  123. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  124. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +416 -0
  125. data/sig/telnyx/models/calls/action_start_conversation_relay_response.rbs +45 -0
  126. data/sig/telnyx/models/calls/action_stop_conversation_relay_params.rbs +38 -0
  127. data/sig/telnyx/models/calls/action_stop_conversation_relay_response.rbs +20 -0
  128. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  129. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  130. data/sig/telnyx/models/network_list_interfaces_response.rbs +4 -106
  131. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +18 -6
  132. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +18 -6
  133. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +11 -0
  134. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +18 -6
  135. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  136. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  137. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  138. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  139. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  140. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  141. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  142. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  143. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +18 -6
  144. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +18 -6
  145. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +11 -0
  146. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +18 -6
  147. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +18 -6
  148. data/sig/telnyx/models/wireguard_interface_create_response.rbs +18 -6
  149. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +18 -6
  150. data/sig/telnyx/models/wireguard_interface_list_response.rbs +11 -0
  151. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +18 -6
  152. data/sig/telnyx/models.rbs +0 -20
  153. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  154. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  155. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  156. data/sig/telnyx/resources/calls/actions.rbs +29 -0
  157. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  158. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  159. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  160. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  161. metadata +26 -68
  162. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  163. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  164. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  165. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  166. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  167. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  168. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  169. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -47
  170. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  171. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  172. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  173. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  174. data/lib/telnyx/models/model_metadata.rb +0 -212
  175. data/lib/telnyx/models/public_internet_gateway_read.rb +0 -83
  176. data/lib/telnyx/models/uac_connection.rb +0 -412
  177. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  178. data/lib/telnyx/models/uac_inbound.rb +0 -210
  179. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  180. data/lib/telnyx/models/uac_outbound.rb +0 -131
  181. data/lib/telnyx/models/virtual_cross_connect_combined.rb +0 -212
  182. data/lib/telnyx/models/wireguard_interface_read.rb +0 -136
  183. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  184. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  185. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  186. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  187. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  188. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  189. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  190. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  191. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -83
  192. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  193. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  194. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  195. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  196. data/rbi/telnyx/models/model_metadata.rbi +0 -272
  197. data/rbi/telnyx/models/public_internet_gateway_read.rbi +0 -128
  198. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  199. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  200. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  201. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  202. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  203. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +0 -345
  204. data/rbi/telnyx/models/wireguard_interface_read.rbi +0 -213
  205. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  206. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  207. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  208. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  209. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  210. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  211. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  212. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  213. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -40
  214. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  215. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  216. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  217. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  218. data/sig/telnyx/models/model_metadata.rbs +0 -142
  219. data/sig/telnyx/models/public_internet_gateway_read.rbs +0 -80
  220. data/sig/telnyx/models/uac_connection.rbs +0 -338
  221. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  222. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  223. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  224. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  225. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +0 -190
  226. data/sig/telnyx/models/wireguard_interface_read.rbs +0 -127
  227. data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
@@ -0,0 +1,491 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Calls
6
+ # @see Telnyx::Resources::Calls::Actions#start_conversation_relay
7
+ class ActionStartConversationRelayParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ # @!attribute call_control_id
12
+ #
13
+ # @return [String]
14
+ required :call_control_id, String
15
+
16
+ # @!attribute conversation_relay_url
17
+ # WebSocket URL for your Conversation Relay server. Must start with `ws://` or
18
+ # `wss://`.
19
+ #
20
+ # @return [String]
21
+ required :conversation_relay_url, String
22
+
23
+ # @!attribute assistant
24
+ # Custom parameters for the Conversation Relay session. Pass key-value data as
25
+ # `assistant.dynamic_variables` to make it available to the relay session.
26
+ #
27
+ # @return [Telnyx::Models::Calls::ActionStartConversationRelayParams::Assistant, nil]
28
+ optional :assistant, -> { Telnyx::Calls::ActionStartConversationRelayParams::Assistant }
29
+
30
+ # @!attribute client_state
31
+ # Use this field to add state to subsequent webhooks. It must be a valid Base-64
32
+ # encoded string.
33
+ #
34
+ # @return [String, nil]
35
+ optional :client_state, String
36
+
37
+ # @!attribute command_id
38
+ # Use this field to avoid duplicate commands. Telnyx will ignore any command with
39
+ # the same `command_id` for the same `call_control_id`.
40
+ #
41
+ # @return [String, nil]
42
+ optional :command_id, String
43
+
44
+ # @!attribute conversation_relay_dtmf_detection
45
+ # Enable DTMF detection for the relay session.
46
+ #
47
+ # @return [Boolean, nil]
48
+ optional :conversation_relay_dtmf_detection, Telnyx::Internal::Type::Boolean
49
+
50
+ # @!attribute greeting
51
+ # Text played when the relay session starts.
52
+ #
53
+ # @return [String, nil]
54
+ optional :greeting, String
55
+
56
+ # @!attribute interruption_settings
57
+ # Settings for handling caller interruptions during Conversation Relay speech.
58
+ #
59
+ # @return [Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings, nil]
60
+ optional :interruption_settings,
61
+ -> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings }
62
+
63
+ # @!attribute language
64
+ # Default language for the relay session. This value is used for both
65
+ # text-to-speech and speech recognition unless `tts_language` or
66
+ # `transcription_language` are provided.
67
+ #
68
+ # @return [String, nil]
69
+ optional :language, String
70
+
71
+ # @!attribute languages
72
+ # Language-specific TTS and transcription settings. Use this when the relay
73
+ # session needs per-language provider, voice, or speech model configuration.
74
+ #
75
+ # @return [Array<Telnyx::Models::Calls::ActionStartConversationRelayParams::Language>, nil]
76
+ optional :languages,
77
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Calls::ActionStartConversationRelayParams::Language] }
78
+
79
+ # @!attribute participants
80
+ # Participants to add to the conversation.
81
+ #
82
+ # @return [Array<Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant>, nil]
83
+ optional :participants,
84
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Calls::ActionStartConversationRelayParams::Participant] }
85
+
86
+ # @!attribute send_message_history_updates
87
+ # When true, sends message history update webhooks.
88
+ #
89
+ # @return [Boolean, nil]
90
+ optional :send_message_history_updates, Telnyx::Internal::Type::Boolean
91
+
92
+ # @!attribute transcription
93
+ # Speech-to-text settings for Conversation Relay.
94
+ #
95
+ # @return [Telnyx::Models::Calls::ActionStartConversationRelayParams::Transcription, nil]
96
+ optional :transcription, -> { Telnyx::Calls::ActionStartConversationRelayParams::Transcription }
97
+
98
+ # @!attribute transcription_language
99
+ # Language to use for speech recognition. Overrides `language` for transcription
100
+ # when provided.
101
+ #
102
+ # @return [String, nil]
103
+ optional :transcription_language, String
104
+
105
+ # @!attribute tts_language
106
+ # Language to use for text-to-speech. Overrides `language` for TTS when provided.
107
+ #
108
+ # @return [String, nil]
109
+ optional :tts_language, String
110
+
111
+ # @!attribute user_response_timeout_ms
112
+ # Time in milliseconds to wait for caller input before timing out.
113
+ #
114
+ # @return [Integer, nil]
115
+ optional :user_response_timeout_ms, Integer
116
+
117
+ # @!attribute voice
118
+ # The voice to be used by the voice assistant. Currently we support ElevenLabs,
119
+ # Telnyx and AWS voices.
120
+ #
121
+ # **Supported Providers:**
122
+ #
123
+ # - **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural
124
+ # voices, which provide more realistic, human-like speech, append `-Neural` to
125
+ # the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
126
+ # [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
127
+ # for compatibility.
128
+ # - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
129
+ # Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
130
+ # Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
131
+ # [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
132
+ # - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
133
+ # `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
134
+ # ElevenLabs, you must provide your ElevenLabs API key as an integration secret
135
+ # under `"voice_settings": {"api_key_ref": "<secret_id>"}`. See
136
+ # [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
137
+ # for details. Check
138
+ # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
139
+ # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`
140
+ # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
141
+ # `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.
142
+ # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
143
+ # `ara`, `rex`, `sal`, `leo`.
144
+ #
145
+ # @return [String, nil]
146
+ optional :voice, String
147
+
148
+ # @!attribute voice_settings
149
+ # The settings associated with the voice selected
150
+ #
151
+ # @return [Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings, Telnyx::Models::AzureVoiceSettings, Telnyx::Models::RimeVoiceSettings, Telnyx::Models::ResembleVoiceSettings, Telnyx::Models::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai, nil]
152
+ optional :voice_settings, union: -> { Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings }
153
+
154
+ # @!method initialize(call_control_id:, conversation_relay_url:, assistant: nil, client_state: nil, command_id: nil, conversation_relay_dtmf_detection: nil, greeting: nil, interruption_settings: nil, language: nil, languages: nil, participants: nil, send_message_history_updates: nil, transcription: nil, transcription_language: nil, tts_language: nil, user_response_timeout_ms: nil, voice: nil, voice_settings: nil, request_options: {})
155
+ # Some parameter documentations has been truncated, see
156
+ # {Telnyx::Models::Calls::ActionStartConversationRelayParams} for more details.
157
+ #
158
+ # @param call_control_id [String]
159
+ #
160
+ # @param conversation_relay_url [String] WebSocket URL for your Conversation Relay server. Must start with `ws://` or `ws
161
+ #
162
+ # @param assistant [Telnyx::Models::Calls::ActionStartConversationRelayParams::Assistant] Custom parameters for the Conversation Relay session. Pass key-value data as `as
163
+ #
164
+ # @param client_state [String] Use this field to add state to subsequent webhooks. It must be a valid Base-64 e
165
+ #
166
+ # @param command_id [String] Use this field to avoid duplicate commands. Telnyx will ignore any command with
167
+ #
168
+ # @param conversation_relay_dtmf_detection [Boolean] Enable DTMF detection for the relay session.
169
+ #
170
+ # @param greeting [String] Text played when the relay session starts.
171
+ #
172
+ # @param interruption_settings [Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings] Settings for handling caller interruptions during Conversation Relay speech.
173
+ #
174
+ # @param language [String] Default language for the relay session. This value is used for both text-to-spee
175
+ #
176
+ # @param languages [Array<Telnyx::Models::Calls::ActionStartConversationRelayParams::Language>] Language-specific TTS and transcription settings. Use this when the relay sessio
177
+ #
178
+ # @param participants [Array<Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant>] Participants to add to the conversation.
179
+ #
180
+ # @param send_message_history_updates [Boolean] When true, sends message history update webhooks.
181
+ #
182
+ # @param transcription [Telnyx::Models::Calls::ActionStartConversationRelayParams::Transcription] Speech-to-text settings for Conversation Relay.
183
+ #
184
+ # @param transcription_language [String] Language to use for speech recognition. Overrides `language` for transcription w
185
+ #
186
+ # @param tts_language [String] Language to use for text-to-speech. Overrides `language` for TTS when provided.
187
+ #
188
+ # @param user_response_timeout_ms [Integer] Time in milliseconds to wait for caller input before timing out.
189
+ #
190
+ # @param voice [String] The voice to be used by the voice assistant. Currently we support ElevenLabs, Te
191
+ #
192
+ # @param voice_settings [Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings, Telnyx::Models::AzureVoiceSettings, Telnyx::Models::RimeVoiceSettings, Telnyx::Models::ResembleVoiceSettings, Telnyx::Models::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai] The settings associated with the voice selected
193
+ #
194
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
195
+
196
+ class Assistant < Telnyx::Internal::Type::BaseModel
197
+ # @!attribute dynamic_variables
198
+ # Custom key-value parameters forwarded to the Conversation Relay session.
199
+ #
200
+ # @return [Hash{Symbol=>String}, nil]
201
+ optional :dynamic_variables, Telnyx::Internal::Type::HashOf[String]
202
+
203
+ # @!method initialize(dynamic_variables: nil)
204
+ # Custom parameters for the Conversation Relay session. Pass key-value data as
205
+ # `assistant.dynamic_variables` to make it available to the relay session.
206
+ #
207
+ # @param dynamic_variables [Hash{Symbol=>String}] Custom key-value parameters forwarded to the Conversation Relay session.
208
+ end
209
+
210
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
211
+ # @!attribute enable
212
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
213
+ # equivalent to `interruptible=none`.
214
+ #
215
+ # @return [Boolean, nil]
216
+ optional :enable, Telnyx::Internal::Type::Boolean
217
+
218
+ # @!attribute interruptible
219
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
220
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
221
+ # only; `dtmf` allows DTMF only.
222
+ #
223
+ # @return [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible, nil]
224
+ optional :interruptible,
225
+ enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible }
226
+
227
+ # @!attribute interruptible_greeting
228
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
229
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
230
+ # only; `dtmf` allows DTMF only.
231
+ #
232
+ # @return [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting, nil]
233
+ optional :interruptible_greeting,
234
+ enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting }
235
+
236
+ # @!attribute welcome_greeting_interruptible
237
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
238
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
239
+ # only; `dtmf` allows DTMF only.
240
+ #
241
+ # @return [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible, nil]
242
+ optional :welcome_greeting_interruptible,
243
+ enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible }
244
+
245
+ # @!method initialize(enable: nil, interruptible: nil, interruptible_greeting: nil, welcome_greeting_interruptible: nil)
246
+ # Some parameter documentations has been truncated, see
247
+ # {Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings}
248
+ # for more details.
249
+ #
250
+ # Settings for handling caller interruptions during Conversation Relay speech.
251
+ #
252
+ # @param enable [Boolean] Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is equ
253
+ #
254
+ # @param interruptible [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible] Controls when caller input can interrupt assistant speech. `any` allows speech o
255
+ #
256
+ # @param interruptible_greeting [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting] Controls when caller input can interrupt assistant speech. `any` allows speech o
257
+ #
258
+ # @param welcome_greeting_interruptible [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible] Controls when caller input can interrupt assistant speech. `any` allows speech o
259
+
260
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
261
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
262
+ # only; `dtmf` allows DTMF only.
263
+ #
264
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings#interruptible
265
+ module Interruptible
266
+ extend Telnyx::Internal::Type::Enum
267
+
268
+ NONE = :none
269
+ ANY = :any
270
+ SPEECH = :speech
271
+ DTMF = :dtmf
272
+
273
+ # @!method self.values
274
+ # @return [Array<Symbol>]
275
+ end
276
+
277
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
278
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
279
+ # only; `dtmf` allows DTMF only.
280
+ #
281
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings#interruptible_greeting
282
+ module InterruptibleGreeting
283
+ extend Telnyx::Internal::Type::Enum
284
+
285
+ NONE = :none
286
+ ANY = :any
287
+ SPEECH = :speech
288
+ DTMF = :dtmf
289
+
290
+ # @!method self.values
291
+ # @return [Array<Symbol>]
292
+ end
293
+
294
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
295
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
296
+ # only; `dtmf` allows DTMF only.
297
+ #
298
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings#welcome_greeting_interruptible
299
+ module WelcomeGreetingInterruptible
300
+ extend Telnyx::Internal::Type::Enum
301
+
302
+ NONE = :none
303
+ ANY = :any
304
+ SPEECH = :speech
305
+ DTMF = :dtmf
306
+
307
+ # @!method self.values
308
+ # @return [Array<Symbol>]
309
+ end
310
+ end
311
+
312
+ class Language < Telnyx::Internal::Type::BaseModel
313
+ # @!attribute code
314
+ # BCP 47 language code.
315
+ #
316
+ # @return [String, nil]
317
+ optional :code, String
318
+
319
+ # @!attribute speech_model
320
+ # Speech recognition model for this language.
321
+ #
322
+ # @return [String, nil]
323
+ optional :speech_model, String
324
+
325
+ # @!attribute transcription_provider
326
+ # Speech-to-text provider for this language.
327
+ #
328
+ # @return [String, nil]
329
+ optional :transcription_provider, String
330
+
331
+ # @!attribute tts_provider
332
+ # Text-to-speech provider for this language.
333
+ #
334
+ # @return [String, nil]
335
+ optional :tts_provider, String
336
+
337
+ # @!attribute voice
338
+ # Voice identifier for this language.
339
+ #
340
+ # @return [String, nil]
341
+ optional :voice, String
342
+
343
+ # @!method initialize(code: nil, speech_model: nil, transcription_provider: nil, tts_provider: nil, voice: nil)
344
+ # Language-specific speech and transcription settings for Conversation Relay.
345
+ #
346
+ # @param code [String] BCP 47 language code.
347
+ #
348
+ # @param speech_model [String] Speech recognition model for this language.
349
+ #
350
+ # @param transcription_provider [String] Speech-to-text provider for this language.
351
+ #
352
+ # @param tts_provider [String] Text-to-speech provider for this language.
353
+ #
354
+ # @param voice [String] Voice identifier for this language.
355
+ end
356
+
357
+ class Participant < Telnyx::Internal::Type::BaseModel
358
+ # @!attribute id
359
+ # The call_control_id of the participant to add to the conversation.
360
+ #
361
+ # @return [String]
362
+ required :id, String
363
+
364
+ # @!attribute role
365
+ # The role of the participant in the conversation.
366
+ #
367
+ # @return [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant::Role]
368
+ required :role, enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::Participant::Role }
369
+
370
+ # @!attribute name
371
+ # Display name for the participant.
372
+ #
373
+ # @return [String, nil]
374
+ optional :name, String
375
+
376
+ # @!attribute on_hangup
377
+ # Determines what happens to the conversation when this participant hangs up.
378
+ #
379
+ # @return [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant::OnHangup, nil]
380
+ optional :on_hangup, enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::Participant::OnHangup }
381
+
382
+ # @!method initialize(id:, role:, name: nil, on_hangup: nil)
383
+ # @param id [String] The call_control_id of the participant to add to the conversation.
384
+ #
385
+ # @param role [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant::Role] The role of the participant in the conversation.
386
+ #
387
+ # @param name [String] Display name for the participant.
388
+ #
389
+ # @param on_hangup [Symbol, Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant::OnHangup] Determines what happens to the conversation when this participant hangs up.
390
+
391
+ # The role of the participant in the conversation.
392
+ #
393
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant#role
394
+ module Role
395
+ extend Telnyx::Internal::Type::Enum
396
+
397
+ USER = :user
398
+
399
+ # @!method self.values
400
+ # @return [Array<Symbol>]
401
+ end
402
+
403
+ # Determines what happens to the conversation when this participant hangs up.
404
+ #
405
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayParams::Participant#on_hangup
406
+ module OnHangup
407
+ extend Telnyx::Internal::Type::Enum
408
+
409
+ CONTINUE_CONVERSATION = :continue_conversation
410
+ END_CONVERSATION = :end_conversation
411
+
412
+ # @!method self.values
413
+ # @return [Array<Symbol>]
414
+ end
415
+ end
416
+
417
+ class Transcription < Telnyx::Internal::Type::BaseModel
418
+ # @!attribute language
419
+ # Transcription language.
420
+ #
421
+ # @return [String, nil]
422
+ optional :language, String
423
+
424
+ # @!attribute model
425
+ # Transcription model to use.
426
+ #
427
+ # @return [String, nil]
428
+ optional :model, String
429
+
430
+ # @!attribute provider
431
+ # Transcription provider to use.
432
+ #
433
+ # @return [String, nil]
434
+ optional :provider, String
435
+
436
+ # @!method initialize(language: nil, model: nil, provider: nil)
437
+ # Speech-to-text settings for Conversation Relay.
438
+ #
439
+ # @param language [String] Transcription language.
440
+ #
441
+ # @param model [String] Transcription model to use.
442
+ #
443
+ # @param provider [String] Transcription provider to use.
444
+ end
445
+
446
+ # The settings associated with the voice selected
447
+ module VoiceSettings
448
+ extend Telnyx::Internal::Type::Union
449
+
450
+ discriminator :type
451
+
452
+ variant :elevenlabs, -> { Telnyx::Calls::ElevenLabsVoiceSettings }
453
+
454
+ variant :telnyx, -> { Telnyx::Calls::TelnyxVoiceSettings }
455
+
456
+ variant :aws, -> { Telnyx::Calls::AwsVoiceSettings }
457
+
458
+ variant :azure, -> { Telnyx::AzureVoiceSettings }
459
+
460
+ variant :rime, -> { Telnyx::RimeVoiceSettings }
461
+
462
+ variant :resemble, -> { Telnyx::ResembleVoiceSettings }
463
+
464
+ variant :xai, -> { Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai }
465
+
466
+ class Xai < Telnyx::Internal::Type::BaseModel
467
+ # @!attribute type
468
+ # Voice settings provider type
469
+ #
470
+ # @return [Symbol, :xai]
471
+ required :type, const: :xai
472
+
473
+ # @!attribute language
474
+ # Language code, or `auto` to detect automatically.
475
+ #
476
+ # @return [String, nil]
477
+ optional :language, String
478
+
479
+ # @!method initialize(language: nil, type: :xai)
480
+ # @param language [String] Language code, or `auto` to detect automatically.
481
+ #
482
+ # @param type [Symbol, :xai] Voice settings provider type
483
+ end
484
+
485
+ # @!method self.variants
486
+ # @return [Array(Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings, Telnyx::Models::AzureVoiceSettings, Telnyx::Models::RimeVoiceSettings, Telnyx::Models::ResembleVoiceSettings, Telnyx::Models::Calls::ActionStartConversationRelayParams::VoiceSettings::Xai)]
487
+ end
488
+ end
489
+ end
490
+ end
491
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Calls
6
+ # @see Telnyx::Resources::Calls::Actions#start_conversation_relay
7
+ class ActionStartConversationRelayResponse < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [Telnyx::Models::Calls::ActionStartConversationRelayResponse::Data, nil]
11
+ optional :data, -> { Telnyx::Models::Calls::ActionStartConversationRelayResponse::Data }
12
+
13
+ # @!method initialize(data: nil)
14
+ # @param data [Telnyx::Models::Calls::ActionStartConversationRelayResponse::Data]
15
+
16
+ # @see Telnyx::Models::Calls::ActionStartConversationRelayResponse#data
17
+ class Data < Telnyx::Internal::Type::BaseModel
18
+ # @!attribute conversation_relay_id
19
+ # The ID of the Conversation Relay session created by the command.
20
+ #
21
+ # @return [String, nil]
22
+ optional :conversation_relay_id, String
23
+
24
+ # @!attribute result
25
+ #
26
+ # @return [String, nil]
27
+ optional :result, String
28
+
29
+ # @!method initialize(conversation_relay_id: nil, result: nil)
30
+ # @param conversation_relay_id [String] The ID of the Conversation Relay session created by the command.
31
+ #
32
+ # @param result [String]
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Calls
6
+ # @see Telnyx::Resources::Calls::Actions#stop_conversation_relay
7
+ class ActionStopConversationRelayParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ # @!attribute call_control_id
12
+ #
13
+ # @return [String]
14
+ required :call_control_id, String
15
+
16
+ # @!attribute client_state
17
+ # Use this field to add state to subsequent webhooks. It must be a valid Base-64
18
+ # encoded string.
19
+ #
20
+ # @return [String, nil]
21
+ optional :client_state, String
22
+
23
+ # @!attribute command_id
24
+ # Use this field to avoid duplicate commands. Telnyx will ignore any command with
25
+ # the same `command_id` for the same `call_control_id`.
26
+ #
27
+ # @return [String, nil]
28
+ optional :command_id, String
29
+
30
+ # @!method initialize(call_control_id:, client_state: nil, command_id: nil, request_options: {})
31
+ # Some parameter documentations has been truncated, see
32
+ # {Telnyx::Models::Calls::ActionStopConversationRelayParams} for more details.
33
+ #
34
+ # @param call_control_id [String]
35
+ #
36
+ # @param client_state [String] Use this field to add state to subsequent webhooks. It must be a valid Base-64 e
37
+ #
38
+ # @param command_id [String] Use this field to avoid duplicate commands. Telnyx will ignore any command with
39
+ #
40
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Calls
6
+ # @see Telnyx::Resources::Calls::Actions#stop_conversation_relay
7
+ class ActionStopConversationRelayResponse < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ #
10
+ # @return [Telnyx::Models::Calls::CallControlCommandResult, nil]
11
+ optional :data, -> { Telnyx::Calls::CallControlCommandResult }
12
+
13
+ # @!method initialize(data: nil)
14
+ # @param data [Telnyx::Models::Calls::CallControlCommandResult]
15
+ end
16
+ end
17
+ end
18
+ end