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
@@ -50,6 +50,36 @@ module Telnyx
50
50
  end
51
51
  attr_writer :enabled_features
52
52
 
53
+ sig do
54
+ returns(
55
+ T.nilable(Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm)
56
+ )
57
+ end
58
+ attr_reader :external_llm
59
+
60
+ sig do
61
+ params(
62
+ external_llm:
63
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::OrHash
64
+ ).void
65
+ end
66
+ attr_writer :external_llm
67
+
68
+ sig do
69
+ returns(
70
+ T.nilable(Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig)
71
+ )
72
+ end
73
+ attr_reader :fallback_config
74
+
75
+ sig do
76
+ params(
77
+ fallback_config:
78
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::OrHash
79
+ ).void
80
+ end
81
+ attr_writer :fallback_config
82
+
53
83
  # Text that the assistant will use to start the conversation. This may be
54
84
  # templated with
55
85
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -247,6 +277,10 @@ module Telnyx
247
277
  dynamic_variables: T::Hash[Symbol, T.anything],
248
278
  dynamic_variables_webhook_url: String,
249
279
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
280
+ external_llm:
281
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::OrHash,
282
+ fallback_config:
283
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::OrHash,
250
284
  greeting: String,
251
285
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
252
286
  instructions: String,
@@ -290,6 +324,8 @@ module Telnyx
290
324
  # for more information.
291
325
  dynamic_variables_webhook_url: nil,
292
326
  enabled_features: nil,
327
+ external_llm: nil,
328
+ fallback_config: nil,
293
329
  # Text that the assistant will use to start the conversation. This may be
294
330
  # templated with
295
331
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -342,6 +378,10 @@ module Telnyx
342
378
  dynamic_variables_webhook_url: String,
343
379
  enabled_features:
344
380
  T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
381
+ external_llm:
382
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm,
383
+ fallback_config:
384
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig,
345
385
  greeting: String,
346
386
  insight_settings: Telnyx::AI::InsightSettings,
347
387
  instructions: String,
@@ -379,6 +419,391 @@ module Telnyx
379
419
  def to_hash
380
420
  end
381
421
 
