telnyx 5.102.1 → 5.103.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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +170 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +170 -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/scheduled_event_create_params.rb +17 -1
  10. data/lib/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rb +91 -1
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +171 -9
  12. data/lib/telnyx/models/ai/inference_embedding.rb +169 -9
  13. data/lib/telnyx/models/ai/openai_list_models_response.rb +31 -3
  14. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  15. data/lib/telnyx/models/ai_retrieve_models_response.rb +31 -3
  16. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  19. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  20. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  21. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  22. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  23. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  24. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  25. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  26. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  27. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  28. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  29. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  30. data/lib/telnyx/models.rb +0 -14
  31. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  32. data/lib/telnyx/resources/ai/assistants/scheduled_events.rb +5 -1
  33. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  34. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  35. data/lib/telnyx/resources/calls/actions.rb +5 -5
  36. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  37. data/lib/telnyx/resources/uac_connections.rb +8 -8
  38. data/lib/telnyx/version.rb +1 -1
  39. data/lib/telnyx.rb +1 -19
  40. data/rbi/telnyx/models/ai/assistant_create_params.rbi +341 -12
  41. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  42. data/rbi/telnyx/models/ai/assistant_update_params.rbi +341 -12
  43. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  44. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  45. data/rbi/telnyx/models/ai/assistants/scheduled_event_create_params.rbi +22 -0
  46. data/rbi/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbi +153 -0
  47. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +355 -12
  48. data/rbi/telnyx/models/ai/inference_embedding.rbi +340 -12
  49. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +56 -3
  50. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  51. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +51 -3
  52. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  53. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  54. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  55. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  56. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  57. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  58. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  59. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  60. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  61. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  62. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  63. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  64. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  65. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  66. data/rbi/telnyx/models.rbi +0 -14
  67. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  68. data/rbi/telnyx/resources/ai/assistants/scheduled_events.rbi +6 -0
  69. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  70. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  71. data/rbi/telnyx/resources/calls/actions.rbi +6 -6
  72. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  73. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  74. data/sig/telnyx/models/ai/assistant_create_params.rbs +142 -18
  75. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  76. data/sig/telnyx/models/ai/assistant_update_params.rbs +142 -18
  77. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  78. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  79. data/sig/telnyx/models/ai/assistants/scheduled_event_create_params.rbs +14 -0
  80. data/sig/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbs +85 -0
  81. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +145 -18
  82. data/sig/telnyx/models/ai/inference_embedding.rbs +142 -18
  83. data/sig/telnyx/models/ai/openai_list_models_response.rbs +39 -4
  84. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  85. data/sig/telnyx/models/ai_retrieve_models_response.rbs +39 -4
  86. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  87. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  88. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  89. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  90. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  91. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  92. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  93. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  94. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  95. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  96. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  97. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  98. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  99. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  100. data/sig/telnyx/models.rbs +0 -14
  101. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  102. data/sig/telnyx/resources/ai/assistants/scheduled_events.rbs +2 -0
  103. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  104. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  105. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  106. metadata +4 -58
  107. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  108. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  109. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  110. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  111. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  112. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  113. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  114. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -39
  115. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  116. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  117. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  118. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  119. data/lib/telnyx/models/model_metadata.rb +0 -33
  120. data/lib/telnyx/models/uac_connection.rb +0 -412
  121. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  122. data/lib/telnyx/models/uac_inbound.rb +0 -210
  123. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  124. data/lib/telnyx/models/uac_outbound.rb +0 -131
  125. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  126. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  127. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  128. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  129. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  130. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  131. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  132. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  133. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -72
  134. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  135. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  136. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  137. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  138. data/rbi/telnyx/models/model_metadata.rbi +0 -44
  139. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  140. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  141. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  142. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  143. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  144. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  145. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  146. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  147. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  148. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  149. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  150. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  151. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  152. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -30
  153. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  154. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  155. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  156. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  157. data/sig/telnyx/models/model_metadata.rbs +0 -32
  158. data/sig/telnyx/models/uac_connection.rbs +0 -338
  159. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  160. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  161. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  162. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  163. data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
@@ -82,8 +82,9 @@ module Telnyx
82
82
  # `/ai/integrations/connections`. Each item references a catalog integration by
83
83
  # `integration_id`.
84
84
  #
