telnyx 5.90.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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/resources/ai/assistants/versions.rb +3 -3
  15. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  16. data/lib/telnyx/version.rb +1 -1
  17. data/lib/telnyx.rb +6 -0
  18. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -455
  19. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -455
  20. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -461
  21. data/rbi/telnyx/models/ai/external_llm.rbi +157 -0
  22. data/rbi/telnyx/models/ai/external_llm_req.rbi +157 -0
  23. data/rbi/telnyx/models/ai/fallback_config.rbi +64 -0
  24. data/rbi/telnyx/models/ai/fallback_config_req.rbi +64 -0
  25. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -452
  26. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +45 -0
  27. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +45 -0
  28. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -5
  29. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  30. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -205
  31. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -205
  32. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -205
  33. data/sig/telnyx/models/ai/external_llm.rbs +75 -0
  34. data/sig/telnyx/models/ai/external_llm_req.rbs +75 -0
  35. data/sig/telnyx/models/ai/fallback_config.rbs +38 -0
  36. data/sig/telnyx/models/ai/fallback_config_req.rbs +40 -0
  37. data/sig/telnyx/models/ai/inference_embedding.rbs +17 -206
  38. data/sig/telnyx/models/ai/post_conversation_settings.rbs +17 -0
  39. data/sig/telnyx/models/ai/post_conversation_settings_req.rbs +17 -0
  40. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  41. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  42. metadata +20 -2
@@ -66,27 +66,16 @@ module Telnyx
66
66
  end
67
67
  attr_writer :enabled_features
68
68
 
69
- sig { returns(T.nilable(Telnyx::AI::InferenceEmbedding::ExternalLlm)) }
69
+ sig { returns(T.nilable(Telnyx::AI::ExternalLlm)) }
70
70
  attr_reader :external_llm
71
71
 
72
- sig do
73
- params(
74
- external_llm: Telnyx::AI::InferenceEmbedding::ExternalLlm::OrHash
75
- ).void
76
- end
72
+ sig { params(external_llm: Telnyx::AI::ExternalLlm::OrHash).void }
77
73
  attr_writer :external_llm
78
74
 
79
- sig do
80
- returns(T.nilable(Telnyx::AI::InferenceEmbedding::FallbackConfig))
81
- end
75
+ sig { returns(T.nilable(Telnyx::AI::FallbackConfig)) }
82
76
  attr_reader :fallback_config
83
77
 
84
- sig do
85
- params(
86
- fallback_config:
87
- Telnyx::AI::InferenceEmbedding::FallbackConfig::OrHash
88
- ).void
89
- end
78
+ sig { params(fallback_config: Telnyx::AI::FallbackConfig::OrHash).void }
90
79
  attr_writer :fallback_config
91
80
 
92
81
  # Text that the assistant will use to start the conversation. This may be
@@ -148,17 +137,13 @@ module Telnyx
148
137
  # can execute multiple parallel or sequential tools during this phase.
149
138
  # Telephony-control tools (e.g. hangup, transfer) are unavailable
150
139
  # post-conversation. Beta feature.
151
- sig do
152
- returns(
153
- T.nilable(Telnyx::AI::InferenceEmbedding::PostConversationSettings)
154
- )
155
- end
140
+ sig { returns(T.nilable(Telnyx::AI::PostConversationSettings)) }
156
141
  attr_reader :post_conversation_settings
157
142
 
158
143
  sig do
159
144
  params(
160
145
  post_conversation_settings:
161
- Telnyx::AI::InferenceEmbedding::PostConversationSettings::OrHash
146
+ Telnyx::AI::PostConversationSettings::OrHash
162
147
  ).void
163
148
  end
164
149
  attr_writer :post_conversation_settings
@@ -239,9 +224,8 @@ module Telnyx
239
224
  dynamic_variables: T::Hash[Symbol, T.anything],
240
225
  dynamic_variables_webhook_url: String,
241
226
  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,
227
+ external_llm: Telnyx::AI::ExternalLlm::OrHash,
228
+ fallback_config: Telnyx::AI::FallbackConfig::OrHash,
245
229
  greeting: String,
246
230
  import_metadata: Telnyx::AI::ImportMetadata::OrHash,
247
231
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
@@ -249,7 +233,7 @@ module Telnyx
249
233
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
250
234
  observability_settings: Telnyx::AI::Observability::OrHash,
251
235
  post_conversation_settings:
252
- Telnyx::AI::InferenceEmbedding::PostConversationSettings::OrHash,
236
+ Telnyx::AI::PostConversationSettings::OrHash,
253
237
  privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
254
238
  telephony_settings: Telnyx::AI::TelephonySettings::OrHash,
255
239
  tools:
@@ -343,16 +327,15 @@ module Telnyx
343
327
  dynamic_variables_webhook_url: String,
344
328
  enabled_features:
345
329
  T::Array[Telnyx::AI::EnabledFeatures::TaggedSymbol],
346
- external_llm: Telnyx::AI::InferenceEmbedding::ExternalLlm,
347
- fallback_config: Telnyx::AI::InferenceEmbedding::FallbackConfig,
330
+ external_llm: Telnyx::AI::ExternalLlm,
331
+ fallback_config: Telnyx::AI::FallbackConfig,
348
332
  greeting: String,
349
333
  import_metadata: Telnyx::AI::ImportMetadata,
350
334
  insight_settings: Telnyx::AI::InsightSettings,
351
335
  llm_api_key_ref: String,
352
336
  messaging_settings: Telnyx::AI::MessagingSettings,
353
337
  observability_settings: Telnyx::AI::Observability,
354
- post_conversation_settings:
355
- Telnyx::AI::InferenceEmbedding::PostConversationSettings,
338
+ post_conversation_settings: Telnyx::AI::PostConversationSettings,
356
339
  privacy_settings: Telnyx::AI::PrivacySettings,
357
340
  telephony_settings: Telnyx::AI::TelephonySettings,
358
341
  tools: T::Array[Telnyx::AI::AssistantTool::Variants],
@@ -364,429 +347,6 @@ module Telnyx
364
347
  end
365
348
  def to_hash
366
349
  end
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
-
753
- class PostConversationSettings < Telnyx::Internal::Type::BaseModel
754
- OrHash =
755
- T.type_alias do
756
- T.any(
757
- Telnyx::AI::InferenceEmbedding::PostConversationSettings,
758
- Telnyx::Internal::AnyHash
759
- )
760
- end
761
-
762
- # Whether post-conversation processing is enabled. When true, the assistant will
763
- # be invoked after the conversation ends to perform any final tool calls. Defaults
764
- # to false.
765
- sig { returns(T.nilable(T::Boolean)) }
766
- attr_reader :enabled
767
-
768
- sig { params(enabled: T::Boolean).void }
769
- attr_writer :enabled
770
-
771
- # Configuration for post-conversation processing. When enabled, the assistant
772
- # receives one additional LLM turn after the conversation ends, allowing it to
773
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
774
- # can execute multiple parallel or sequential tools during this phase.
775
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
776
- # post-conversation. Beta feature.
777
- sig { params(enabled: T::Boolean).returns(T.attached_class) }
778
- def self.new(
779
- # Whether post-conversation processing is enabled. When true, the assistant will
780
- # be invoked after the conversation ends to perform any final tool calls. Defaults
781
- # to false.
782
- enabled: nil
783
- )
784
- end
785
-
786
- sig { override.returns({ enabled: T::Boolean }) }
787
- def to_hash
788
- end
789
- end
790
350
  end
791
351
  end
792
352
  end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class PostConversationSettings < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::AI::PostConversationSettings,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Whether post-conversation processing is enabled. When true, the assistant will
