telnyx 5.87.0 → 5.89.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +209 -1
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +209 -1
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +212 -1
  7. data/lib/telnyx/models/ai/inference_embedding.rb +211 -1
  8. data/lib/telnyx/models/ai/transcription_settings.rb +7 -4
  9. data/lib/telnyx/models/call_assistant_request.rb +209 -6
  10. data/lib/telnyx/resources/ai/assistants/versions.rb +5 -1
  11. data/lib/telnyx/resources/ai/assistants.rb +10 -2
  12. data/lib/telnyx/version.rb +1 -1
  13. data/rbi/telnyx/models/ai/assistant_create_params.rbi +419 -0
  14. data/rbi/telnyx/models/ai/assistant_update_params.rbi +419 -0
  15. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +425 -0
  16. data/rbi/telnyx/models/ai/inference_embedding.rbi +415 -0
  17. data/rbi/telnyx/models/ai/transcription_settings.rbi +11 -5
  18. data/rbi/telnyx/models/call_assistant_request.rbi +416 -8
  19. data/rbi/telnyx/resources/ai/assistants/versions.rbi +8 -0
  20. data/rbi/telnyx/resources/ai/assistants.rbi +12 -0
  21. data/sig/telnyx/models/ai/assistant_create_params.rbs +193 -0
  22. data/sig/telnyx/models/ai/assistant_update_params.rbs +193 -0
  23. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +193 -0
  24. data/sig/telnyx/models/ai/inference_embedding.rbs +193 -0
  25. data/sig/telnyx/models/call_assistant_request.rbs +197 -10
  26. data/sig/telnyx/resources/ai/assistants/versions.rbs +2 -0
  27. data/sig/telnyx/resources/ai/assistants.rbs +4 -0
  28. metadata +1 -1
@@ -66,6 +66,29 @@ module Telnyx
66
66
  end
67
67
  attr_writer :enabled_features
68
68
 
69
+ sig { returns(T.nilable(Telnyx::AI::InferenceEmbedding::ExternalLlm)) }
70
+ attr_reader :external_llm
71
+
72
+ sig do
73
+ params(
74
+ external_llm: Telnyx::AI::InferenceEmbedding::ExternalLlm::OrHash
75
+ ).void
76
+ end
77
+ attr_writer :external_llm
78
+
79
+ sig do
80
+ returns(T.nilable(Telnyx::AI::InferenceEmbedding::FallbackConfig))
81
+ end
82
+ attr_reader :fallback_config
83
+
84
+ sig do
85
+ params(
86
+ fallback_config:
87
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::OrHash
88
+ ).void
89
+ end
90
+ attr_writer :fallback_config
91
+
69
92
  # Text that the assistant will use to start the conversation. This may be
70
93
  # templated with
71
94
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -216,6 +239,9 @@ module Telnyx
216
239
  dynamic_variables: T::Hash[Symbol, T.anything],
217
240
  dynamic_variables_webhook_url: String,
218
241
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
242
+ external_llm: Telnyx::AI::InferenceEmbedding::ExternalLlm::OrHash,
243
+ fallback_config:
244
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::OrHash,
219
245
  greeting: String,
220
246
  import_metadata: Telnyx::AI::ImportMetadata::OrHash,
221
247
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
@@ -266,6 +292,8 @@ module Telnyx
266
292
  # for more information.
267
293
  dynamic_variables_webhook_url: nil,
268
294
  enabled_features: nil,
295
+ external_llm: nil,
296
+ fallback_config: nil,
269
297
  # Text that the assistant will use to start the conversation. This may be
270
298
  # templated with
271
299
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -315,6 +343,8 @@ module Telnyx
315
343
  dynamic_variables_webhook_url: String,
316
344
  enabled_features:
317
345
  T::Array[Telnyx::AI::EnabledFeatures::TaggedSymbol],
346
+ external_llm: Telnyx::AI::InferenceEmbedding::ExternalLlm,
347
+ fallback_config: Telnyx::AI::InferenceEmbedding::FallbackConfig,
318
348
  greeting: String,
319
349
  import_metadata: Telnyx::AI::ImportMetadata,
320
350
  insight_settings: Telnyx::AI::InsightSettings,
@@ -335,6 +365,391 @@ module Telnyx
335
365
  def to_hash
336
366
  end
337
367
 
