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
@@ -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
@@ -27,6 +27,13 @@ module Telnyx
27
27
  end
28
28
  attr_writer :whatsapp_message
29
29
 
30
+ # Messaging profile ID - required if the 'from' number is not SMS-enabled
31
+ sig { returns(T.nilable(String)) }
32
+ attr_reader :messaging_profile_id
33
+
34
+ sig { params(messaging_profile_id: String).void }
35
+ attr_writer :messaging_profile_id
36
+
30
37
  # Message type - must be set to "WHATSAPP"
31
38
  sig do
32
39
  returns(T.nilable(Telnyx::MessageSendWhatsappParams::Type::OrSymbol))
@@ -50,6 +57,7 @@ module Telnyx
50
57
  from: String,
51
58
  to: String,
52
59
  whatsapp_message: Telnyx::WhatsappMessageContent::OrHash,
60
+ messaging_profile_id: String,
53
61
  type: Telnyx::MessageSendWhatsappParams::Type::OrSymbol,
54
62
  webhook_url: String,
55
63
  request_options: Telnyx::RequestOptions::OrHash
@@ -61,6 +69,8 @@ module Telnyx
61
69
  # Phone number in +E.164 format
62
70
  to:,
63
71
  whatsapp_message:,
72
+ # Messaging profile ID - required if the 'from' number is not SMS-enabled
73
+ messaging_profile_id: nil,
64
74
  # Message type - must be set to "WHATSAPP"
65
75
  type: nil,
66
76
  # The URL where webhooks related to this message will be sent.
@@ -75,6 +85,7 @@ module Telnyx
75
85
  from: String,
76
86
  to: String,
77
87
  whatsapp_message: Telnyx::WhatsappMessageContent,
88
+ messaging_profile_id: String,
78
89
  type: Telnyx::MessageSendWhatsappParams::Type::OrSymbol,
79
90
  webhook_url: String,
80
91
  request_options: Telnyx::RequestOptions
@@ -55,6 +55,13 @@ module Telnyx
55
55
  sig { params(email: String).void }
56
56
  attr_writer :email
57
57
 
58
+ # Messaging profile ID for inbound messages
59
+ sig { returns(T.nilable(String)) }
60
+ attr_reader :profile_id
61
+
62
+ sig { params(profile_id: String).void }
63
+ attr_writer :profile_id
64
+
58
65
  sig { returns(T.nilable(String)) }
59
66
  attr_reader :website
60
67
 
@@ -70,6 +77,7 @@ module Telnyx
70
77
  description: String,
71
78
  display_name: String,
72
79
  email: String,
80
+ profile_id: String,
73
81
  website: String,
74
82
  request_options: Telnyx::RequestOptions::OrHash
75
83
  ).returns(T.attached_class)
@@ -82,6 +90,8 @@ module Telnyx
82
90
  description: nil,
83
91
  display_name: nil,
84
92
  email: nil,
93
+ # Messaging profile ID for inbound messages
94
+ profile_id: nil,
85
95
  website: nil,
86
96
  request_options: {}
87
97
  )
@@ -97,6 +107,7 @@ module Telnyx
97
107
  description: String,
98
108
  display_name: String,
99
109
  email: String,
110
+ profile_id: String,
100
111
  website: String,
101
112
  request_options: Telnyx::RequestOptions
102
113
  }