16
+ # be invoked after the conversation ends to perform any final tool calls. Defaults
17
+ # to false.
18
+ sig { returns(T.nilable(T::Boolean)) }
19
+ attr_reader :enabled
20
+
21
+ sig { params(enabled: T::Boolean).void }
22
+ attr_writer :enabled
23
+
24
+ # Configuration for post-conversation processing. When enabled, the assistant
25
+ # receives one additional LLM turn after the conversation ends, allowing it to
26
+ # execute tool calls such as logging to a CRM or sending a summary. The assistant
27
+ # can execute multiple parallel or sequential tools during this phase.
28
+ # Telephony-control tools (e.g. hangup, transfer) are unavailable
29
+ # post-conversation. Beta feature.
30
+ sig { params(enabled: T::Boolean).returns(T.attached_class) }
31
+ def self.new(
32
+ # Whether post-conversation processing is enabled. When true, the assistant will
33
+ # be invoked after the conversation ends to perform any final tool calls. Defaults
34
+ # to false.
35
+ enabled: nil
36
+ )
37
+ end
38
+
39
+ sig { override.returns({ enabled: T::Boolean }) }
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class PostConversationSettingsReq < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::AI::PostConversationSettingsReq,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Whether post-conversation processing is enabled. When true, the assistant will
16
+ # be invoked after the conversation ends to perform any final tool calls. Defaults
17
+ # to false.
18
+ sig { returns(T.nilable(T::Boolean)) }
19
+ attr_reader :enabled
20
+
21
+ sig { params(enabled: T::Boolean).void }
22
+ attr_writer :enabled
23
+
24
+ # Configuration for post-conversation processing. When enabled, the assistant
25
+ # receives one additional LLM turn after the conversation ends, allowing it to
26
+ # execute tool calls such as logging to a CRM or sending a summary. The assistant
27
+ # can execute multiple parallel or sequential tools during this phase.
28
+ # Telephony-control tools (e.g. hangup, transfer) are unavailable
29
+ # post-conversation. Beta feature.
30
+ sig { params(enabled: T::Boolean).returns(T.attached_class) }
31
+ def self.new(
32
+ # Whether post-conversation processing is enabled. When true, the assistant will
33
+ # be invoked after the conversation ends to perform any final tool calls. Defaults
34
+ # to false.
35
+ enabled: nil
36
+ )
37
+ end
38
+
39
+ sig { override.returns({ enabled: T::Boolean }) }
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -36,10 +36,8 @@ module Telnyx
36
36
  dynamic_variables: T::Hash[Symbol, T.anything],
37
37
  dynamic_variables_webhook_url: String,
38
38
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
39
- external_llm:
40
- Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::OrHash,
41
- fallback_config:
42
- Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::OrHash,
39
+ external_llm: Telnyx::AI::ExternalLlmReq::OrHash,
40
+ fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
43
41
  greeting: String,
44
42
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
45
43
  instructions: String,
@@ -49,7 +47,7 @@ module Telnyx
49
47
  name: String,
50
48
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
51
49
  post_conversation_settings:
52
- Telnyx::AI::Assistants::UpdateAssistant::PostConversationSettings::OrHash,
50
+ Telnyx::AI::PostConversationSettingsReq::OrHash,
53
51
  privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
54
52
  telephony_settings: Telnyx::AI::TelephonySettings::OrHash,
55
53
  tool_ids: T::Array[String],
@@ -39,17 +39,15 @@ module Telnyx
39
39
  dynamic_variables: T::Hash[Symbol, T.anything],
40
40
  dynamic_variables_webhook_url: String,
41
41
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
42
- external_llm:
43
- Telnyx::AI::AssistantCreateParams::ExternalLlm::OrHash,
44
- fallback_config:
45
- Telnyx::AI::AssistantCreateParams::FallbackConfig::OrHash,
42
+ external_llm: Telnyx::AI::ExternalLlmReq::OrHash,
43
+ fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
46
44
  greeting: String,
47
45
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
48
46
  llm_api_key_ref: String,
49
47
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
50
48
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
51
49
  post_conversation_settings:
52
- Telnyx::AI::AssistantCreateParams::PostConversationSettings::OrHash,
50
+ Telnyx::AI::PostConversationSettingsReq::OrHash,
53
51
  privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
54
52
  telephony_settings: Telnyx::AI::TelephonySettings::OrHash,
55
53
  tool_ids: T::Array[String],
@@ -160,10 +158,8 @@ module Telnyx
160
158
  dynamic_variables: T::Hash[Symbol, T.anything],
161
159
  dynamic_variables_webhook_url: String,
162
160
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
163
- external_llm:
164
- Telnyx::AI::AssistantUpdateParams::ExternalLlm::OrHash,
165
- fallback_config:
166
- Telnyx::AI::AssistantUpdateParams::FallbackConfig::OrHash,
161
+ external_llm: Telnyx::AI::ExternalLlmReq::OrHash,
162
+ fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
167
163
  greeting: String,
168
164
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
169
165
  instructions: String,
@@ -173,7 +169,7 @@ module Telnyx
173
169
  name: String,
174
170
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
175
171
  post_conversation_settings:
176
- Telnyx::AI::AssistantUpdateParams::PostConversationSettings::OrHash,
172
+ Telnyx::AI::PostConversationSettingsReq::OrHash,
177
173
  privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
178
174
  promote_to_main: T::Boolean,
179
175
  telephony_settings: Telnyx::AI::TelephonySettings::OrHash,