368
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
369
+ OrHash =
370
+ T.type_alias do
371
+ T.any(
372
+ Telnyx::AI::InferenceEmbedding::ExternalLlm,
373
+ Telnyx::Internal::AnyHash
374
+ )
375
+ end
376
+
377
+ # Base URL for the external LLM endpoint.
378
+ sig { returns(String) }
379
+ attr_accessor :base_url
380
+
381
+ # Model identifier to use with the external LLM endpoint.
382
+ sig { returns(String) }
383
+ attr_accessor :model
384
+
385
+ # Authentication method used when connecting to the external LLM endpoint.
386
+ sig do
387
+ returns(
388
+ T.nilable(
389
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::TaggedSymbol
390
+ )
391
+ )
392
+ end
393
+ attr_reader :authentication_method
394
+
395
+ sig do
396
+ params(
397
+ authentication_method:
398
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::OrSymbol
399
+ ).void
400
+ end
401
+ attr_writer :authentication_method
402
+
403
+ # Integration secret identifier for the client certificate used with certificate
404
+ # authentication.
405
+ sig { returns(T.nilable(String)) }
406
+ attr_reader :certificate_ref
407
+
408
+ sig { params(certificate_ref: String).void }
409
+ attr_writer :certificate_ref
410
+
411
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
412
+ # LLM endpoint. Defaults to false. The chat completion request includes a
413
+ # top-level `extra_metadata` object when dynamic variables are available. For
414
+ # example:
415
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
416
+ sig { returns(T.nilable(T::Boolean)) }
417
+ attr_reader :forward_metadata
418
+
419
+ sig { params(forward_metadata: T::Boolean).void }
420
+ attr_writer :forward_metadata
421
+
422
+ # Integration secret identifier for the external LLM API key.
423
+ sig { returns(T.nilable(String)) }
424
+ attr_reader :llm_api_key_ref
425
+
426
+ sig { params(llm_api_key_ref: String).void }
427
+ attr_writer :llm_api_key_ref
428
+
429
+ # URL used to retrieve an access token when certificate authentication is enabled.
430
+ sig { returns(T.nilable(String)) }
431
+ attr_reader :token_retrieval_url
432
+
433
+ sig { params(token_retrieval_url: String).void }
434
+ attr_writer :token_retrieval_url
435
+
436
+ sig do
437
+ params(
438
+ base_url: String,
439
+ model: String,
440
+ authentication_method:
441
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::OrSymbol,
442
+ certificate_ref: String,
443
+ forward_metadata: T::Boolean,
444
+ llm_api_key_ref: String,
445
+ token_retrieval_url: String
446
+ ).returns(T.attached_class)
447
+ end
448
+ def self.new(
449
+ # Base URL for the external LLM endpoint.
450
+ base_url:,
451
+ # Model identifier to use with the external LLM endpoint.
452
+ model:,
453
+ # Authentication method used when connecting to the external LLM endpoint.
454
+ authentication_method: nil,
455
+ # Integration secret identifier for the client certificate used with certificate
456
+ # authentication.
457
+ certificate_ref: nil,
458
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
459
+ # LLM endpoint. Defaults to false. The chat completion request includes a
460
+ # top-level `extra_metadata` object when dynamic variables are available. For
461
+ # example:
462
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
463
+ forward_metadata: nil,
464
+ # Integration secret identifier for the external LLM API key.
465
+ llm_api_key_ref: nil,
466
+ # URL used to retrieve an access token when certificate authentication is enabled.
467
+ token_retrieval_url: nil
468
+ )
469
+ end
470
+
471
+ sig do
472
+ override.returns(
473
+ {
474
+ base_url: String,
475
+ model: String,
476
+ authentication_method:
477
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::TaggedSymbol,
478
+ certificate_ref: String,
479
+ forward_metadata: T::Boolean,
480
+ llm_api_key_ref: String,
481
+ token_retrieval_url: String
482
+ }
483
+ )
484
+ end
485
+ def to_hash
486
+ end
487
+
488
+ # Authentication method used when connecting to the external LLM endpoint.
489
+ module AuthenticationMethod
490
+ extend Telnyx::Internal::Type::Enum
491
+
492
+ TaggedSymbol =
493
+ T.type_alias do
494
+ T.all(
495
+ Symbol,
496
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod
497
+ )
498
+ end
499
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
500
+
501
+ TOKEN =
502
+ T.let(
503
+ :token,
504
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::TaggedSymbol
505
+ )
506
+ CERTIFICATE =
507
+ T.let(
508
+ :certificate,
509
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::TaggedSymbol
510
+ )
511
+
512
+ sig do
513
+ override.returns(
514
+ T::Array[
515
+ Telnyx::AI::InferenceEmbedding::ExternalLlm::AuthenticationMethod::TaggedSymbol
516
+ ]
517
+ )
518
+ end
519
+ def self.values
520
+ end
521
+ end
522
+ end
523
+
524
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
525
+ OrHash =
526
+ T.type_alias do
527
+ T.any(
528
+ Telnyx::AI::InferenceEmbedding::FallbackConfig,
529
+ Telnyx::Internal::AnyHash
530
+ )
531
+ end
532
+
533
+ sig do
534
+ returns(
535
+ T.nilable(
536
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm
537
+ )
538
+ )
539
+ end
540
+ attr_reader :external_llm
541
+
542
+ sig do
543
+ params(
544
+ external_llm:
545
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::OrHash
546
+ ).void
547
+ end
548
+ attr_writer :external_llm
549
+
550
+ # Integration secret identifier for the fallback model API key.
551
+ sig { returns(T.nilable(String)) }
552
+ attr_reader :llm_api_key_ref
553
+
554
+ sig { params(llm_api_key_ref: String).void }
555
+ attr_writer :llm_api_key_ref
556
+
557
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
558
+ # unavailable.
559
+ sig { returns(T.nilable(String)) }
560
+ attr_reader :model
561
+
562
+ sig { params(model: String).void }
563
+ attr_writer :model
564
+
565
+ sig do
566
+ params(
567
+ external_llm:
568
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::OrHash,
569
+ llm_api_key_ref: String,
570
+ model: String
571
+ ).returns(T.attached_class)
572
+ end
573
+ def self.new(
574
+ external_llm: nil,
575
+ # Integration secret identifier for the fallback model API key.
576
+ llm_api_key_ref: nil,
577
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
578
+ # unavailable.
579
+ model: nil
580
+ )
581
+ end
582
+
583
+ sig do
584
+ override.returns(
585
+ {
586
+ external_llm:
587
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm,
588
+ llm_api_key_ref: String,
589
+ model: String
590
+ }
591
+ )
592
+ end
593
+ def to_hash
594
+ end
595
+
596
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
597
+ OrHash =
598
+ T.type_alias do
599
+ T.any(
600
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm,
601
+ Telnyx::Internal::AnyHash
602
+ )
603
+ end
604
+
605
+ # Base URL for the external LLM endpoint.
606
+ sig { returns(String) }
607
+ attr_accessor :base_url
608
+
609
+ # Model identifier to use with the external LLM endpoint.
610
+ sig { returns(String) }
611
+ attr_accessor :model
612
+
613
+ # Authentication method used when connecting to the external LLM endpoint.
614
+ sig do
615
+ returns(
616
+ T.nilable(
617
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
618
+ )
619
+ )
620
+ end
621
+ attr_reader :authentication_method
622
+
623
+ sig do
624
+ params(
625
+ authentication_method:
626
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
627
+ ).void
628
+ end
629
+ attr_writer :authentication_method
630
+
631
+ # Integration secret identifier for the client certificate used with certificate
632
+ # authentication.
633
+ sig { returns(T.nilable(String)) }
634
+ attr_reader :certificate_ref
635
+
636
+ sig { params(certificate_ref: String).void }
637
+ attr_writer :certificate_ref
638
+
639
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
640
+ # LLM endpoint. Defaults to false. The chat completion request includes a
641
+ # top-level `extra_metadata` object when dynamic variables are available. For
642
+ # example:
643
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
644
+ sig { returns(T.nilable(T::Boolean)) }
645
+ attr_reader :forward_metadata
646
+
647
+ sig { params(forward_metadata: T::Boolean).void }
648
+ attr_writer :forward_metadata
649
+
650
+ # Integration secret identifier for the external LLM API key.
651
+ sig { returns(T.nilable(String)) }
652
+ attr_reader :llm_api_key_ref
653
+
654
+ sig { params(llm_api_key_ref: String).void }
655
+ attr_writer :llm_api_key_ref
656
+
657
+ # URL used to retrieve an access token when certificate authentication is enabled.
658
+ sig { returns(T.nilable(String)) }
659
+ attr_reader :token_retrieval_url
660
+
661
+ sig { params(token_retrieval_url: String).void }
662
+ attr_writer :token_retrieval_url
663
+
664
+ sig do
665
+ params(
666
+ base_url: String,
667
+ model: String,
668
+ authentication_method:
669
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
670
+ certificate_ref: String,
671
+ forward_metadata: T::Boolean,
672
+ llm_api_key_ref: String,
673
+ token_retrieval_url: String
674
+ ).returns(T.attached_class)
675
+ end
676
+ def self.new(
677
+ # Base URL for the external LLM endpoint.
678
+ base_url:,
679
+ # Model identifier to use with the external LLM endpoint.
680
+ model:,
681
+ # Authentication method used when connecting to the external LLM endpoint.
682
+ authentication_method: nil,
683
+ # Integration secret identifier for the client certificate used with certificate
684
+ # authentication.
685
+ certificate_ref: nil,
686
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
687
+ # LLM endpoint. Defaults to false. The chat completion request includes a
688
+ # top-level `extra_metadata` object when dynamic variables are available. For
689
+ # example:
690
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
691
+ forward_metadata: nil,
692
+ # Integration secret identifier for the external LLM API key.
693
+ llm_api_key_ref: nil,
694
+ # URL used to retrieve an access token when certificate authentication is enabled.
695
+ token_retrieval_url: nil
696
+ )
697
+ end
698
+
699
+ sig do
700
+ override.returns(
701
+ {
702
+ base_url: String,
703
+ model: String,
704
+ authentication_method:
705
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol,
706
+ certificate_ref: String,
707
+ forward_metadata: T::Boolean,
708
+ llm_api_key_ref: String,
709
+ token_retrieval_url: String
710
+ }
711
+ )
712
+ end
713
+ def to_hash
714
+ end
715
+
716
+ # Authentication method used when connecting to the external LLM endpoint.
717
+ module AuthenticationMethod
718
+ extend Telnyx::Internal::Type::Enum
719
+
720
+ TaggedSymbol =
721
+ T.type_alias do
722
+ T.all(
723
+ Symbol,
724
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod
725
+ )
726
+ end
727
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
728
+
729
+ TOKEN =
730
+ T.let(
731
+ :token,
732
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
733
+ )
734
+ CERTIFICATE =
735
+ T.let(
736
+ :certificate,
737
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
738
+ )
739
+
740
+ sig do
741
+ override.returns(
742
+ T::Array[
743
+ Telnyx::AI::InferenceEmbedding::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
744
+ ]
745
+ )
746
+ end
747
+ def self.values
748
+ end
749
+ end
750
+ end
751
+ end
752
+
338
753
  class PostConversationSettings < Telnyx::Internal::Type::BaseModel