85
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
86
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
85
+ # @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>, nil]
86
+ optional :integrations,
87
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::Integration] }
87
88
 
88
89
  # @!attribute interruption_settings
89
90
  # Settings for interruptions and how the assistant decides the user has finished
@@ -93,8 +94,8 @@ module Telnyx
93
94
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
94
95
  # `eager_eot_threshold`).
95
96
  #
96
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
97
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
97
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings, nil]
98
+ optional :interruption_settings, -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings }
98
99
 
99
100
  # @!attribute llm_api_key_ref
100
101
  # This is only needed when using third-party inference providers selected by
@@ -111,8 +112,9 @@ module Telnyx
111
112
  # MCP servers attached to the assistant. Create MCP servers with
112
113
  # `/ai/mcp_servers`, then reference them by `id` here.
113
114
  #
114
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
115
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
115
+ # @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>, nil]
116
+ optional :mcp_servers,
117
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::McpServer] }
116
118
 
117
119
  # @!attribute messaging_settings
118
120
  #
@@ -228,13 +230,13 @@ module Telnyx
228
230
  #
229
231
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
230
232
  #
231
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
233
+ # @param integrations [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>] Connected integrations attached to the assistant. The catalog of available integ
232
234
  #
233
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
235
+ # @param interruption_settings [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
234
236
  #
235
237
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
236
238
  #
237
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
239
+ # @param mcp_servers [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
238
240
  #
239
241
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
240
242
  #
@@ -263,6 +265,166 @@ module Telnyx
263
265
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
264
266
  #
265
267
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
268
+
269
+ class Integration < Telnyx::Internal::Type::BaseModel
270
+ # @!attribute integration_id
271
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
272
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
273
+ # entries returned by `/ai/integrations/connections`). It is **not** the
274
+ # connection-level `id` from `/ai/integrations/connections`.
275
+ #
276
+ # @return [String]
277
+ required :integration_id, String
278
+
279
+ # @!attribute allowed_list
280
+ # Optional per-assistant allowlist of integration tool names. When omitted or
281
+ # empty, all tools allowed by the connected integration are available to the
282
+ # assistant.
283
+ #
284
+ # @return [Array<String>, nil]
285
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
286
+
287
+ # @!method initialize(integration_id:, allowed_list: nil)
288
+ # Some parameter documentations has been truncated, see
289
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::Integration} for more details.
290
+ #
291
+ # Reference to a connected integration attached to an assistant. Discover
292
+ # available integrations with `/ai/integrations` and connected integrations with
293
+ # `/ai/integrations/connections`.
294
+ #
295
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
296
+ #
297
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
298
+ end
299
+
300
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant#interruption_settings
301
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
302
+ # @!attribute enable
303
+ # Whether users can interrupt the assistant while it is speaking.
304
+ #
305
+ # @return [Boolean, nil]
306
+ optional :enable, Telnyx::Internal::Type::Boolean
307
+
308
+ # @!attribute start_speaking_plan
309
+ # Controls when the assistant starts speaking after the user stops. These
310
+ # thresholds primarily apply to non turn-taking transcription models. For
311
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
312
+ # transcription end-of-turn settings under `transcription.settings` instead.
313
+ #
314
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan, nil]
315
+ optional :start_speaking_plan,
316
+ -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan }
317
+
318
+ # @!method initialize(enable: nil, start_speaking_plan: nil)
319
+ # Some parameter documentations has been truncated, see
320
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings} for more
321
+ # details.
322
+ #
323
+ # Settings for interruptions and how the assistant decides the user has finished
324
+ # speaking. These timings are most relevant when using non turn-taking
325
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
326
+ # behavior is controlled by the transcription end-of-turn settings under
327
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
328
+ # `eager_eot_threshold`).
329
+ #
330
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
331
+ #
332
+ # @param start_speaking_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
333
+
334
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings#start_speaking_plan
335
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
336
+ # @!attribute transcription_endpointing_plan
337
+ # Endpointing thresholds used to decide when the user has finished speaking.
338
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
339
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
340
+ # `eager_eot_threshold`.
341
+ #
342
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
343
+ optional :transcription_endpointing_plan,
344
+ -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
345
+
346
+ # @!attribute wait_seconds
347
+ # Minimum seconds to wait before the assistant starts speaking.
348
+ #
349
+ # @return [Float, nil]
350
+ optional :wait_seconds, Float
351
+
352
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
353
+ # Some parameter documentations has been truncated, see
354
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan}
355
+ # for more details.
356
+ #
357
+ # Controls when the assistant starts speaking after the user stops. These
358
+ # thresholds primarily apply to non turn-taking transcription models. For
359
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
360
+ # transcription end-of-turn settings under `transcription.settings` instead.
361
+ #
362
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
363
+ #
364
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
365
+
366
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
367
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
368
+ # @!attribute on_no_punctuation_seconds
369
+ # Seconds to wait after the transcript ends without punctuation.
370
+ #
371
+ # @return [Float, nil]
372
+ optional :on_no_punctuation_seconds, Float
373
+
374
+ # @!attribute on_number_seconds
375
+ # Seconds to wait after the transcript ends with a number.
376
+ #
377
+ # @return [Float, nil]
378
+ optional :on_number_seconds, Float
379
+
380
+ # @!attribute on_punctuation_seconds
381
+ # Seconds to wait after the transcript ends with punctuation.
382
+ #
383
+ # @return [Float, nil]
384
+ optional :on_punctuation_seconds, Float
385
+
386
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
387
+ # Endpointing thresholds used to decide when the user has finished speaking.
388
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
389
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
390
+ # `eager_eot_threshold`.
391
+ #
392
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
393
+ #
394
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
395
+ #
396
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
397
+ end
398
+ end
399
+ end
400
+
401
+ class McpServer < Telnyx::Internal::Type::BaseModel
402
+ # @!attribute id
403
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
404
+ # by the `/ai/mcp_servers` endpoints.
405
+ #
406
+ # @return [String]
407
+ required :id, String
408
+
409
+ # @!attribute allowed_tools
410
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
411
+ # uses the MCP server's configured `allowed_tools`.
412
+ #
413
+ # @return [Array<String>, nil]
414
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
415
+
416
+ # @!method initialize(id:, allowed_tools: nil)
417
+ # Some parameter documentations has been truncated, see
418
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer} for more details.
419
+ #
420
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
421
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
422
+ # ID.
423
+ #
424
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
425
+ #
426
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
427
+ end
266
428
  end
