telnyx 5.89.0 → 5.91.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 (57) 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 +9 -227
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -227
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -232
  7. data/lib/telnyx/models/ai/external_llm.rb +87 -0
  8. data/lib/telnyx/models/ai/external_llm_req.rb +87 -0
  9. data/lib/telnyx/models/ai/fallback_config.rb +37 -0
  10. data/lib/telnyx/models/ai/fallback_config_req.rb +37 -0
  11. data/lib/telnyx/models/ai/inference_embedding.rb +9 -230
  12. data/lib/telnyx/models/ai/post_conversation_settings.rb +30 -0
  13. data/lib/telnyx/models/ai/post_conversation_settings_req.rb +30 -0
  14. data/lib/telnyx/models/message_send_whatsapp_params.rb +9 -1
  15. data/lib/telnyx/models/whatsapp/phone_numbers/profile_update_params.rb +17 -1
  16. data/lib/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rb +8 -1
  17. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  18. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  19. data/lib/telnyx/resources/messages.rb +3 -1
  20. data/lib/telnyx/resources/whatsapp/phone_numbers/profile.rb +3 -1
  21. data/lib/telnyx/version.rb +1 -1
  22. data/lib/telnyx.rb +6 -0
  23. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -455
  24. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -455
  25. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -461
  26. data/rbi/telnyx/models/ai/external_llm.rbi +157 -0
  27. data/rbi/telnyx/models/ai/external_llm_req.rbi +157 -0
  28. data/rbi/telnyx/models/ai/fallback_config.rbi +64 -0
  29. data/rbi/telnyx/models/ai/fallback_config_req.rbi +64 -0
  30. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -452
  31. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +45 -0
  32. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +45 -0
  33. data/rbi/telnyx/models/message_send_whatsapp_params.rbi +11 -0
  34. data/rbi/telnyx/models/whatsapp/phone_numbers/profile_update_params.rbi +11 -0
  35. data/rbi/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rbi +9 -0
  36. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -5
  37. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  38. data/rbi/telnyx/resources/messages.rbi +3 -0
  39. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile.rbi +3 -0
  40. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -205
  41. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -205
  42. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -205
  43. data/sig/telnyx/models/ai/external_llm.rbs +75 -0
  44. data/sig/telnyx/models/ai/external_llm_req.rbs +75 -0
  45. data/sig/telnyx/models/ai/fallback_config.rbs +38 -0
  46. data/sig/telnyx/models/ai/fallback_config_req.rbs +40 -0
  47. data/sig/telnyx/models/ai/inference_embedding.rbs +17 -206
  48. data/sig/telnyx/models/ai/post_conversation_settings.rbs +17 -0
  49. data/sig/telnyx/models/ai/post_conversation_settings_req.rbs +17 -0
  50. data/sig/telnyx/models/message_send_whatsapp_params.rbs +7 -0
  51. data/sig/telnyx/models/whatsapp/phone_numbers/profile_update_params.rbs +7 -0
  52. data/sig/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rbs +7 -0
  53. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  54. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  55. data/sig/telnyx/resources/messages.rbs +1 -0
  56. data/sig/telnyx/resources/whatsapp/phone_numbers/profile.rbs +1 -0
  57. metadata +20 -2
@@ -50,33 +50,17 @@ 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
53
+ sig { returns(T.nilable(Telnyx::AI::ExternalLlmReq)) }
58
54
  attr_reader :external_llm
59
55
 
60
- sig do
61
- params(
62
- external_llm:
63
- Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::OrHash
64
- ).void
65
- end
56
+ sig { params(external_llm: Telnyx::AI::ExternalLlmReq::OrHash).void }
66
57
  attr_writer :external_llm
67
58
 
68
- sig do
69
- returns(
70
- T.nilable(Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig)
71
- )
72
- end
59
+ sig { returns(T.nilable(Telnyx::AI::FallbackConfigReq)) }
73
60
  attr_reader :fallback_config
74
61
 
75
62
  sig do
76
- params(
77
- fallback_config:
78
- Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::OrHash
79
- ).void
63
+ params(fallback_config: Telnyx::AI::FallbackConfigReq::OrHash).void
80
64
  end
81
65
  attr_writer :fallback_config
