telnyx 5.92.0 → 5.94.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 (29) 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 +265 -37
  5. data/lib/telnyx/models/ai/assistant_tool.rb +108 -21
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +266 -30
  7. data/lib/telnyx/models/ai/assistants/update_assistant.rb +267 -30
  8. data/lib/telnyx/models/ai/inference_embedding.rb +287 -29
  9. data/lib/telnyx/models/ai/transfer_tool.rb +48 -22
  10. data/lib/telnyx/resources/ai/assistants/versions.rb +18 -6
  11. data/lib/telnyx/resources/ai/assistants.rb +35 -13
  12. data/lib/telnyx/version.rb +1 -1
  13. data/rbi/telnyx/models/ai/assistant_create_params.rbi +510 -52
  14. data/rbi/telnyx/models/ai/assistant_tool.rbi +171 -32
  15. data/rbi/telnyx/models/ai/assistant_update_params.rbi +510 -44
  16. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +526 -44
  17. data/rbi/telnyx/models/ai/inference_embedding.rbi +540 -44
  18. data/rbi/telnyx/models/ai/transfer_tool.rbi +64 -30
  19. data/rbi/telnyx/resources/ai/assistants/versions.rbi +61 -13
  20. data/rbi/telnyx/resources/ai/assistants.rbi +112 -27
  21. data/sig/telnyx/models/ai/assistant_create_params.rbs +172 -5
  22. data/sig/telnyx/models/ai/assistant_tool.rbs +53 -12
  23. data/sig/telnyx/models/ai/assistant_update_params.rbs +172 -0
  24. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +175 -0
  25. data/sig/telnyx/models/ai/inference_embedding.rbs +193 -0
  26. data/sig/telnyx/models/ai/transfer_tool.rbs +22 -12
  27. data/sig/telnyx/resources/ai/assistants/versions.rbs +6 -0
  28. data/sig/telnyx/resources/ai/assistants.rbs +12 -1
  29. metadata +2 -2
@@ -273,10 +273,12 @@ module Telnyx
273
273
  attr_accessor :from
274
274
 
275
275
  # The different possible targets of the transfer. The assistant will be able to
276
- # choose one of the targets to transfer the call to.
276
+ # choose one of the targets to transfer the call to. This can also be a dynamic
277
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
278
+ # variables webhook and resolves to an array of target objects at runtime.
277
279
  sig do
278
280
  returns(
279
- T::Array[Telnyx::AI::AssistantTool::Transfer::Transfer::Target]
281
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::Variants
280
282
  )
281
283
  end
282
284
  attr_accessor :targets