267
429
  end
268
430
 
@@ -112,8 +112,9 @@ module Telnyx
112
112
  # `/ai/integrations/connections`. Each item references a catalog integration by
113
113
  # `integration_id`.
114
114
  #
115
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
116
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
115
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>, nil]
116
+ optional :integrations,
117
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::Integration] }
117
118
 
118
119
  # @!attribute interruption_settings
119
120
  # Settings for interruptions and how the assistant decides the user has finished
@@ -123,8 +124,8 @@ module Telnyx
123
124
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
124
125
  # `eager_eot_threshold`).
125
126
  #
126
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
127
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
127
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings, nil]
128
+ optional :interruption_settings, -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings }
128
129
 
129
130
  # @!attribute llm_api_key_ref
130
131
  # This is only needed when using third-party inference providers selected by
@@ -141,8 +142,8 @@ module Telnyx
141
142
  # MCP servers attached to the assistant. Create MCP servers with
142
143
  # `/ai/mcp_servers`, then reference them by `id` here.
143
144
  #
144
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
145
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
145
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>, nil]
146
+ optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::McpServer] }
146
147
 
147
148
  # @!attribute messaging_settings
148
149
  #
@@ -265,13 +266,13 @@ module Telnyx
265
266
  #
266
267
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
267
268
  #
268
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
269
+ # @param integrations [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>] Connected integrations attached to the assistant. The catalog of available integ
269
270
  #
270
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
271
+ # @param interruption_settings [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
271
272
  #
272
273
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
273
274
  #
274
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
275
+ # @param mcp_servers [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
275
276
  #
276
277
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
277
278
  #
@@ -300,6 +301,165 @@ module Telnyx
300
301
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
301
302
  #