82
66
 
@@ -160,19 +144,13 @@ module Telnyx
160
144
  # can execute multiple parallel or sequential tools during this phase.
161
145
  # Telephony-control tools (e.g. hangup, transfer) are unavailable
162
146
  # post-conversation. Beta feature.
163
- sig do
164
- returns(
165
- T.nilable(
166
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings
167
- )
168
- )
169
- end
147
+ sig { returns(T.nilable(Telnyx::AI::PostConversationSettingsReq)) }
170
148
  attr_reader :post_conversation_settings
171
149
 
172
150
  sig do
173
151
  params(
174
152
  post_conversation_settings:
175
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings::OrHash
153
+ Telnyx::AI::PostConversationSettingsReq::OrHash
176
154
  ).void
177
155
  end
178
156
  attr_writer :post_conversation_settings
@@ -277,10 +255,8 @@ module Telnyx
277
255
  dynamic_variables: T::Hash[Symbol, T.anything],
278
256
  dynamic_variables_webhook_url: String,
279
257
  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,
258
+ external_llm: Telnyx::AI::ExternalLlmReq::OrHash,
259
+ fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
284
260
  greeting: String,
285
261
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
286
262
  instructions: String,
@@ -290,7 +266,7 @@ module Telnyx
290
266
  name: String,
291
267
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
292
268
  post_conversation_settings:
293
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings::OrHash,
269
+ Telnyx::AI::PostConversationSettingsReq::OrHash,
294
270
  privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
295
271
  telephony_settings: Telnyx::AI::TelephonySettings::OrHash,
296
272
  tool_ids: T::Array[String],
@@ -378,10 +354,8 @@ module Telnyx
378
354
  dynamic_variables_webhook_url: String,
379
355
  enabled_features:
380
356
  T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
381
- external_llm:
382
- Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm,
383
- fallback_config:
384
- Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig,
357
+ external_llm: Telnyx::AI::ExternalLlmReq,
358
+ fallback_config: Telnyx::AI::FallbackConfigReq,
385
359
  greeting: String,
386
360
  insight_settings: Telnyx::AI::InsightSettings,
387
361
  instructions: String,
@@ -391,7 +365,7 @@ module Telnyx
391
365
  name: String,
392
366
  observability_settings: Telnyx::AI::ObservabilityReq,
393
367
  post_conversation_settings:
394
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings,
368
+ Telnyx::AI::PostConversationSettingsReq,
395
369
  privacy_settings: Telnyx::AI::PrivacySettings,
396
370
  telephony_settings: Telnyx::AI::TelephonySettings,
397
371
  tool_ids: T::Array[String],
@@ -418,429 +392,6 @@ module Telnyx
418
392
  end
419
393
  def to_hash
420
394
  end
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
-
807
- class PostConversationSettings < Telnyx::Internal::Type::BaseModel
808
- OrHash =
809
- T.type_alias do
810
- T.any(
811
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings,
812
- Telnyx::Internal::AnyHash
813
- )
814
- end
815
-
816
- # Whether post-conversation processing is enabled. When true, the assistant will
817
- # be invoked after the conversation ends to perform any final tool calls. Defaults
818
- # to false.
819
- sig { returns(T.nilable(T::Boolean)) }
820
- attr_reader :enabled
821
-
822
- sig { params(enabled: T::Boolean).void }
823
- attr_writer :enabled
824
-
825
- # Configuration for post-conversation processing. When enabled, the assistant
826
- # receives one additional LLM turn after the conversation ends, allowing it to
827
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
828
- # can execute multiple parallel or sequential tools during this phase.
829
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
830
- # post-conversation. Beta feature.
831
- sig { params(enabled: T::Boolean).returns(T.attached_class) }
832
- def self.new(
833
- # Whether post-conversation processing is enabled. When true, the assistant will
834
- # be invoked after the conversation ends to perform any final tool calls. Defaults
835
- # to false.
836
- enabled: nil
837
- )
838
- end
839
-
840
- sig { override.returns({ enabled: T::Boolean }) }
841
- def to_hash
842
- end
843
- end
844
395
  end
845
396
  end
846
397
  end