339
754
  OrHash =
340
755
  T.type_alias do
@@ -18,7 +18,10 @@ module Telnyx
18
18
  attr_writer :api_key_ref
19
19
 
20
20
  # The language of the audio to be transcribed. If not set, or if set to `auto`,
21
- # the model will automatically detect the language.
21
+ # supported models will automatically detect the language. For `deepgram/flux`,
22
+ # supported values are: `auto` (Telnyx language detection controls the language
23
+ # hint), `multi` (no language hint), and language-specific hints `en`, `es`, `fr`,
24
+ # `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`.
22
25
  sig { returns(T.nilable(String)) }
23
26
  attr_reader :language
24
27
 
@@ -28,7 +31,7 @@ module Telnyx
28
31
  # The speech to text model to be used by the voice assistant. All Deepgram models
29
32
  # are run on-premise.
30
33
  #
31
- # - `deepgram/flux` is optimized for turn-taking but is English-only.
34
+ # - `deepgram/flux` is optimized for turn-taking with multilingual language hints.
32
35
  # - `deepgram/nova-3` is multilingual with automatic language detection.
33
36
  # - `deepgram/nova-2` is Deepgram's previous-generation multilingual model.
34
37
  # - `azure/fast` is a multilingual Azure transcription model.
@@ -75,12 +78,15 @@ module Telnyx
75
78
  # used for Azure transcription regions that require a customer-provided API key.
