telnyx 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b86651570452acaba364bdda2d70409a34bff8f0c4af9dfec303fa065fef789
4
- data.tar.gz: 314b389b25a77f66ae3960e864f9e3eee61c84b834414ed8c21dd01592091ef5
3
+ metadata.gz: 99fef37ceb6546530650046eff567a8359090af38b60815f2afea5a617103aa1
4
+ data.tar.gz: 8e3cb7df0753c96ca64a49496fdd2110bcfd6f7eae31d4cfaf2211652809ffb3
5
5
  SHA512:
6
- metadata.gz: 3f42de8d4c2e831eff34a3b413650c18d5cbc072100d0f0da821e64c6ed72eb0aebcf671356353e20ff86a91d7474ae67bf3c4ac21a678112a13d59f567579d8
7
- data.tar.gz: cfa1c046ccbc7f6b37ced53d83daeb647f8141e2600445b734169a0605da8ee389066c519c1783adce3fb08988de2c46dc5a3276ec66eece155f4dd60664b521
6
+ metadata.gz: 425b1f44e3aad796324c96ea2c77db9b968850b984e5f97d30a3be6ad16e4fa1d4cbe74df06ee970fda14c04bd3e9794b24d3c05429cf5f0fd0d21122c3bfbf6
7
+ data.tar.gz: c8f23f6cfa5caecfef75f1137438f802d935e3a7513b77d782cda301d4fa81aeffee75f4d08d953e6d0d2c73bd2e460b4e7f50e95cd59e7d0915bba8fbe65928
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.14.0 (2026-02-09)
4
+
5
+ Full Changelog: [v5.13.0...v5.14.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.13.0...v5.14.0)
6
+
7
+ ### Features
8
+
9
+ * AI-2078 Feature: API endpoint to disable AI assistant mid-conversation ([50628ff](https://github.com/team-telnyx/telnyx-ruby/commit/50628ff4e1a9d3b3ffef761e05673aeae1db3c57))
10
+
3
11
  ## 5.13.0 (2026-02-06)
4
12
 
5
13
  Full Changelog: [v5.12.0...v5.13.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.12.0...v5.13.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.13.0"
27
+ gem "telnyx", "~> 5.14.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -149,6 +149,14 @@ module Telnyx
149
149
  optional :custom_headers,
150
150
  -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantTool::Transfer::Transfer::CustomHeader] }
151
151
 
152
+ # @!attribute voicemail_detection
153
+ # Configuration for voicemail detection (AMD - Answering Machine Detection) on the
154
+ # transferred call. Allows the assistant to detect when a voicemail system answers
155
+ # the transferred call and take appropriate action.
156
+ #
157
+ # @return [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection, nil]
158
+ optional :voicemail_detection, -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection }
159
+
152
160
  # @!attribute warm_transfer_instructions
153
161
  # Natural language instructions for your agent for how to provide context for the
154
162
  # transfer recipient.
@@ -156,7 +164,7 @@ module Telnyx
156
164
  # @return [String, nil]
157
165
  optional :warm_transfer_instructions, String
158
166
 
159
- # @!method initialize(from:, targets:, custom_headers: nil, warm_transfer_instructions: nil)
167
+ # @!method initialize(from:, targets:, custom_headers: nil, voicemail_detection: nil, warm_transfer_instructions: nil)
160
168
  # Some parameter documentations has been truncated, see
161
169
  # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer} for more details.
162
170
  #
@@ -166,6 +174,8 @@ module Telnyx
166
174
  #
167
175
  # @param custom_headers [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader>] Custom headers to be added to the SIP INVITE for the transfer command.
168
176
  #
177
+ # @param voicemail_detection [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection] Configuration for voicemail detection (AMD - Answering Machine Detection) on the
178
+ #
169
179
  # @param warm_transfer_instructions [String] Natural language instructions for your agent for how to provide context for the
170
180
 
171
181
  class Target < Telnyx::Internal::Type::BaseModel
@@ -211,6 +221,256 @@ module Telnyx
211
221
  #
212
222
  # @param value [String] The value of the header. Note that we support mustache templating for the value.
213
223
  end
