telnyx 5.154.0 → 5.156.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -13
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +1 -0
  5. data/lib/telnyx/internal/type/union.rb +4 -4
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +2 -2
  7. data/lib/telnyx/models/ai/assistant_tool.rb +94 -1
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +2 -2
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +2 -2
  10. data/lib/telnyx/models/ai/inference_embedding.rb +6 -6
  11. data/lib/telnyx/models/ai/tool_create_params.rb +7 -1
  12. data/lib/telnyx/models/ai/tool_update_params.rb +7 -1
  13. data/lib/telnyx/models/ai/transcription_settings.rb +5 -0
  14. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +3 -0
  15. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +6 -0
  16. data/lib/telnyx/models/calls/action_speak_params.rb +6 -0
  17. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +3 -0
  18. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +3 -0
  19. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +2 -1
  20. data/lib/telnyx/models/calls/transcription_config.rb +5 -0
  21. data/lib/telnyx/models/conferences/action_speak_params.rb +6 -0
  22. data/lib/telnyx/models/conversation_relay_embedded_config.rb +3 -0
  23. data/lib/telnyx/models/models_response.rb +0 -1
  24. data/lib/telnyx/models/phone_number_delete_response.rb +12 -1
  25. data/lib/telnyx/models/phone_number_detailed.rb +12 -1
  26. data/lib/telnyx/models/phone_number_slim_list_response.rb +12 -1
  27. data/lib/telnyx/models/speech_to_text_list_providers_params.rb +1 -0
  28. data/lib/telnyx/models/speech_to_text_retrieve_transcription_params.rb +2 -0
  29. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +13 -8
  30. data/lib/telnyx/models/text_to_speech_retrieve_speech_params.rb +4 -4
  31. data/lib/telnyx/models.rb +0 -6
  32. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  33. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  34. data/lib/telnyx/resources/ai/chat.rb +0 -81
  35. data/lib/telnyx/resources/ai/tools.rb +5 -2
  36. data/lib/telnyx/resources/ai.rb +0 -57
  37. data/lib/telnyx/resources/messages.rb +1 -32
  38. data/lib/telnyx/resources/speech_to_text.rb +1 -1
  39. data/lib/telnyx/version.rb +1 -1
  40. data/lib/telnyx.rb +0 -7
  41. data/rbi/telnyx/client.rbi +1 -0
  42. data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -0
  43. data/rbi/telnyx/models/ai/assistant_tool.rbi +221 -0
  44. data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -0
  45. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -0
  46. data/rbi/telnyx/models/ai/inference_embedding.rbi +6 -0
  47. data/rbi/telnyx/models/ai/tool_create_params.rbi +9 -0
  48. data/rbi/telnyx/models/ai/tool_update_params.rbi +9 -0
  49. data/rbi/telnyx/models/ai/transcription_settings.rbi +11 -0
  50. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +6 -0
  51. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +12 -0
  52. data/rbi/telnyx/models/calls/action_speak_params.rbi +12 -0
  53. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +6 -0
  54. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +6 -0
  55. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +4 -2
  56. data/rbi/telnyx/models/calls/transcription_config.rbi +11 -0
  57. data/rbi/telnyx/models/conferences/action_speak_params.rbi +12 -0
  58. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +6 -0
  59. data/rbi/telnyx/models/phone_number_delete_response.rbi +14 -0
  60. data/rbi/telnyx/models/phone_number_detailed.rbi +14 -0
  61. data/rbi/telnyx/models/phone_number_slim_list_response.rbi +14 -0
  62. data/rbi/telnyx/models/speech_to_text_list_providers_params.rbi +5 -0
  63. data/rbi/telnyx/models/speech_to_text_retrieve_transcription_params.rbi +10 -0
  64. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +21 -13
  65. data/rbi/telnyx/models/text_to_speech_retrieve_speech_params.rbi +8 -8
  66. data/rbi/telnyx/models.rbi +0 -7
  67. data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -0
  68. data/rbi/telnyx/resources/ai/assistants.rbi +2 -0
  69. data/rbi/telnyx/resources/ai/chat.rbi +0 -129
  70. data/rbi/telnyx/resources/ai/tools.rbi +4 -0
  71. data/rbi/telnyx/resources/ai.rbi +0 -33
  72. data/rbi/telnyx/resources/calls/actions.rbi +21 -0
  73. data/rbi/telnyx/resources/conferences/actions.rbi +6 -0
  74. data/rbi/telnyx/resources/messages.rbi +1 -28
  75. data/rbi/telnyx/resources/speech_to_text.rbi +1 -1
  76. data/rbi/telnyx/resources/text_to_speech.rbi +11 -9
  77. data/sig/telnyx/models/ai/assistant_tool.rbs +95 -0
  78. data/sig/telnyx/models/ai/tool_create_params.rbs +7 -0
  79. data/sig/telnyx/models/ai/tool_update_params.rbs +7 -0
  80. data/sig/telnyx/models/ai/transcription_settings.rbs +2 -0
  81. data/sig/telnyx/models/calls/transcription_config.rbs +2 -0
  82. data/sig/telnyx/models/phone_number_delete_response.rbs +5 -0
  83. data/sig/telnyx/models/phone_number_detailed.rbs +5 -0
  84. data/sig/telnyx/models/phone_number_slim_list_response.rbs +5 -0
  85. data/sig/telnyx/models/speech_to_text_list_providers_params.rbs +2 -0
  86. data/sig/telnyx/models/speech_to_text_retrieve_transcription_params.rbs +11 -1
  87. data/sig/telnyx/models.rbs +0 -6
  88. data/sig/telnyx/resources/ai/chat.rbs +0 -30
  89. data/sig/telnyx/resources/ai/tools.rbs +2 -0
  90. data/sig/telnyx/resources/ai.rbs +0 -9
  91. data/sig/telnyx/resources/messages.rbs +0 -10
  92. metadata +16 -23
  93. data/lib/telnyx/models/ai/chat_create_completion_params.rb +0 -16
  94. data/lib/telnyx/models/ai/chat_create_completion_response.rb +0 -10
  95. data/lib/telnyx/models/ai_create_response_deprecated_params.rb +0 -20
  96. data/lib/telnyx/models/ai_create_response_deprecated_response.rb +0 -8
  97. data/lib/telnyx/models/ai_retrieve_models_params.rb +0 -14
  98. data/lib/telnyx/models/message_send_whatsapp_params.rb +0 -71
  99. data/lib/telnyx/models/message_send_whatsapp_response.rb +0 -178
  100. data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +0 -32
  101. data/rbi/telnyx/models/ai/chat_create_completion_response.rbi +0 -13
  102. data/rbi/telnyx/models/ai_create_response_deprecated_params.rbi +0 -41
  103. data/rbi/telnyx/models/ai_create_response_deprecated_response.rbi +0 -11
  104. data/rbi/telnyx/models/ai_retrieve_models_params.rbi +0 -27
  105. data/rbi/telnyx/models/message_send_whatsapp_params.rbi +0 -124
  106. data/rbi/telnyx/models/message_send_whatsapp_response.rbi +0 -379
  107. data/sig/telnyx/models/ai/chat_create_completion_params.rbs +0 -17
  108. data/sig/telnyx/models/ai/chat_create_completion_response.rbs +0 -9
  109. data/sig/telnyx/models/ai_create_response_deprecated_params.rbs +0 -24
  110. data/sig/telnyx/models/ai_create_response_deprecated_response.rbs +0 -7
  111. data/sig/telnyx/models/ai_retrieve_models_params.rbs +0 -15
  112. data/sig/telnyx/models/message_send_whatsapp_params.rbs +0 -69
  113. data/sig/telnyx/models/message_send_whatsapp_response.rbs +0 -191