@@ -0,0 +1,157 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::ExternalLlm, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Base URL for the external LLM endpoint.
13
+ sig { returns(String) }
14
+ attr_accessor :base_url
15
+
16
+ # Model identifier to use with the external LLM endpoint.
17
+ sig { returns(String) }
18
+ attr_accessor :model
19
+
20
+ # Authentication method used when connecting to the external LLM endpoint.
21
+ sig do
22
+ returns(
23
+ T.nilable(
24
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::TaggedSymbol
25
+ )
26
+ )
27
+ end
28
+ attr_reader :authentication_method
29
+
30
+ sig do
31
+ params(
32
+ authentication_method:
33
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::OrSymbol
34
+ ).void
35
+ end
36
+ attr_writer :authentication_method
37
+
38
+ # Integration secret identifier for the client certificate used with certificate
39
+ # authentication.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :certificate_ref
42
+
43
+ sig { params(certificate_ref: String).void }
44
+ attr_writer :certificate_ref
45
+
46
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
47
+ # LLM endpoint. Defaults to false. The chat completion request includes a
48
+ # top-level `extra_metadata` object when dynamic variables are available. For
49
+ # example:
50
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
51
+ sig { returns(T.nilable(T::Boolean)) }
52
+ attr_reader :forward_metadata
53
+
54
+ sig { params(forward_metadata: T::Boolean).void }
55
+ attr_writer :forward_metadata
56
+
57
+ # Integration secret identifier for the external LLM API key.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :llm_api_key_ref
60
+
61
+ sig { params(llm_api_key_ref: String).void }
62
+ attr_writer :llm_api_key_ref
63
+
64
+ # URL used to retrieve an access token when certificate authentication is enabled.
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :token_retrieval_url
67
+
68
+ sig { params(token_retrieval_url: String).void }
69
+ attr_writer :token_retrieval_url
70
+
71
+ sig do
72
+ params(
73
+ base_url: String,
74
+ model: String,
75
+ authentication_method:
76
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::OrSymbol,
77
+ certificate_ref: String,
78
+ forward_metadata: T::Boolean,
79
+ llm_api_key_ref: String,
80
+ token_retrieval_url: String
81
+ ).returns(T.attached_class)
82
+ end
83
+ def self.new(
84
+ # Base URL for the external LLM endpoint.
85
+ base_url:,
86
+ # Model identifier to use with the external LLM endpoint.
87
+ model:,
88
+ # Authentication method used when connecting to the external LLM endpoint.
89
+ authentication_method: nil,
90
+ # Integration secret identifier for the client certificate used with certificate
91
+ # authentication.
92
+ certificate_ref: nil,
93
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
94
+ # LLM endpoint. Defaults to false. The chat completion request includes a
95
+ # top-level `extra_metadata` object when dynamic variables are available. For
96
+ # example:
97
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
98
+ forward_metadata: nil,
99
+ # Integration secret identifier for the external LLM API key.
100
+ llm_api_key_ref: nil,
101
+ # URL used to retrieve an access token when certificate authentication is enabled.
102
+ token_retrieval_url: nil
103
+ )
104
+ end
105
+
106
+ sig do
107
+ override.returns(
108
+ {
109
+ base_url: String,
110
+ model: String,
111
+ authentication_method:
112
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::TaggedSymbol,
113
+ certificate_ref: String,
114
+ forward_metadata: T::Boolean,
115
+ llm_api_key_ref: String,
116
+ token_retrieval_url: String
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # Authentication method used when connecting to the external LLM endpoint.
124
+ module AuthenticationMethod
125
+ extend Telnyx::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(Symbol, Telnyx::AI::ExternalLlm::AuthenticationMethod)
130
+ end
131
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
132
+
133
+ TOKEN =
134
+ T.let(
135
+ :token,
136
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::TaggedSymbol
137
+ )
138
+ CERTIFICATE =
139
+ T.let(
140
+ :certificate,
141
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::TaggedSymbol
142
+ )
143
+
144
+ sig do
145
+ override.returns(
146
+ T::Array[
147
+ Telnyx::AI::ExternalLlm::AuthenticationMethod::TaggedSymbol
148
+ ]
149
+ )
150
+ end
151
+ def self.values
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end