76
79
  api_key_ref: nil,
77
80
  # The language of the audio to be transcribed. If not set, or if set to `auto`,
78
- # the model will automatically detect the language.
81
+ # supported models will automatically detect the language. For `deepgram/flux`,
82
+ # supported values are: `auto` (Telnyx language detection controls the language
83
+ # hint), `multi` (no language hint), and language-specific hints `en`, `es`, `fr`,
84
+ # `de`, `hi`, `ru`, `pt`, `ja`, `it`, and `nl`.
79
85
  language: nil,
80
86
  # The speech to text model to be used by the voice assistant. All Deepgram models
81
87
  # are run on-premise.
82
88
  #
83
- # - `deepgram/flux` is optimized for turn-taking but is English-only.
89
+ # - `deepgram/flux` is optimized for turn-taking with multilingual language hints.
84
90
  # - `deepgram/nova-3` is multilingual with automatic language detection.
85
91
  # - `deepgram/nova-2` is Deepgram's previous-generation multilingual model.
86
92
  # - `azure/fast` is a multilingual Azure transcription model.
@@ -112,7 +118,7 @@ module Telnyx
112
118
  # The speech to text model to be used by the voice assistant. All Deepgram models
113
119
  # are run on-premise.
114
120
  #
115
- # - `deepgram/flux` is optimized for turn-taking but is English-only.
121
+ # - `deepgram/flux` is optimized for turn-taking with multilingual language hints.
116
122
  # - `deepgram/nova-3` is multilingual with automatic language detection.
117
123
  # - `deepgram/nova-2` is Deepgram's previous-generation multilingual model.
118
124
  # - `azure/fast` is a multilingual Azure transcription model.