302
303
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
304
+
305
+ class Integration < Telnyx::Internal::Type::BaseModel
306
+ # @!attribute integration_id
307
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
308
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
309
+ # entries returned by `/ai/integrations/connections`). It is **not** the
310
+ # connection-level `id` from `/ai/integrations/connections`.
311
+ #
312
+ # @return [String]
313
+ required :integration_id, String
314
+
315
+ # @!attribute allowed_list
316
+ # Optional per-assistant allowlist of integration tool names. When omitted or
317
+ # empty, all tools allowed by the connected integration are available to the
318
+ # assistant.
319
+ #
320
+ # @return [Array<String>, nil]
321
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
322
+
323
+ # @!method initialize(integration_id:, allowed_list: nil)
324
+ # Some parameter documentations has been truncated, see
325
+ # {Telnyx::Models::AI::InferenceEmbedding::Integration} for more details.
326
+ #
327
+ # Reference to a connected integration attached to an assistant. Discover
328
+ # available integrations with `/ai/integrations` and connected integrations with
329
+ # `/ai/integrations/connections`.
330
+ #
331
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
332
+ #
333
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
334
+ end
335
+
336
+ # @see Telnyx::Models::AI::InferenceEmbedding#interruption_settings
337
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
338
+ # @!attribute enable
339
+ # Whether users can interrupt the assistant while it is speaking.
340
+ #
341
+ # @return [Boolean, nil]
342
+ optional :enable, Telnyx::Internal::Type::Boolean
343
+
344
+ # @!attribute start_speaking_plan
345
+ # Controls when the assistant starts speaking after the user stops. These
346
+ # thresholds primarily apply to non turn-taking transcription models. For
347
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
348
+ # transcription end-of-turn settings under `transcription.settings` instead.
349
+ #
350
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan, nil]
351
+ optional :start_speaking_plan,
352
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan }
353
+
354
+ # @!method initialize(enable: nil, start_speaking_plan: nil)
355
+ # Some parameter documentations has been truncated, see
356
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings} for more details.
357
+ #
358
+ # Settings for interruptions and how the assistant decides the user has finished
359
+ # speaking. These timings are most relevant when using non turn-taking
360
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
361
+ # behavior is controlled by the transcription end-of-turn settings under
362
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
363
+ # `eager_eot_threshold`).
364
+ #
365
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
366
+ #
367
+ # @param start_speaking_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
368
+
369
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings#start_speaking_plan
370
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
371
+ # @!attribute transcription_endpointing_plan
372
+ # Endpointing thresholds used to decide when the user has finished speaking.
373
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
374
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
375
+ # `eager_eot_threshold`.
376
+ #
377
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
378
+ optional :transcription_endpointing_plan,
379
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
380
+
381
+ # @!attribute wait_seconds
382
+ # Minimum seconds to wait before the assistant starts speaking.
383
+ #
384
+ # @return [Float, nil]
385
+ optional :wait_seconds, Float
386
+
387
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
388
+ # Some parameter documentations has been truncated, see
389
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan}
390
+ # for more details.
391
+ #
392
+ # Controls when the assistant starts speaking after the user stops. These
393
+ # thresholds primarily apply to non turn-taking transcription models. For
394
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
395
+ # transcription end-of-turn settings under `transcription.settings` instead.
396
+ #
397
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
398
+ #
399
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
400
+
401
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
402
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
403
+ # @!attribute on_no_punctuation_seconds
404
+ # Seconds to wait after the transcript ends without punctuation.
405
+ #
406
+ # @return [Float, nil]
407
+ optional :on_no_punctuation_seconds, Float
408
+
409
+ # @!attribute on_number_seconds
410
+ # Seconds to wait after the transcript ends with a number.
411
+ #
412
+ # @return [Float, nil]
413
+ optional :on_number_seconds, Float
414
+
415
+ # @!attribute on_punctuation_seconds
416
+ # Seconds to wait after the transcript ends with punctuation.
417
+ #
418
+ # @return [Float, nil]
419
+ optional :on_punctuation_seconds, Float
420
+
421
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
422
+ # Endpointing thresholds used to decide when the user has finished speaking.
423
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
424
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
425
+ # `eager_eot_threshold`.
426
+ #
427
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
428
+ #
429
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
430
+ #
431
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
432
+ end
433
+ end
434
+ end
435
+
436
+ class McpServer < Telnyx::Internal::Type::BaseModel
437
+ # @!attribute id
438
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
439
+ # by the `/ai/mcp_servers` endpoints.
440
+ #
441
+ # @return [String]
442
+ required :id, String
443
+
444
+ # @!attribute allowed_tools
445
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
446
+ # uses the MCP server's configured `allowed_tools`.
447
+ #
448
+ # @return [Array<String>, nil]
449
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
450
+
451
+ # @!method initialize(id:, allowed_tools: nil)
452
+ # Some parameter documentations has been truncated, see
453
+ # {Telnyx::Models::AI::InferenceEmbedding::McpServer} for more details.
454
+ #
455
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
456
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
457
+ # ID.
458
+ #
459
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
460
+ #
461
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
462
+ end
303
463
  end