224
+
225
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer#voicemail_detection
226
+ class VoicemailDetection < Telnyx::Internal::Type::BaseModel
227
+ # @!attribute detection_config
228
+ # Advanced AMD detection configuration parameters. All values are optional -
229
+ # Telnyx will use defaults if not specified.
230
+ #
231
+ # @return [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionConfig, nil]
232
+ optional :detection_config,
233
+ -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionConfig }
234
+
235
+ # @!attribute detection_mode
236
+ # The AMD detection mode to use. 'premium' provides the highest accuracy.
237
+ # 'disabled' turns off AMD detection.
238
+ #
239
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionMode, nil]
240
+ optional :detection_mode,
241
+ enum: -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionMode }
242
+
243
+ # @!attribute on_voicemail_detected
244
+ # Action to take when voicemail is detected on the transferred call.
245
+ #
246
+ # @return [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected, nil]
247
+ optional :on_voicemail_detected,
248
+ -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected }
249
+
250
+ # @!method initialize(detection_config: nil, detection_mode: nil, on_voicemail_detected: nil)
251
+ # Some parameter documentations has been truncated, see
252
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection} for
253
+ # more details.
254
+ #
255
+ # Configuration for voicemail detection (AMD - Answering Machine Detection) on the
256
+ # transferred call. Allows the assistant to detect when a voicemail system answers
257
+ # the transferred call and take appropriate action.
258
+ #
259
+ # @param detection_config [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionConfig] Advanced AMD detection configuration parameters. All values are optional - Telny
260
+ #
261
+ # @param detection_mode [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionMode] The AMD detection mode to use. 'premium' provides the highest accuracy. 'disable
262
+ #
263
+ # @param on_voicemail_detected [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected] Action to take when voicemail is detected on the transferred call.
264
+
265
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection#detection_config
266
+ class DetectionConfig < Telnyx::Internal::Type::BaseModel
267
+ # @!attribute after_greeting_silence_millis
268
+ # Duration of silence after greeting detection before finalizing the result.
269
+ #
270
+ # @return [Integer, nil]
271
+ optional :after_greeting_silence_millis, Integer
272
+
273
+ # @!attribute between_words_silence_millis
274
+ # Maximum silence duration between words during greeting.
275
+ #
276
+ # @return [Integer, nil]
277
+ optional :between_words_silence_millis, Integer
278
+
279
+ # @!attribute greeting_duration_millis
280
+ # Expected duration of greeting speech.
281
+ #
282
+ # @return [Integer, nil]
283
+ optional :greeting_duration_millis, Integer
284
+
285
+ # @!attribute greeting_silence_duration_millis
286
+ # Duration of silence after the greeting to wait before considering the greeting
287
+ # complete.
288
+ #
289
+ # @return [Integer, nil]
290
+ optional :greeting_silence_duration_millis, Integer
291
+
292
+ # @!attribute greeting_total_analysis_time_millis
293
+ # Maximum time to spend analyzing the greeting.
294
+ #
295
+ # @return [Integer, nil]
296
+ optional :greeting_total_analysis_time_millis, Integer
297
+
298
+ # @!attribute initial_silence_millis
299
+ # Maximum silence duration at the start of the call before speech.
300
+ #
301
+ # @return [Integer, nil]
302
+ optional :initial_silence_millis, Integer
303
+
304
+ # @!attribute maximum_number_of_words
305
+ # Maximum number of words expected in a human greeting.
306
+ #
307
+ # @return [Integer, nil]
308
+ optional :maximum_number_of_words, Integer
309
+
310
+ # @!attribute maximum_word_length_millis
311
+ # Maximum duration of a single word.
312
+ #
313
+ # @return [Integer, nil]
314
+ optional :maximum_word_length_millis, Integer
315
+
316
+ # @!attribute min_word_length_millis
317
+ # Minimum duration for audio to be considered a word.
318
+ #
319
+ # @return [Integer, nil]
320
+ optional :min_word_length_millis, Integer
321
+
322
+ # @!attribute silence_threshold
323
+ # Audio level threshold for silence detection.
324
+ #
325
+ # @return [Integer, nil]
326
+ optional :silence_threshold, Integer
327
+
328
+ # @!attribute total_analysis_time_millis
329
+ # Total time allowed for AMD analysis.
330
+ #
331
+ # @return [Integer, nil]
332
+ optional :total_analysis_time_millis, Integer
333
+
334
+ # @!method initialize(after_greeting_silence_millis: nil, between_words_silence_millis: nil, greeting_duration_millis: nil, greeting_silence_duration_millis: nil, greeting_total_analysis_time_millis: nil, initial_silence_millis: nil, maximum_number_of_words: nil, maximum_word_length_millis: nil, min_word_length_millis: nil, silence_threshold: nil, total_analysis_time_millis: nil)
335
+ # Some parameter documentations has been truncated, see
336
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::DetectionConfig}
337
+ # for more details.
338
+ #
339
+ # Advanced AMD detection configuration parameters. All values are optional -
340
+ # Telnyx will use defaults if not specified.
341
+ #
342
+ # @param after_greeting_silence_millis [Integer] Duration of silence after greeting detection before finalizing the result.
343
+ #
344
+ # @param between_words_silence_millis [Integer] Maximum silence duration between words during greeting.
345
+ #
346
+ # @param greeting_duration_millis [Integer] Expected duration of greeting speech.
347
+ #
348
+ # @param greeting_silence_duration_millis [Integer] Duration of silence after the greeting to wait before considering the greeting c
349
+ #
350
+ # @param greeting_total_analysis_time_millis [Integer] Maximum time to spend analyzing the greeting.
351
+ #
352
+ # @param initial_silence_millis [Integer] Maximum silence duration at the start of the call before speech.
353
+ #
354
+ # @param maximum_number_of_words [Integer] Maximum number of words expected in a human greeting.
355
+ #
356
+ # @param maximum_word_length_millis [Integer] Maximum duration of a single word.
357
+ #
358
+ # @param min_word_length_millis [Integer] Minimum duration for audio to be considered a word.
359
+ #
360
+ # @param silence_threshold [Integer] Audio level threshold for silence detection.
361
+ #
362
+ # @param total_analysis_time_millis [Integer] Total time allowed for AMD analysis.
363
+ end
364
+
365
+ # The AMD detection mode to use. 'premium' provides the highest accuracy.
366
+ # 'disabled' turns off AMD detection.
367
+ #
368
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection#detection_mode
369
+ module DetectionMode
370
+ extend Telnyx::Internal::Type::Enum
371
+
372
+ PREMIUM = :premium
373
+ DETECT = :detect
374
+ DETECT_BEEP = :detect_beep
375
+ DETECT_WORDS = :detect_words
376
+ GREETING_END = :greeting_end
377
+ DISABLED = :disabled
378
+
379
+ # @!method self.values
380
+ # @return [Array<Symbol>]
381
+ end
382
+
383
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection#on_voicemail_detected
384
+ class OnVoicemailDetected < Telnyx::Internal::Type::BaseModel
385
+ # @!attribute action
386
+ # The action to take when voicemail is detected. 'stop_transfer' hangs up
387
+ # immediately. 'leave_message_and_stop_transfer' leaves a message then hangs up.
388
+ # 'continue_transfer' bridges the call despite voicemail detection.
389
+ #
390
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::Action, nil]
391
+ optional :action,
392
+ enum: -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::Action }
393
+
394
+ # @!attribute voicemail_message
395
+ # Configuration for the voicemail message to leave. Only applicable when action is
396
+ # 'leave_message_and_stop_transfer'.
397
+ #
398
+ # @return [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage, nil]
399
+ optional :voicemail_message,
400
+ -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage }
401
+
402
+ # @!method initialize(action: nil, voicemail_message: nil)
403
+ # Some parameter documentations has been truncated, see
404
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected}
405
+ # for more details.
406
+ #
407
+ # Action to take when voicemail is detected on the transferred call.
408
+ #
409
+ # @param action [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::Action] The action to take when voicemail is detected. 'stop_transfer' hangs up immediat
410
+ #
411
+ # @param voicemail_message [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage] Configuration for the voicemail message to leave. Only applicable when action is
412
+
413
+ # The action to take when voicemail is detected. 'stop_transfer' hangs up
414
+ # immediately. 'leave_message_and_stop_transfer' leaves a message then hangs up.
415
+ # 'continue_transfer' bridges the call despite voicemail detection.
416
+ #
417
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected#action
418
+ module Action
419
+ extend Telnyx::Internal::Type::Enum
420
+
421
+ STOP_TRANSFER = :stop_transfer
422
+ LEAVE_MESSAGE_AND_STOP_TRANSFER = :leave_message_and_stop_transfer
423
+ CONTINUE_TRANSFER = :continue_transfer
424
+
425
+ # @!method self.values
426
+ # @return [Array<Symbol>]
427
+ end
428
+
429
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected#voicemail_message
430
+ class VoicemailMessage < Telnyx::Internal::Type::BaseModel
431
+ # @!attribute message
432
+ # The specific message to leave as voicemail (converted to speech). Only
433
+ # applicable when type is 'message'.
434
+ #
435
+ # @return [String, nil]
436
+ optional :message, String
437
+
438
+ # @!attribute type
439
+ # The type of voicemail message. Use 'message' to leave a specific TTS message, or
440
+ # 'warm_transfer_instructions' to play the warm transfer audio.
441
+ #
442
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type, nil]
443
+ optional :type,
444
+ enum: -> { Telnyx::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type }
445
+
446
+ # @!method initialize(message: nil, type: nil)
447
+ # Some parameter documentations has been truncated, see
448
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage}
449
+ # for more details.
450
+ #
451
+ # Configuration for the voicemail message to leave. Only applicable when action is
452
+ # 'leave_message_and_stop_transfer'.
453
+ #
454
+ # @param message [String] The specific message to leave as voicemail (converted to speech). Only applicabl
455
+ #
456
+ # @param type [Symbol, Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type] The type of voicemail message. Use 'message' to leave a specific TTS message, or
457
+
458
+ # The type of voicemail message. Use 'message' to leave a specific TTS message, or
459
+ # 'warm_transfer_instructions' to play the warm transfer audio.
460
+ #
461
+ # @see Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection::OnVoicemailDetected::VoicemailMessage#type
462
+ module Type
463
+ extend Telnyx::Internal::Type::Enum
464
+
465
+ MESSAGE = :message
466
+ WARM_TRANSFER_INSTRUCTIONS = :warm_transfer_instructions
467
+
468
+ # @!method self.values
469
+ # @return [Array<Symbol>]
470
+ end
471
+ end
472
+ end
473
+ end
214
474
  end
