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