@@ -342,9 +344,7 @@ module Telnyx
342
344
  params(
343
345
  from: String,
344
346
  targets:
345
- T::Array[
346
- Telnyx::AI::AssistantTool::Transfer::Transfer::Target::OrHash
347
- ],
347
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::Variants,
348
348
  custom_headers:
349
349
  T::Array[
350
350
  Telnyx::AI::AssistantTool::Transfer::Transfer::CustomHeader::OrHash
@@ -359,7 +359,9 @@ module Telnyx
359
359
  # Number or SIP URI placing the call.
360
360
  from:,
361
361
  # The different possible targets of the transfer. The assistant will be able to
362
- # choose one of the targets to transfer the call to.
362
+ # choose one of the targets to transfer the call to. This can also be a dynamic
363
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
364
+ # variables webhook and resolves to an array of target objects at runtime.
363
365
  targets:,
364
366
  # Custom headers to be added to the SIP INVITE for the transfer command.
365
367
  custom_headers: nil,
@@ -383,9 +385,7 @@ module Telnyx
383
385
  {
384
386
  from: String,
385
387
  targets:
386
- T::Array[
387
- Telnyx::AI::AssistantTool::Transfer::Transfer::Target
388
- ],
388
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::Variants,
389
389
  custom_headers:
390
390
  T::Array[
391
391
  Telnyx::AI::AssistantTool::Transfer::Transfer::CustomHeader
@@ -400,41 +400,76 @@ module Telnyx
400
400
  def to_hash
401
401
  end
402
402
 
403
- class Target < Telnyx::Internal::Type::BaseModel
404
- OrHash =
403
+ # The different possible targets of the transfer. The assistant will be able to
404
+ # choose one of the targets to transfer the call to. This can also be a dynamic
405
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
406
+ # variables webhook and resolves to an array of target objects at runtime.
407
+ module Targets
408
+ extend Telnyx::Internal::Type::Union
409
+
410
+ Variants =
405
411
  T.type_alias do
406
412
  T.any(
407
- Telnyx::AI::AssistantTool::Transfer::Transfer::Target,
408
- Telnyx::Internal::AnyHash
413
+ T::Array[
414
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
415
+ ],
416
+ String
409
417
  )
410
418
  end
411
419
 
412
- # The name of the target.
413
- sig { returns(T.nilable(String)) }
414
- attr_reader :name
420
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
421
+ OrHash =
422
+ T.type_alias do
423
+ T.any(
424
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0,
425
+ Telnyx::Internal::AnyHash
426
+ )
427
+ end
415
428
 
416
- sig { params(name: String).void }
417
- attr_writer :name
429
+ # The destination number or SIP URI of the call.
430
+ sig { returns(String) }
431
+ attr_accessor :to
418
432
 
419
- # The destination number or SIP URI of the call.
420
- sig { returns(T.nilable(String)) }
421
- attr_reader :to
433
+ # The name of the target.
434
+ sig { returns(T.nilable(String)) }
435
+ attr_reader :name
422
436
 
423
- sig { params(to: String).void }
424
- attr_writer :to
437
+ sig { params(name: String).void }
438
+ attr_writer :name
425
439
 
426
- sig { params(name: String, to: String).returns(T.attached_class) }
427
- def self.new(
428
- # The name of the target.
429
- name: nil,
430
- # The destination number or SIP URI of the call.
431
- to: nil
432
- )
440
+ sig do
441
+ params(to: String, name: String).returns(T.attached_class)
442
+ end
443
+ def self.new(
444
+ # The destination number or SIP URI of the call.
445
+ to:,
446
+ # The name of the target.
447
+ name: nil
448
+ )
449
+ end
450
+
451
+ sig { override.returns({ to: String, name: String }) }
452
+ def to_hash
453
+ end
433
454
  end
434
455
 
435
- sig { override.returns({ name: String, to: String }) }
436
- def to_hash
456
+ sig do
457
+ override.returns(
458
+ T::Array[
459
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::Variants
460
+ ]
461
+ )
462
+ end
463
+ def self.variants
437
464
  end
465
+
466
+ UnionMember0Array =
467
+ T.let(
468
+ Telnyx::Internal::Type::ArrayOf[
469
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
470
+ ],
471
+ Telnyx::Internal::Type::Converter
472
+ )
438
473
  end
439
474
 
440
475
  class CustomHeader < Telnyx::Internal::Type::BaseModel
@@ -1080,6 +1115,21 @@ module Telnyx
1080
1115
  sig { params(from: String).void }
1081
1116
  attr_writer :from
1082
1117
 
1118
+ # The different possible targets of the invite. The assistant will be able to
1119
+ # choose one of the targets to invite to the call. This can also be a dynamic
1120
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
1121
+ # variables webhook and resolves to an array of target objects at runtime. If
1122
+ # omitted or null, the invite tool can still be configured and targets may be
1123
+ # supplied dynamically at runtime.
1124
+ sig do
1125
+ returns(
1126
+ T.nilable(
1127
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::Variants
1128
+ )
1129
+ )
1130
+ end
1131
+ attr_accessor :targets
1132
+
1083
1133
  # Configuration for voicemail detection (AMD - Answering Machine Detection) on the
1084
1134
  # invited call.
1085
1135
  sig do
@@ -1106,6 +1156,10 @@ module Telnyx
1106
1156
  Telnyx::AI::AssistantTool::Invite::InviteConfig::CustomHeader::OrHash
1107
1157
  ],
1108
1158
  from: String,
1159
+ targets:
1160
+ T.nilable(
1161
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::Variants
1162
+ ),
1109
1163
  voicemail_detection:
1110
1164
  Telnyx::AI::AssistantTool::Invite::InviteConfig::VoicemailDetection::OrHash
1111
1165
  ).returns(T.attached_class)
@@ -1115,6 +1169,13 @@ module Telnyx
1115
1169
  custom_headers: nil,
1116
1170
  # Number or SIP URI placing the call.
1117
1171
  from: nil,
1172
+ # The different possible targets of the invite. The assistant will be able to
1173
+ # choose one of the targets to invite to the call. This can also be a dynamic
1174
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
1175
+ # variables webhook and resolves to an array of target objects at runtime. If
1176
+ # omitted or null, the invite tool can still be configured and targets may be
1177
+ # supplied dynamically at runtime.
1178
+ targets: nil,
1118
1179
  # Configuration for voicemail detection (AMD - Answering Machine Detection) on the
1119
1180
  # invited call.
1120
1181
  voicemail_detection: nil
@@ -1129,6 +1190,10 @@ module Telnyx
1129
1190
  Telnyx::AI::AssistantTool::Invite::InviteConfig::CustomHeader
1130
1191
  ],
1131
1192
  from: String,
1193
+ targets:
1194
+ T.nilable(
1195
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::Variants
1196
+ ),
1132
1197
  voicemail_detection:
1133
1198
  Telnyx::AI::AssistantTool::Invite::InviteConfig::VoicemailDetection
1134
1199
  }