422
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
423
+ OrHash =
424
+ T.type_alias do
425
+ T.any(
426
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm,
427
+ Telnyx::Internal::AnyHash
428
+ )
429
+ end
430
+
431
+ # Base URL for the external LLM endpoint.
432
+ sig { returns(String) }
433
+ attr_accessor :base_url
434
+
435
+ # Model identifier to use with the external LLM endpoint.
436
+ sig { returns(String) }
437
+ attr_accessor :model
438
+
439
+ # Authentication method used when connecting to the external LLM endpoint.
440
+ sig do
441
+ returns(
442
+ T.nilable(
443
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::OrSymbol
444
+ )
445
+ )
446
+ end
447
+ attr_reader :authentication_method
448
+
449
+ sig do
450
+ params(
451
+ authentication_method:
452
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::OrSymbol
453
+ ).void
454
+ end
455
+ attr_writer :authentication_method
456
+
457
+ # Integration secret identifier for the client certificate used with certificate
458
+ # authentication.
459
+ sig { returns(T.nilable(String)) }
460
+ attr_reader :certificate_ref
461
+
462
+ sig { params(certificate_ref: String).void }
463
+ attr_writer :certificate_ref
464
+
465
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
466
+ # LLM endpoint. Defaults to false. The chat completion request includes a
467
+ # top-level `extra_metadata` object when dynamic variables are available. For
468
+ # example:
469
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
470
+ sig { returns(T.nilable(T::Boolean)) }
471
+ attr_reader :forward_metadata
472
+
473
+ sig { params(forward_metadata: T::Boolean).void }
474
+ attr_writer :forward_metadata
475
+
476
+ # Integration secret identifier for the external LLM API key.
477
+ sig { returns(T.nilable(String)) }
478
+ attr_reader :llm_api_key_ref
479
+
480
+ sig { params(llm_api_key_ref: String).void }
481
+ attr_writer :llm_api_key_ref
482
+
483
+ # URL used to retrieve an access token when certificate authentication is enabled.
484
+ sig { returns(T.nilable(String)) }
485
+ attr_reader :token_retrieval_url
486
+
487
+ sig { params(token_retrieval_url: String).void }
488
+ attr_writer :token_retrieval_url
489
+
490
+ sig do
491
+ params(
492
+ base_url: String,
493
+ model: String,
494
+ authentication_method:
495
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::OrSymbol,
496
+ certificate_ref: String,
497
+ forward_metadata: T::Boolean,
498
+ llm_api_key_ref: String,
499
+ token_retrieval_url: String
500
+ ).returns(T.attached_class)
501
+ end
502
+ def self.new(
503
+ # Base URL for the external LLM endpoint.
504
+ base_url:,
505
+ # Model identifier to use with the external LLM endpoint.
506
+ model:,
507
+ # Authentication method used when connecting to the external LLM endpoint.
508
+ authentication_method: nil,
509
+ # Integration secret identifier for the client certificate used with certificate
510
+ # authentication.
511
+ certificate_ref: nil,
512
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
513
+ # LLM endpoint. Defaults to false. The chat completion request includes a
514
+ # top-level `extra_metadata` object when dynamic variables are available. For
515
+ # example:
516
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
517
+ forward_metadata: nil,
518
+ # Integration secret identifier for the external LLM API key.
519
+ llm_api_key_ref: nil,
520
+ # URL used to retrieve an access token when certificate authentication is enabled.
521
+ token_retrieval_url: nil
522
+ )
523
+ end
524
+
525
+ sig do
526
+ override.returns(
527
+ {
528
+ base_url: String,
529
+ model: String,
530
+ authentication_method:
531
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::OrSymbol,
532
+ certificate_ref: String,
533
+ forward_metadata: T::Boolean,
534
+ llm_api_key_ref: String,
535
+ token_retrieval_url: String
536
+ }
537
+ )
538
+ end
539
+ def to_hash
540
+ end
541
+
542
+ # Authentication method used when connecting to the external LLM endpoint.
543
+ module AuthenticationMethod
544
+ extend Telnyx::Internal::Type::Enum
545
+
546
+ TaggedSymbol =
547
+ T.type_alias do
548
+ T.all(
549
+ Symbol,
550
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod
551
+ )
552
+ end
553
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
554
+
555
+ TOKEN =
556
+ T.let(
557
+ :token,
558
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::TaggedSymbol
559
+ )
560
+ CERTIFICATE =
561
+ T.let(
562
+ :certificate,
563
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::TaggedSymbol
564
+ )
565
+
566
+ sig do
567
+ override.returns(
568
+ T::Array[
569
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::AuthenticationMethod::TaggedSymbol
570
+ ]
571
+ )
572
+ end
573
+ def self.values
574
+ end
575
+ end
576
+ end
577
+
578
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
579
+ OrHash =
580
+ T.type_alias do
581
+ T.any(
582
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig,
583
+ Telnyx::Internal::AnyHash
584
+ )
585
+ end
586
+
587
+ sig do
588
+ returns(
589
+ T.nilable(
590
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm
591
+ )
592
+ )
593
+ end
594
+ attr_reader :external_llm
595
+
596
+ sig do
597
+ params(
598
+ external_llm:
599
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::OrHash
600
+ ).void
601
+ end
602
+ attr_writer :external_llm
603
+
604
+ # Integration secret identifier for the fallback model API key.
605
+ sig { returns(T.nilable(String)) }
606
+ attr_reader :llm_api_key_ref
607
+
608
+ sig { params(llm_api_key_ref: String).void }
609
+ attr_writer :llm_api_key_ref
610
+
611
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
612
+ # unavailable.
613
+ sig { returns(T.nilable(String)) }
614
+ attr_reader :model
615
+
616
+ sig { params(model: String).void }
617
+ attr_writer :model
618
+
619
+ sig do
620
+ params(
621
+ external_llm:
622
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::OrHash,
623
+ llm_api_key_ref: String,
624
+ model: String
625
+ ).returns(T.attached_class)
626
+ end
627
+ def self.new(
628
+ external_llm: nil,
629
+ # Integration secret identifier for the fallback model API key.
630
+ llm_api_key_ref: nil,
631
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
632
+ # unavailable.
633
+ model: nil
634
+ )
635
+ end
636
+
637
+ sig do
638
+ override.returns(
639
+ {
640
+ external_llm:
641
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm,
642
+ llm_api_key_ref: String,
643
+ model: String
644
+ }
645
+ )
646
+ end
647
+ def to_hash
648
+ end
649
+
650
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
651
+ OrHash =
652
+ T.type_alias do
653
+ T.any(
654
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm,
655
+ Telnyx::Internal::AnyHash
656
+ )
657
+ end
658
+
659
+ # Base URL for the external LLM endpoint.
660
+ sig { returns(String) }
661
+ attr_accessor :base_url
662
+
663
+ # Model identifier to use with the external LLM endpoint.
664
+ sig { returns(String) }
665
+ attr_accessor :model
666
+
667
+ # Authentication method used when connecting to the external LLM endpoint.
668
+ sig do
669
+ returns(
670
+ T.nilable(
671
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
672
+ )
673
+ )
674
+ end
675
+ attr_reader :authentication_method
676
+
677
+ sig do
678
+ params(
679
+ authentication_method:
680
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
681
+ ).void
682
+ end
683
+ attr_writer :authentication_method
684
+
685
+ # Integration secret identifier for the client certificate used with certificate
686
+ # authentication.
687
+ sig { returns(T.nilable(String)) }
688
+ attr_reader :certificate_ref
689
+
690
+ sig { params(certificate_ref: String).void }
691
+ attr_writer :certificate_ref
692
+
693
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
694
+ # LLM endpoint. Defaults to false. The chat completion request includes a
695
+ # top-level `extra_metadata` object when dynamic variables are available. For
696
+ # example:
697
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
698
+ sig { returns(T.nilable(T::Boolean)) }
699
+ attr_reader :forward_metadata
700
+
701
+ sig { params(forward_metadata: T::Boolean).void }
702
+ attr_writer :forward_metadata
703
+
704
+ # Integration secret identifier for the external LLM API key.
705
+ sig { returns(T.nilable(String)) }
706
+ attr_reader :llm_api_key_ref
707
+
708
+ sig { params(llm_api_key_ref: String).void }
709
+ attr_writer :llm_api_key_ref
710
+
711
+ # URL used to retrieve an access token when certificate authentication is enabled.
712
+ sig { returns(T.nilable(String)) }
713
+ attr_reader :token_retrieval_url
714
+
715
+ sig { params(token_retrieval_url: String).void }
716
+ attr_writer :token_retrieval_url
717
+
718
+ sig do
719
+ params(
720
+ base_url: String,
721
+ model: String,
722
+ authentication_method:
723
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
724
+ certificate_ref: String,
725
+ forward_metadata: T::Boolean,
726
+ llm_api_key_ref: String,
727
+ token_retrieval_url: String
728
+ ).returns(T.attached_class)
729
+ end
730
+ def self.new(
731
+ # Base URL for the external LLM endpoint.
732
+ base_url:,
733
+ # Model identifier to use with the external LLM endpoint.
734
+ model:,
735
+ # Authentication method used when connecting to the external LLM endpoint.
736
+ authentication_method: nil,
737
+ # Integration secret identifier for the client certificate used with certificate
738
+ # authentication.
739
+ certificate_ref: nil,
740
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
741
+ # LLM endpoint. Defaults to false. The chat completion request includes a
742
+ # top-level `extra_metadata` object when dynamic variables are available. For
743
+ # example:
744
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
745
+ forward_metadata: nil,
746
+ # Integration secret identifier for the external LLM API key.
747
+ llm_api_key_ref: nil,
748
+ # URL used to retrieve an access token when certificate authentication is enabled.
749
+ token_retrieval_url: nil
750
+ )
751
+ end
752
+
753
+ sig do
754
+ override.returns(
755
+ {
756
+ base_url: String,
757
+ model: String,
758
+ authentication_method:
759
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
760
+ certificate_ref: String,
761
+ forward_metadata: T::Boolean,
762
+ llm_api_key_ref: String,
763
+ token_retrieval_url: String
764
+ }
765
+ )
766
+ end
767
+ def to_hash
768
+ end
769
+
770
+ # Authentication method used when connecting to the external LLM endpoint.
771
+ module AuthenticationMethod
772
+ extend Telnyx::Internal::Type::Enum
773
+
774
+ TaggedSymbol =
775
+ T.type_alias do
776
+ T.all(
777
+ Symbol,
778
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod
779
+ )
780
+ end
781
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
782
+
783
+ TOKEN =
784
+ T.let(
785
+ :token,
786
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
787
+ )
788
+ CERTIFICATE =
789
+ T.let(
790
+ :certificate,
791
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
792
+ )
793
+
794
+ sig do
795
+ override.returns(
796
+ T::Array[
797
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
798
+ ]
799
+ )
800
+ end
801
+ def self.values
802
+ end
803
+ end
804
+ end
805
+ end
806
+
382
807
  class PostConversationSettings < Telnyx::Internal::Type::BaseModel
383
808
  OrHash =
384
809
  T.type_alias do