@@ -49,6 +49,9 @@ module Telnyx
49
49
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
50
50
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
51
51
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
52
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
53
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
54
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
52
55
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
53
56
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
54
57
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -63,6 +66,9 @@ module Telnyx
63
66
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
64
67
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
65
68
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
69
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
70
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
71
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
66
72
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
67
73
  # `ara`, `rex`, `sal`, `leo`.
68
74
  #
@@ -233,6 +239,9 @@ module Telnyx
233
239
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
234
240
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
235
241
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
242
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
243
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
244
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
236
245
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
237
246
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
238
247
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -247,6 +256,9 @@ module Telnyx
247
256
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
248
257
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
249
258
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
259
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
260
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
261
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
250
262
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
251
263
  # `ara`, `rex`, `sal`, `leo`.
252
264
  #
@@ -185,6 +185,9 @@ module Telnyx
185
185
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
186
186
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
187
187
  # `Max`, `TTS2`.
188
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
189
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
190
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
188
191
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
189
192
  # `ara`, `rex`, `sal`, `leo`.
190
193
  sig { returns(T.nilable(String)) }
@@ -341,6 +344,9 @@ module Telnyx
341
344
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
342
345
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
343
346
  # `Max`, `TTS2`.
347
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
348
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
349
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
344
350
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
345
351
  # `ara`, `rex`, `sal`, `leo`.