@@ -1180,6 +1245,80 @@ module Telnyx
1180
1245
  end
1181
1246
  end
1182
1247
 
1248
+ # The different possible targets of the invite. The assistant will be able to
1249
+ # choose one of the targets to invite to the call. This can also be a dynamic
1250
+ # variable string like `{{ targets }}` where `targets` is returned by the dynamic
1251
+ # variables webhook and resolves to an array of target objects at runtime. If
1252
+ # omitted or null, the invite tool can still be configured and targets may be
1253
+ # supplied dynamically at runtime.
1254
+ module Targets
1255
+ extend Telnyx::Internal::Type::Union
1256
+
1257
+ Variants =
1258
+ T.type_alias do
1259
+ T.any(
1260
+ T::Array[
1261
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::UnionMember0
1262
+ ],
1263
+ String
1264
+ )
1265
+ end
1266
+
1267
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
1268
+ OrHash =
1269
+ T.type_alias do
1270
+ T.any(
1271
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::UnionMember0,
1272
+ Telnyx::Internal::AnyHash
1273
+ )
1274
+ end
1275
+
1276
+ # The destination number or SIP URI of the call.
1277
+ sig { returns(String) }
1278
+ attr_accessor :to
1279
+
1280
+ # The name of the target.
1281
+ sig { returns(T.nilable(String)) }
1282
+ attr_reader :name
1283
+
1284
+ sig { params(name: String).void }
1285
+ attr_writer :name
1286
+
1287
+ sig do
1288
+ params(to: String, name: String).returns(T.attached_class)
1289
+ end
1290
+ def self.new(
1291
+ # The destination number or SIP URI of the call.
1292
+ to:,
1293
+ # The name of the target.
1294
+ name: nil
1295
+ )
1296
+ end
1297
+
1298
+ sig { override.returns({ to: String, name: String }) }
1299
+ def to_hash
1300
+ end
1301
+ end
1302
+
1303
+ sig do
1304
+ override.returns(
1305
+ T::Array[
1306
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::Variants
1307
+ ]
1308
+ )
1309
+ end
1310
+ def self.variants
1311
+ end
1312
+
1313
+ UnionMember0Array =
1314
+ T.let(
1315
+ Telnyx::Internal::Type::ArrayOf[
1316
+ Telnyx::AI::AssistantTool::Invite::InviteConfig::Targets::UnionMember0
1317
+ ],
1318
+ Telnyx::Internal::Type::Converter
1319
+ )
1320
+ end
1321
+
1183
1322
  class VoicemailDetection < Telnyx::Internal::Type::BaseModel
1184
1323
  OrHash =
1185
1324
  T.type_alias do