215
475
  end
216
476
 
@@ -24,7 +24,12 @@ module Telnyx
24
24
 
25
25
  # @!attribute metadata
26
26
  # Metadata associated with the conversation. Telnyx provides several pieces of
27
- # metadata, but customers can also add their own.
27
+ # metadata, but customers can also add their own. The reserved field `ai_disabled`
28
+ # (boolean) can be set to `true` to prevent AI-generated responses on this
29
+ # conversation. When `ai_disabled` is `true`, calls to the chat endpoint will
30
+ # return a 400 error. Set to `false` or remove the field to re-enable AI
31
+ # responses. This is useful when a human agent needs to take over the conversation
32
+ # mid-stream (e.g., a technician stepping in while AI was messaging a resident).
28
33
  #
29
34
  # @return [Hash{Symbol=>String}]
30
35
  required :metadata, Telnyx::Internal::Type::HashOf[String]
@@ -9,7 +9,8 @@ module Telnyx
9
9
  include Telnyx::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute metadata
12
- # Metadata associated with the conversation.
12
+ # Metadata associated with the conversation. Set `ai_disabled` to `true` to create
13
+ # the conversation with AI message responses disabled.
13
14
  #
14
15
  # @return [Hash{Symbol=>String}, nil]
15
16
  optional :metadata, Telnyx::Internal::Type::HashOf[String]