304
464
  end
305
465
  end
@@ -7,8 +7,8 @@ module Telnyx
7
7
  class OpenAIListModelsResponse < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [Array<Telnyx::Models::ModelMetadata>]
11
- required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::ModelMetadata] }
10
+ # @return [Array<Telnyx::Models::AI::OpenAIListModelsResponse::Data>]
11
+ required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::AI::OpenAIListModelsResponse::Data] }
12
12
 
13
13
  # @!attribute object
14
14
  #
@@ -16,8 +16,36 @@ module Telnyx
16
16
  optional :object, String
17
17
 
18
18
  # @!method initialize(data:, object: nil)
19
- # @param data [Array<Telnyx::Models::ModelMetadata>]
19
+ # @param data [Array<Telnyx::Models::AI::OpenAIListModelsResponse::Data>]
20
20
  # @param object [String]
21
+
22
+ class Data < Telnyx::Internal::Type::BaseModel
23
+ # @!attribute id
24
+ #
25
+ # @return [String]
26
+ required :id, String
27
+
28
+ # @!attribute created
29
+ #
30
+ # @return [Integer]
31
+ required :created, Integer
32
+
33
+ # @!attribute owned_by
34
+ #
35
+ # @return [String]
36
+ required :owned_by, String
37
+
38
+ # @!attribute object
39
+ #
40
+ # @return [String, nil]
41
+ optional :object, String
42
+
43
+ # @!method initialize(id:, created:, owned_by:, object: nil)
44
+ # @param id [String]
45
+ # @param created [Integer]
46
+ # @param owned_by [String]
47
+ # @param object [String]
48
+ end
21
49
  end
22
50
  end
23
51
  end
@@ -32,7 +32,7 @@ module Telnyx
32
32
  # variable string like `{{ targets }}` where `targets` is returned by the dynamic
33
33
  # variables webhook and resolves to an array of target objects at runtime.
34
34
  #
35
- # @return [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String]
35
+ # @return [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String]
36
36
  required :targets, union: -> { Telnyx::AI::TransferTool::Transfer::Targets }
37
37
 
38
38
  # @!method initialize(from:, targets:)
@@ -41,7 +41,7 @@ module Telnyx
41
41
  #
42
42
  # @param from [String] Number or SIP URI placing the call.
43
43
  #
44
- # @param targets [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String] The different possible targets of the transfer. The assistant will be able to ch
44
+ # @param targets [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String] The different possible targets of the transfer. The assistant will be able to ch
45
45
 
46
46
  # The different possible targets of the transfer. The assistant will be able to
47
47
  # choose one of the targets to transfer the call to. This can also be a dynamic
@@ -52,12 +52,12 @@ module Telnyx
52
52
  module Targets
53
53
  extend Telnyx::Internal::Type::Union
54
54
 
55
- variant -> { Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsListArray }
55
+ variant -> { Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0Array }
56
56
 
57
57
  # A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.
58
58
  variant String
59
59
 
60
- class TargetsList < Telnyx::Internal::Type::BaseModel
60
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
61
61
  # @!attribute to
62
62
  # The destination number or SIP URI of the call.
63
63
  #
@@ -77,11 +77,13 @@ module Telnyx
77
77
  end
78
78
 
79
79
  # @!method self.variants
80
- # @return [Array(Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String)]
80
+ # @return [Array(Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String)]
81
81
 
82
82
  # @type [Telnyx::Internal::Type::Converter]
83
- TargetsListArray =
84
- Telnyx::Internal::Type::ArrayOf[-> { Telnyx::AI::TransferTool::Transfer::Targets::TargetsList }]
83
+ UnionMember0Array =
84
+ Telnyx::Internal::Type::ArrayOf[-> {
85
+ Telnyx::AI::TransferTool::Transfer::Targets::UnionMember0
86
+ }]
85
87
  end
86
88
  end
87
89
 
