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