@@ -20,7 +21,10 @@ module Telnyx
20
21
  optional :name, String
21
22
 
22
23
  # @!method initialize(metadata: nil, name: nil, request_options: {})
23
- # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation.
24
+ # Some parameter documentations has been truncated, see
25
+ # {Telnyx::Models::AI::ConversationCreateParams} for more details.
26
+ #
27
+ # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation. Set `ai_disabled` to `true` to create
24
28
  #
25
29
  # @param name [String]
26
30
  #
@@ -9,13 +9,18 @@ module Telnyx
9
9
  include Telnyx::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute metadata
12
- # Metadata associated with the conversation.
12
+ # Metadata associated with the conversation. Set `ai_disabled` to `true` to stop
13
+ # AI from responding to messages (e.g., when a human agent takes over). Set to
14
+ # `false` to re-enable AI responses.
13
15
  #
14
16
  # @return [Hash{Symbol=>String}, nil]
15
17
  optional :metadata, Telnyx::Internal::Type::HashOf[String]
16
18
 
17
19
  # @!method initialize(metadata: nil, request_options: {})
18
- # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation.
20
+ # Some parameter documentations has been truncated, see
21
+ # {Telnyx::Models::AI::ConversationUpdateParams} for more details.
22
+ #
23
+ # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation. Set `ai_disabled` to `true` to stop A
19
24
  #
20
25
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
21
26
  end
@@ -13,11 +13,14 @@ module Telnyx
13
13
  # @return [Telnyx::Resources::AI::Conversations::Messages]
14
14
  attr_reader :messages
15
15
 
16
+ # Some parameter documentations has been truncated, see
17
+ # {Telnyx::Models::AI::ConversationCreateParams} for more details.
18
+ #
16
19
  # Create a new AI Conversation.
17
20
  #
18
21
  # @overload create(metadata: nil, name: nil, request_options: {})
19
22
  #
20
- # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation.
23
+ # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation. Set `ai_disabled` to `true` to create
21
24
  #
22
25
  # @param name [String]
23
26
  #
@@ -57,13 +60,16 @@ module Telnyx
57
60
  )
58
61
  end
59
62
 
63
+ # Some parameter documentations has been truncated, see
64
+ # {Telnyx::Models::AI::ConversationUpdateParams} for more details.
65
+ #
60
66
  # Update metadata for a specific conversation.
61
67
  #
62
68
  # @overload update(conversation_id, metadata: nil, request_options: {})
63
69
  #
64
70
  # @param conversation_id [String] The ID of the conversation to update
65
71
  #
66
- # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation.
72
+ # @param metadata [Hash{Symbol=>String}] Metadata associated with the conversation. Set `ai_disabled` to `true` to stop A
67
73
  #
68
74
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
69
75
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.13.0"
4
+ VERSION = "5.14.0"
5
5
  end