@@ -6,8 +6,8 @@ module Telnyx
6
6
  class AIRetrieveModelsResponse < Telnyx::Internal::Type::BaseModel
7
7
  # @!attribute data
8
8
  #
9
- # @return [Array<Telnyx::Models::ModelMetadata>]
10
- required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::ModelMetadata] }
9
+ # @return [Array<Telnyx::Models::AIRetrieveModelsResponse::Data>]
10
+ required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::AIRetrieveModelsResponse::Data] }
11
11
 
12
12
  # @!attribute object
13
13
  #
@@ -15,8 +15,36 @@ module Telnyx
15
15
  optional :object, String
16
16
 
17
17
  # @!method initialize(data:, object: nil)
18
- # @param data [Array<Telnyx::Models::ModelMetadata>]
18
+ # @param data [Array<Telnyx::Models::AIRetrieveModelsResponse::Data>]
19
19
  # @param object [String]
20
+
21
+ class Data < Telnyx::Internal::Type::BaseModel
22
+ # @!attribute id
23
+ #
24
+ # @return [String]
25
+ required :id, String
26
+
27
+ # @!attribute created
28
+ #
29
+ # @return [Integer]
30
+ required :created, Integer
31
+
32
+ # @!attribute owned_by
33
+ #
34
+ # @return [String]
35
+ required :owned_by, String
36
+
37
+ # @!attribute object
38
+ #
39
+ # @return [String, nil]
40
+ optional :object, String
41
+
42
+ # @!method initialize(id:, created:, owned_by:, object: nil)
43
+ # @param id [String]
44
+ # @param created [Integer]
45
+ # @param owned_by [String]
46
+ # @param object [String]
47
+ end
20
48
  end
21
49
  end
22
50
  end
@@ -144,7 +144,7 @@ module Telnyx
144
144
  # @!attribute voice_settings
145
145
  # The settings associated with the voice selected
146
146
  #
147
- # @return [Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings, Telnyx::Models::AzureVoiceSettings, Telnyx::Models::RimeVoiceSettings, Telnyx::Models::ResembleVoiceSettings, Telnyx::Models::XaiVoiceSettings, nil]
147
+ # @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::ActionGatherUsingAIParams::VoiceSettings::Xai, nil]
148
148
  optional :voice_settings, union: -> { Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings }
149
149
 
150
150
  # @!method initialize(call_control_id:, parameters:, assistant: nil, client_state: nil, command_id: nil, gather_ended_speech: nil, greeting: nil, interruption_settings: nil, language: nil, message_history: nil, send_message_history_updates: nil, send_partial_results: nil, transcription: nil, user_response_timeout_ms: nil, voice: nil, voice_settings: nil, request_options: {})
@@ -181,7 +181,7 @@ module Telnyx
181
181
  #
182
182
  # @param voice [String] The voice to be used by the voice assistant. Currently we support ElevenLabs, Te
183
183
  #
184
- # @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::XaiVoiceSettings] The settings associated with the voice selected
184
+ # @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::ActionGatherUsingAIParams::VoiceSettings::Xai] The settings associated with the voice selected
185
185
  #
186
186
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
187
187
 
@@ -235,10 +235,29 @@ module Telnyx
235
235
 
236
236
  variant :resemble, -> { Telnyx::ResembleVoiceSettings }
237
237
 
238
- variant :xai, -> { Telnyx::XaiVoiceSettings }
238
+ variant :xai, -> { Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai }
239
+
240
+ class Xai < Telnyx::Internal::Type::BaseModel
241
+ # @!attribute type
242
+ # Voice settings provider type
243
+ #
244
+ # @return [Symbol, :xai]
245
+ required :type, const: :xai
246
+
247
+ # @!attribute language
248
+ # Language code, or `auto` to detect automatically.
249
+ #
250
+ # @return [String, nil]
251
+ optional :language, String
252
+
253
+ # @!method initialize(language: nil, type: :xai)
254
+ # @param language [String] Language code, or `auto` to detect automatically.
255
+ #
256
+ # @param type [Symbol, :xai] Voice settings provider type
257
+ end
239
258
 
240
259
  # @!method self.variants
241
- # @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::XaiVoiceSettings)]
260
+ # @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::ActionGatherUsingAIParams::VoiceSettings::Xai)]
242
261
  end
243
262
  end
244
263
  end