346
352
  voice: nil,
@@ -107,6 +107,13 @@ module Telnyx
107
107
  sig { params(id: String).void }
108
108
  attr_writer :id
109
109
 
110
+ # ISO 8601 formatted date indicating when the phone number was first activated
111
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
112
+ # numbers that have not yet been activated, or for legacy numbers activated before
113
+ # this field was tracked.
114
+ sig { returns(T.nilable(Time)) }
115
+ attr_accessor :activated_at
116
+
110
117
  # Indicates if call forwarding will be enabled for this number if forwards_to and
111
118
  # forwarding_type are filled in. Defaults to true for backwards compatibility with
112
119
  # APIV1 use of numbers endpoints.
@@ -257,6 +264,7 @@ module Telnyx
257
264
  sig do
258
265
  params(
259
266
  id: String,
267
+ activated_at: T.nilable(Time),
260
268
  billing_group_id: String,
261
269
  call_forwarding_enabled: T::Boolean,
262
270
  call_recording_enabled: T::Boolean,
@@ -288,6 +296,11 @@ module Telnyx
288
296
  def self.new(
289
297
  # Identifies the resource.
290
298
  id: nil,
299
+ # ISO 8601 formatted date indicating when the phone number was first activated
300
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
301
+ # numbers that have not yet been activated, or for legacy numbers activated before
302
+ # this field was tracked.
303
+ activated_at: nil,
291
304
  # Identifies the billing group associated with the phone number.
292
305
  billing_group_id: nil,
293
306
  # Indicates if call forwarding will be enabled for this number if forwards_to and
@@ -352,6 +365,7 @@ module Telnyx
352
365
  override.returns(
353
366
  {
354
367
  id: String,
368
+ activated_at: T.nilable(Time),
355
369
  billing_group_id: String,
356
370
  call_forwarding_enabled: T::Boolean,
357
371
  call_recording_enabled: T::Boolean,
@@ -120,6 +120,13 @@ module Telnyx
120
120
  sig { returns(Telnyx::PhoneNumberDetailed::Status::TaggedSymbol) }
121
121
  attr_accessor :status
122
122
 
123
+ # ISO 8601 formatted date indicating when the phone number was first activated
124
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
125
+ # numbers that have not yet been activated, or for legacy numbers activated before
126
+ # this field was tracked.
127
+ sig { returns(T.nilable(Time)) }
128
+ attr_accessor :activated_at
129
+
123
130
  # Indicates if call forwarding will be enabled for this number if forwards_to and
124
131
  # forwarding_type are filled in. Defaults to true for backwards compatibility with
125
132
  # APIV1 use of numbers endpoints.
@@ -210,6 +217,7 @@ module Telnyx
210
217
  record_type: String,
211
218
  status: Telnyx::PhoneNumberDetailed::Status::OrSymbol,
212
219
  tags: T::Array[String],
220
+ activated_at: T.nilable(Time),
213
221
  billing_group_id: T.nilable(String),
214
222
  call_forwarding_enabled: T::Boolean,
215
223
  call_recording_enabled: T::Boolean,
@@ -262,6 +270,11 @@ module Telnyx
262
270
  status:,
263
271
  # A list of user-assigned tags to help manage the phone number.
264
272
  tags:,
273
+ # ISO 8601 formatted date indicating when the phone number was first activated
274
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
275
+ # numbers that have not yet been activated, or for legacy numbers activated before
276
+ # this field was tracked.
277
+ activated_at: nil,
265
278
  # Identifies the billing group associated with the phone number.
266
279
  billing_group_id: nil,
267
280
  # Indicates if call forwarding will be enabled for this number if forwards_to and
@@ -326,6 +339,7 @@ module Telnyx
326
339
  record_type: String,
327
340
  status: Telnyx::PhoneNumberDetailed::Status::TaggedSymbol,
328
341
  tags: T::Array[String],
342
+ activated_at: T.nilable(Time),
329
343
  billing_group_id: T.nilable(String),
330
344
  call_forwarding_enabled: T::Boolean,
331
345
  call_recording_enabled: T::Boolean,
@@ -91,6 +91,13 @@ module Telnyx
91
91
  sig { params(id: String).void }
92
92
  attr_writer :id
93
93
 
94
+ # ISO 8601 formatted date indicating when the phone number was first activated
95
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
96
+ # numbers that have not yet been activated, or for legacy numbers activated before
97
+ # this field was tracked.
98
+ sig { returns(T.nilable(Time)) }
99
+ attr_accessor :activated_at
100
+
94
101
  # Indicates if call forwarding will be enabled for this number if forwards_to and
95
102
  # forwarding_type are filled in. Defaults to true for backwards compatibility with
96
103
  # APIV1 use of numbers endpoints.
@@ -231,6 +238,7 @@ module Telnyx
231
238
  sig do
232
239
  params(
233
240
  id: String,
241
+ activated_at: T.nilable(Time),
234
242
  billing_group_id: String,
235
243
  call_forwarding_enabled: T::Boolean,
236
244
  call_recording_enabled: T::Boolean,
@@ -261,6 +269,11 @@ module Telnyx
261
269
  def self.new(
262
270
  # Identifies the resource.
263
271
  id: nil,
272
+ # ISO 8601 formatted date indicating when the phone number was first activated
273
+ # (transitioned from purchase-pending or port-pending to active). Will be null for
274
+ # numbers that have not yet been activated, or for legacy numbers activated before
275
+ # this field was tracked.
276
+ activated_at: nil,
264
277
  # Identifies the billing group associated with the phone number.
265
278
  billing_group_id: nil,
266
279
  # Indicates if call forwarding will be enabled for this number if forwards_to and
@@ -325,6 +338,7 @@ module Telnyx
325
338
  override.returns(
326
339
  {
327
340
  id: String,
341
+ activated_at: T.nilable(Time),
328
342
  billing_group_id: String,
329
343
  call_forwarding_enabled: T::Boolean,
330
344
  call_recording_enabled: T::Boolean,
@@ -122,6 +122,11 @@ module Telnyx
122
122
  :soniox,
123
123
  Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
124
124
  )
125
+ PARAKEET =
126
+ T.let(
127
+ :parakeet,
128
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
129
+ )
125
130
  AZURE =
126
131
  T.let(
127
132
  :azure,
@@ -249,6 +249,11 @@ module Telnyx
249
249
  :Soniox,
250
250
  Telnyx::SpeechToTextRetrieveTranscriptionParams::TranscriptionEngine::TaggedSymbol
251
251
  )
252
+ PARAKEET =
253
+ T.let(
254
+ :Parakeet,
255
+ Telnyx::SpeechToTextRetrieveTranscriptionParams::TranscriptionEngine::TaggedSymbol
256
+ )
252
257
 
253
258
  sig do
254
259
  override.returns(
@@ -354,6 +359,11 @@ module Telnyx
354
359
  :"soniox/stt-rt-v4",
355
360
  Telnyx::SpeechToTextRetrieveTranscriptionParams::Model::TaggedSymbol
356
361
  )
362
+ PARAKEET_TDT_0_6B_V3 =
363
+ T.let(
364
+ :"parakeet/tdt-0.6b-v3",
365
+ Telnyx::SpeechToTextRetrieveTranscriptionParams::Model::TaggedSymbol
366
+ )
357
367
 
358
368
  sig do
359
369
  override.returns(
@@ -148,7 +148,9 @@ module Telnyx
148
148
 
149
149
  # Telnyx provider-specific parameters. Use `voice_speed` and `temperature` for
150
150
  # `Natural` and `NaturalHD` models. For the `Ultra` model, use `voice_speed`,
151
- # `volume`, and `emotion`.
151
+ # `volume`, and `emotion`. `Bayan` and `Sukhan` don't use `temperature`, `volume`,
152
+ # or `emotion`, and don't support `voice_speed`. `Sukhan`'s `response_format` is
153
+ # restricted to `mp3` or `pcm` (no `wav`).
152
154
  sig do
153
155
  returns(T.nilable(::Telnyx::TextToSpeechGenerateSpeechParams::Telnyx))
154
156
  end
@@ -188,10 +190,10 @@ module Telnyx
188
190
 
189
191
  # Voice identifier in the format `provider.model_id.voice_id` or
190
192
  # `provider.voice_id`. Examples: `telnyx.NaturalHD.Alloy`,
191
- # `Telnyx.Ultra.<voice_id>`, `azure.en-US-AvaMultilingualNeural`,
192
- # `aws.Polly.Generative.Lucia`. When provided, `provider`, `model_id`, and
193
- # `voice_id` are extracted automatically and take precedence over individual
194
- # parameters.
193
+ # `Telnyx.Ultra.<voice_id>`, `Telnyx.Bayan.Ahmed`, `Telnyx.Sukhan.urdu-professor`,
194
+ # `azure.en-US-AvaMultilingualNeural`, `aws.Polly.Generative.Lucia`. When
195
+ # provided, `provider`, `model_id`, and `voice_id` are extracted automatically and
196
+ # take precedence over individual parameters.
195
197
  sig { returns(T.nilable(String)) }
196
198
  attr_reader :voice
197
199
 
@@ -269,7 +271,9 @@ module Telnyx
269
271
  rime: nil,
270
272
  # Telnyx provider-specific parameters. Use `voice_speed` and `temperature` for
271
273
  # `Natural` and `NaturalHD` models. For the `Ultra` model, use `voice_speed`,
272
- # `volume`, and `emotion`.
274
+ # `volume`, and `emotion`. `Bayan` and `Sukhan` don't use `temperature`, `volume`,
275
+ # or `emotion`, and don't support `voice_speed`. `Sukhan`'s `response_format` is
276
+ # restricted to `mp3` or `pcm` (no `wav`).
273
277
  telnyx: nil,
274
278
  # The text to convert to speech.
275
279
  text: nil,
@@ -277,10 +281,10 @@ module Telnyx
277
281
  text_type: nil,
278
282
  # Voice identifier in the format `provider.model_id.voice_id` or
279
283
  # `provider.voice_id`. Examples: `telnyx.NaturalHD.Alloy`,
280
- # `Telnyx.Ultra.<voice_id>`, `azure.en-US-AvaMultilingualNeural`,
281
- # `aws.Polly.Generative.Lucia`. When provided, `provider`, `model_id`, and
282
- # `voice_id` are extracted automatically and take precedence over individual
283
- # parameters.
284
+ # `Telnyx.Ultra.<voice_id>`, `Telnyx.Bayan.Ahmed`, `Telnyx.Sukhan.urdu-professor`,
285
+ # `azure.en-US-AvaMultilingualNeural`, `aws.Polly.Generative.Lucia`. When
286
+ # provided, `provider`, `model_id`, and `voice_id` are extracted automatically and
287
+ # take precedence over individual parameters.
284
288
  voice: nil,
285
289
  # Provider-specific voice settings. Contents vary by provider — see
286
290
  # provider-specific parameter objects below.
@@ -1039,7 +1043,8 @@ module Telnyx
1039
1043
  sig { params(temperature: Float).void }
1040
1044
  attr_writer :temperature
1041
1045
 
1042
- # Voice speed multiplier. Applies to all models. Range: 0.5 to 2.0.
1046
+ # Voice speed multiplier. Applies to all models except `Bayan` and `Sukhan`, which
1047
+ # don't support it. Range: 0.5 to 2.0.
1043
1048
  sig { returns(T.nilable(Float)) }
1044
1049
  attr_reader :voice_speed
1045
1050
 
@@ -1055,7 +1060,9 @@ module Telnyx
1055
1060
 
1056
1061
  # Telnyx provider-specific parameters. Use `voice_speed` and `temperature` for
1057
1062
  # `Natural` and `NaturalHD` models. For the `Ultra` model, use `voice_speed`,
1058
- # `volume`, and `emotion`.
1063
+ # `volume`, and `emotion`. `Bayan` and `Sukhan` don't use `temperature`, `volume`,
1064
+ # or `emotion`, and don't support `voice_speed`. `Sukhan`'s `response_format` is
1065
+ # restricted to `mp3` or `pcm` (no `wav`).
1059
1066
  sig do
1060
1067
  params(
1061
1068
  emotion:
@@ -1077,7 +1084,8 @@ module Telnyx
1077
1084
  sampling_rate: nil,
1078
1085
  # Sampling temperature. Applies to `Natural` and `NaturalHD` models only.
1079
1086
  temperature: nil,
1080
- # Voice speed multiplier. Applies to all models. Range: 0.5 to 2.0.
1087
+ # Voice speed multiplier. Applies to all models except `Bayan` and `Sukhan`, which
1088
+ # don't support it. Range: 0.5 to 2.0.
1081
1089
  voice_speed: nil,
1082
1090
  # Volume level for the Ultra model. Range: 0.0 to 2.0.
1083
1091
  volume: nil
@@ -77,10 +77,10 @@ module Telnyx
77
77
 
78
78
  # Voice identifier in the format `provider.model_id.voice_id` or
79
79
  # `provider.voice_id` (e.g. `telnyx.NaturalHD.Telnyx_Alloy`,
80
- # `Telnyx.Ultra.<voice_id>`, or `azure.en-US-AvaMultilingualNeural`). When
81
- # provided, the `provider`, `model_id`, and `voice_id` are extracted
82
- # automatically. Takes precedence over individual `provider`/`model_id`/`voice_id`
83
- # parameters.
80
+ # `Telnyx.Ultra.<voice_id>`, `Telnyx.Bayan.Ahmed`, `Telnyx.Sukhan.urdu-professor`,
81
+ # or `azure.en-US-AvaMultilingualNeural`). When provided, the `provider`,
82
+ # `model_id`, and `voice_id` are extracted automatically. Takes precedence over
83
+ # individual `provider`/`model_id`/`voice_id` parameters.
84
84
  sig { returns(T.nilable(String)) }
85
85
  attr_reader :voice
86
86
 
@@ -126,10 +126,10 @@ module Telnyx
126
126
  socket_id: nil,
127
127
  # Voice identifier in the format `provider.model_id.voice_id` or
128
128
  # `provider.voice_id` (e.g. `telnyx.NaturalHD.Telnyx_Alloy`,
129
- # `Telnyx.Ultra.<voice_id>`, or `azure.en-US-AvaMultilingualNeural`). When
130
- # provided, the `provider`, `model_id`, and `voice_id` are extracted
131
- # automatically. Takes precedence over individual `provider`/`model_id`/`voice_id`
132
- # parameters.
129
+ # `Telnyx.Ultra.<voice_id>`, `Telnyx.Bayan.Ahmed`, `Telnyx.Sukhan.urdu-professor`,
130
+ # or `azure.en-US-AvaMultilingualNeural`). When provided, the `provider`,
131
+ # `model_id`, and `voice_id` are extracted automatically. Takes precedence over
132
+ # individual `provider`/`model_id`/`voice_id` parameters.
133
133
  voice: nil,
134
134
  # Voice identifier for the chosen provider.
135
135
  voice_id: nil,
@@ -48,14 +48,9 @@ module Telnyx
48
48
 
49
49
  AI = Telnyx::Models::AI
50
50
 
51
- AICreateResponseDeprecatedParams =
52
- Telnyx::Models::AICreateResponseDeprecatedParams
53
-
54
51
  AIRetrieveConversationHistoriesParams =
55
52
  Telnyx::Models::AIRetrieveConversationHistoriesParams
56
53
 
57
- AIRetrieveModelsParams = Telnyx::Models::AIRetrieveModelsParams
58
-
59
54
  AISummarizeParams = Telnyx::Models::AISummarizeParams
60
55
 
61
56
  AlphanumericSenderID = Telnyx::Models::AlphanumericSenderID
@@ -1007,8 +1002,6 @@ module Telnyx
1007
1002
 
1008
1003
  MessageSendShortCodeParams = Telnyx::Models::MessageSendShortCodeParams
1009
1004
 
1010
- MessageSendWhatsappParams = Telnyx::Models::MessageSendWhatsappParams
1011
-
1012
1005
  MessageSendWithAlphanumericSenderParams =
1013
1006
  Telnyx::Models::MessageSendWithAlphanumericSenderParams
1014
1007
 
@@ -62,6 +62,7 @@ module Telnyx
62
62
  T::Array[
63
63
  T.any(
64
64
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
65
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
65
66
  Telnyx::AI::RetrievalTool::OrHash,
66
67
  Telnyx::AI::AssistantTool::Handoff::OrHash,
67
68
  Telnyx::AI::HangupTool::OrHash,
@@ -66,6 +66,7 @@ module Telnyx
66
66
  T::Array[
67
67
  T.any(
68
68
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
69
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
69
70
  Telnyx::AI::RetrievalTool::OrHash,
70
71
  Telnyx::AI::AssistantTool::Handoff::OrHash,
71
72
  Telnyx::AI::HangupTool::OrHash,
@@ -240,6 +241,7 @@ module Telnyx
240
241
  T::Array[
241
242
  T.any(
242
243
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
244
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
243
245
  Telnyx::AI::RetrievalTool::OrHash,
244
246
  Telnyx::AI::AssistantTool::Handoff::OrHash,
245
247
  Telnyx::AI::HangupTool::OrHash,
@@ -3,136 +3,7 @@
3
3
  module Telnyx
4
4
  module Resources
5
5
  class AI
6
- # Generate text with LLMs
7
6
  class Chat
8
- # **Deprecated**: Use `POST /v2/ai/openai/chat/completions` instead. Chat with a
9
- # language model. This endpoint is consistent with the
10
- # [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat)
11
- # and may be used with the OpenAI JS or Python SDK.
12
- sig do
13
- params(
14
- messages:
15
- T::Array[Telnyx::AI::ChatCompletionRequest::Message::OrHash],
16
- api_key_ref: String,
17
- best_of: Integer,
18
- early_stopping: T::Boolean,
19
- enable_thinking: T::Boolean,
20
- frequency_penalty: Float,
21
- guided_choice: T::Array[String],
22
- guided_json: T::Hash[Symbol, T.anything],
23
- guided_regex: String,
24
- length_penalty: Float,
25
- logprobs: T::Boolean,
26
- max_tokens: Integer,
27
- min_p: Float,
28
- model: String,
29
- n: Float,
30
- presence_penalty: Float,
31
- response_format:
32
- Telnyx::AI::ChatCompletionRequest::ResponseFormat::OrHash,
33
- seed: Integer,
34
- stop: Telnyx::AI::ChatCompletionRequest::Stop::Variants,
35
- stream: T::Boolean,
36
- temperature: Float,
37
- tool_choice:
38
- Telnyx::AI::ChatCompletionRequest::ToolChoice::OrSymbol,
39
- tools:
40
- T::Array[
41
- T.any(
42
- Telnyx::AI::ChatCompletionRequest::Tool::Function::OrHash,
43
- Telnyx::AI::ChatCompletionRequest::Tool::Retrieval::OrHash
44
- )
45
- ],
46
- top_logprobs: Integer,
47
- top_p: Float,
48
- use_beam_search: T::Boolean,
49
- request_options: Telnyx::RequestOptions::OrHash
50
- ).returns(T::Hash[Symbol, T.anything])
51
- end
52
- def create_completion(
53
- # A list of the previous chat messages for context.
54
- messages:,
55
- # If you are using an external inference provider like xAI or OpenAI, this field
56
- # allows you to pass along a reference to your API key. After creating an
57
- # [integration secret](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
58
- # for you API key, pass the secret's `identifier` in this field.
59
- api_key_ref: nil,
60
- # This is used with `use_beam_search` to determine how many candidate beams to
61
- # explore.
62
- best_of: nil,
63
- # This is used with `use_beam_search`. If `true`, generation stops as soon as
64
- # there are `best_of` complete candidates; if `false`, a heuristic is applied and
65
- # the generation stops when is it very unlikely to find better candidates.
66
- early_stopping: nil,
67
- # Whether to enable the thinking/reasoning phase for models that support it (e.g.,
68
- # QwQ, Qwen3). When set to false, the model will skip the internal reasoning step
69
- # and respond directly, which can reduce latency. Defaults to true.
70
- enable_thinking: nil,
71
- # Higher values will penalize the model from repeating the same output tokens.
72
- frequency_penalty: nil,
73
- # If specified, the output will be exactly one of the choices.
74
- guided_choice: nil,
75
- # Must be a valid JSON schema. If specified, the output will follow the JSON
76
- # schema.
77
- guided_json: nil,
78
- # If specified, the output will follow the regex pattern.
79
- guided_regex: nil,
80
- # This is used with `use_beam_search` to prefer shorter or longer completions.
81
- length_penalty: nil,
82
- # Whether to return log probabilities of the output tokens or not. If true,
83
- # returns the log probabilities of each output token returned in the `content` of
84
- # `message`.
85
- logprobs: nil,
86
- # Maximum number of completion tokens the model should generate.
87
- max_tokens: nil,
88
- # This is an alternative to `top_p` that
89
- # [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be
90
- # in [0, 1].
91
- min_p: nil,
92
- # The language model to chat with.
93
- model: nil,
94
- # This will return multiple choices for you instead of a single chat completion.
95
- n: nil,
96
- # Higher values will penalize the model from repeating the same output tokens.
97
- presence_penalty: nil,
98
- # Use this is you want to guarantee a JSON output without defining a schema. For
99
- # control over the schema, use `guided_json`.
100
- response_format: nil,
101
- # If specified, the system will make a best effort to sample deterministically,
102
- # such that repeated requests with the same `seed` and parameters should return
103
- # the same result.
104
- seed: nil,
105
- # Up to 4 sequences where the API will stop generating further tokens. The
106
- # returned text will not contain the stop sequence.
107
- stop: nil,
108
- # Whether or not to stream data-only server-sent events as they become available.
109
- stream: nil,
110
- # Adjusts the "creativity" of the model. Lower values make the model more
111
- # deterministic and repetitive, while higher values make the model more random and
112
- # creative.
113
- temperature: nil,
114
- tool_choice: nil,
115
- # The `function` tool type follows the same schema as the
116
- # [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat).
117
- # The `retrieval` tool type is unique to Telnyx. You may pass a list of
118
- # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
119
- # for retrieval-augmented generation.
120
- tools: nil,
121
- # This is used with `logprobs`. An integer between 0 and 20 specifying the number
122
- # of most likely tokens to return at each token position, each with an associated
123
- # log probability.
124
- top_logprobs: nil,
125
- # An alternative or complement to `temperature`. This adjusts how many of the top
126
- # possibilities to consider.
127
- top_p: nil,
128
- # Setting this to `true` will allow the model to
129
- # [explore more completion options](https://huggingface.co/blog/how-to-generate#beam-search).
130
- # This is not supported by OpenAI.
131
- use_beam_search: nil,
132
- request_options: {}
133
- )
134
- end
135
-
136
7
  # @api private
137
8
  sig { params(client: Telnyx::Client).returns(T.attached_class) }
138
9
  def self.new(client:)
@@ -10,6 +10,7 @@ module Telnyx
10
10
  params(
11
11
  display_name: String,
12
12
  type: String,
13
+ client_side_tool: T::Hash[Symbol, T.anything],
13
14
  function: T::Hash[Symbol, T.anything],
14
15
  handoff: T::Hash[Symbol, T.anything],
15
16
  invite: T::Hash[Symbol, T.anything],
@@ -22,6 +23,7 @@ module Telnyx
22
23
  def create(
23
24
  display_name:,
24
25
  type:,
26
+ client_side_tool: nil,
25
27
  function: nil,
26
28
  handoff: nil,
27
29
  invite: nil,
@@ -50,6 +52,7 @@ module Telnyx
50
52
  sig do
51
53
  params(
52
54
  tool_id: String,
55
+ client_side_tool: T::Hash[Symbol, T.anything],
53
56
  display_name: String,
54
57
  function: T::Hash[Symbol, T.anything],
55
58
  handoff: T::Hash[Symbol, T.anything],
@@ -64,6 +67,7 @@ module Telnyx
64
67
  def update(
65
68
  # Unique identifier of the tool.
66
69
  tool_id,
70
+ client_side_tool: nil,
67
71
  display_name: nil,
68
72
  function: nil,
69
73
  handoff: nil,
@@ -10,7 +10,6 @@ module Telnyx
10
10
  sig { returns(Telnyx::Resources::AI::Audio) }
11
11
  attr_reader :audio
12
12
 
13
- # Generate text with LLMs
14
13
  sig { returns(Telnyx::Resources::AI::Chat) }
15
14
  attr_reader :chat
16
15
 
@@ -45,21 +44,6 @@ module Telnyx
45
44
  sig { returns(Telnyx::Resources::AI::Tools) }
46
45
  attr_reader :tools
47
46
 
48
- # **Deprecated**: Use `POST /v2/ai/openai/responses` instead. This endpoint is
49
- # compatible with the
50
- # [OpenAI Responses API](https://developers.openai.com/api/reference/responses/overview)
51
- # and may be used with the OpenAI JS or Python SDK. Response id parameter is not
52
- # supported at the moment. Use the `conversation` parameter with a Telnyx
53
- # Conversation ID to leverage persistent conversations.
54
- sig do
55
- params(
56
- response_request: T::Hash[Symbol, T.anything],
57
- request_options: Telnyx::RequestOptions::OrHash
58
- ).returns(T::Hash[Symbol, T.anything])
59
- end
60
- def create_response_deprecated(response_request:, request_options: {})
61
- end
62
-
63
47
  # Performs semantic vector search across conversation history records.
64
48
  #
65
49
  # **How it works:**
@@ -171,23 +155,6 @@ module Telnyx
171
155
  )
172
156
  end
173
157
 
174
- # **Deprecated**: Use `GET /v2/ai/openai/models` instead.
175
- #
176
- # Returns the same `ModelsResponse` payload as the OpenAI-compatible endpoint —
177
- # open-source LLMs hosted on Telnyx (e.g. `moonshotai/Kimi-K2.6`,
178
- # `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`), embedding models, and
179
- # fine-tuned models — kept around for backwards compatibility. New integrations
180
- # should use `/v2/ai/openai/models`.
181
- #
182
- # Model ids follow the `{organization}/{model_name}` convention from Hugging Face.
183
- sig do
184
- params(request_options: Telnyx::RequestOptions::OrHash).returns(
185
- Telnyx::ModelsResponse
186
- )
187
- end
188
- def retrieve_models(request_options: {})
189
- end
190
-
191
158
  # Generate a summary of a file's contents.
192
159
  #
193
160
  # Supports the following text formats: