telnyx 5.123.0 → 5.124.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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +5 -0
  5. data/lib/telnyx/models/ai/assistant_create_params.rb +780 -1
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +780 -1
  7. data/lib/telnyx/models/ai/assistants/update_assistant.rb +785 -1
  8. data/lib/telnyx/models/ai/inference_embedding.rb +767 -1
  9. data/lib/telnyx/models/{ai_create_response_params.rb → ai_create_response_deprecated_params.rb} +2 -2
  10. data/lib/telnyx/models/{ai_create_response_response.rb → ai_create_response_deprecated_response.rb} +1 -1
  11. data/lib/telnyx/models/call_dial_params.rb +276 -10
  12. data/lib/telnyx/models/calls/action_answer_params.rb +278 -10
  13. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +15 -4
  14. data/lib/telnyx/models/calls/action_speak_params.rb +15 -4
  15. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +431 -13
  16. data/lib/telnyx/models/calls/transcription_start_request.rb +173 -5
  17. data/lib/telnyx/models/conferences/action_speak_params.rb +15 -4
  18. data/lib/telnyx/models/messaging_profile_update_params.rb +9 -1
  19. data/lib/telnyx/models/sip_registration_status_retrieve_params.rb +45 -0
  20. data/lib/telnyx/models/sip_registration_status_retrieve_response.rb +160 -0
  21. data/lib/telnyx/models/speech_to_text_list_providers_params.rb +16 -5
  22. data/lib/telnyx/models/speech_to_text_list_providers_response.rb +55 -23
  23. data/lib/telnyx/models/voice_sdk_call_report_list_response.rb +114 -9
  24. data/lib/telnyx/models/voice_sdk_call_report_retrieve_response.rb +116 -9
  25. data/lib/telnyx/models/whatsapp/user_data_retrieve_response.rb +44 -3
  26. data/lib/telnyx/models/whatsapp/user_data_update_response.rb +44 -3
  27. data/lib/telnyx/models.rb +3 -9
  28. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  29. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  30. data/lib/telnyx/resources/ai.rb +4 -4
  31. data/lib/telnyx/resources/calls/actions.rb +6 -6
  32. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  33. data/lib/telnyx/resources/messaging_profiles.rb +3 -1
  34. data/lib/telnyx/resources/sip_registration_status.rb +45 -0
  35. data/lib/telnyx/resources/speech_to_text.rb +6 -5
  36. data/lib/telnyx/version.rb +1 -1
  37. data/lib/telnyx.rb +5 -9
  38. data/rbi/telnyx/client.rbi +4 -0
  39. data/rbi/telnyx/models/ai/assistant_create_params.rbi +1411 -0
  40. data/rbi/telnyx/models/ai/assistant_update_params.rbi +1411 -0
  41. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +1417 -0
  42. data/rbi/telnyx/models/ai/inference_embedding.rbi +1454 -0
  43. data/rbi/telnyx/models/{ai_create_response_params.rbi → ai_create_response_deprecated_params.rbi} +5 -2
  44. data/rbi/telnyx/models/{ai_create_response_response.rbi → ai_create_response_deprecated_response.rbi} +1 -1
  45. data/rbi/telnyx/models/call_dial_params.rbi +661 -13
  46. data/rbi/telnyx/models/calls/action_answer_params.rbi +659 -13
  47. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +30 -5
  48. data/rbi/telnyx/models/calls/action_speak_params.rbi +30 -5
  49. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1016 -17
  50. data/rbi/telnyx/models/calls/transcription_start_request.rbi +433 -10
  51. data/rbi/telnyx/models/conferences/action_speak_params.rbi +30 -5
  52. data/rbi/telnyx/models/messaging_profile_update_params.rbi +8 -0
  53. data/rbi/telnyx/models/sip_registration_status_retrieve_params.rbi +93 -0
  54. data/rbi/telnyx/models/sip_registration_status_retrieve_response.rbi +343 -0
  55. data/rbi/telnyx/models/speech_to_text_list_providers_params.rbi +27 -7
  56. data/rbi/telnyx/models/speech_to_text_list_providers_response.rbi +107 -43
  57. data/rbi/telnyx/models/voice_sdk_call_report_list_response.rbi +294 -9
  58. data/rbi/telnyx/models/voice_sdk_call_report_retrieve_response.rbi +294 -9
  59. data/rbi/telnyx/models/whatsapp/user_data_retrieve_response.rbi +96 -6
  60. data/rbi/telnyx/models/whatsapp/user_data_update_response.rbi +94 -6
  61. data/rbi/telnyx/models.rbi +5 -10
  62. data/rbi/telnyx/resources/ai/assistants/versions.rbi +8 -0
  63. data/rbi/telnyx/resources/ai/assistants.rbi +16 -0
  64. data/rbi/telnyx/resources/ai.rbi +1 -1
  65. data/rbi/telnyx/resources/calls/actions.rbi +10 -7
  66. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  67. data/rbi/telnyx/resources/messaging_profiles.rbi +3 -0
  68. data/rbi/telnyx/resources/sip_registration_status.rbi +34 -0
  69. data/rbi/telnyx/resources/speech_to_text.rbi +11 -5
  70. data/sig/telnyx/client.rbs +2 -0
  71. data/sig/telnyx/models/ai/assistant_create_params.rbs +508 -0
  72. data/sig/telnyx/models/ai/assistant_update_params.rbs +508 -0
  73. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +511 -0
  74. data/sig/telnyx/models/ai/inference_embedding.rbs +526 -0
  75. data/sig/telnyx/models/{ai_create_response_params.rbs → ai_create_response_deprecated_params.rbs} +2 -2
  76. data/sig/telnyx/models/ai_create_response_deprecated_response.rbs +7 -0
  77. data/sig/telnyx/models/call_dial_params.rbs +236 -13
  78. data/sig/telnyx/models/calls/action_answer_params.rbs +236 -13
  79. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +11 -1
  80. data/sig/telnyx/models/calls/action_speak_params.rbs +11 -1
  81. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +370 -19
  82. data/sig/telnyx/models/calls/transcription_start_request.rbs +175 -2
  83. data/sig/telnyx/models/conferences/action_speak_params.rbs +11 -1
  84. data/sig/telnyx/models/messaging_profile_update_params.rbs +5 -0
  85. data/sig/telnyx/models/sip_registration_status_retrieve_params.rbs +41 -0
  86. data/sig/telnyx/models/sip_registration_status_retrieve_response.rbs +164 -0
  87. data/sig/telnyx/models/speech_to_text_list_providers_params.rbs +4 -4
  88. data/sig/telnyx/models/speech_to_text_list_providers_response.rbs +33 -16
  89. data/sig/telnyx/models/voice_sdk_call_report_list_response.rbs +121 -8
  90. data/sig/telnyx/models/voice_sdk_call_report_retrieve_response.rbs +121 -8
  91. data/sig/telnyx/models/whatsapp/user_data_retrieve_response.rbs +57 -6
  92. data/sig/telnyx/models/whatsapp/user_data_update_response.rbs +57 -6
  93. data/sig/telnyx/models.rbs +3 -9
  94. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  95. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  96. data/sig/telnyx/resources/ai.rbs +2 -2
  97. data/sig/telnyx/resources/calls/actions.rbs +2 -2
  98. data/sig/telnyx/resources/messaging_profiles.rbs +1 -0
  99. data/sig/telnyx/resources/sip_registration_status.rbs +13 -0
  100. metadata +17 -29
  101. data/lib/telnyx/models/calls/transcription_engine_soniox_config.rb +0 -91
  102. data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +0 -100
  103. data/lib/telnyx/models/conversation_relay_interruption_settings.rb +0 -105
  104. data/lib/telnyx/models/conversation_relay_language.rb +0 -141
  105. data/lib/telnyx/models/inworld_voice_settings.rb +0 -28
  106. data/lib/telnyx/models/voice_sdk_call_report_log_entry.rb +0 -57
  107. data/lib/telnyx/models/whatsapp/whatsapp_user_data.rb +0 -49
  108. data/rbi/telnyx/models/calls/transcription_engine_soniox_config.rbi +0 -184
  109. data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +0 -289
  110. data/rbi/telnyx/models/conversation_relay_interruption_settings.rbi +0 -271
  111. data/rbi/telnyx/models/conversation_relay_language.rbi +0 -309
  112. data/rbi/telnyx/models/inworld_voice_settings.rbi +0 -53
  113. data/rbi/telnyx/models/voice_sdk_call_report_log_entry.rbi +0 -108
  114. data/rbi/telnyx/models/whatsapp/whatsapp_user_data.rbi +0 -82
  115. data/sig/telnyx/models/ai_create_response_response.rbs +0 -7
  116. data/sig/telnyx/models/calls/transcription_engine_soniox_config.rbs +0 -79
  117. data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +0 -114
  118. data/sig/telnyx/models/conversation_relay_interruption_settings.rbs +0 -88
  119. data/sig/telnyx/models/conversation_relay_language.rbs +0 -121
  120. data/sig/telnyx/models/inworld_voice_settings.rbs +0 -26
  121. data/sig/telnyx/models/voice_sdk_call_report_log_entry.rbs +0 -58
  122. data/sig/telnyx/models/whatsapp/whatsapp_user_data.rbs +0 -54
@@ -154,14 +154,18 @@ module Telnyx
154
154
 
155
155
  # Settings for handling caller interruptions during Conversation Relay speech.
156
156
  sig do
157
- returns(T.nilable(Telnyx::ConversationRelayInterruptionSettings))
157
+ returns(
158
+ T.nilable(
159
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings
160
+ )
161
+ )
158
162
  end
159
163
  attr_reader :interruption_settings
160
164
 
161
165
  sig do
162
166
  params(
163
167
  interruption_settings:
164
- Telnyx::ConversationRelayInterruptionSettings::OrHash
168
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash
165
169
  ).void
166
170
  end
167
171
  attr_writer :interruption_settings
@@ -175,12 +179,23 @@ module Telnyx
175
179
  attr_writer :language
176
180
 
177
181
  # Per-language TTS and transcription settings.
178
- sig { returns(T.nilable(T::Array[Telnyx::ConversationRelayLanguage])) }
182
+ sig do
183
+ returns(
184
+ T.nilable(
185
+ T::Array[
186
+ Telnyx::Calls::ActionStartConversationRelayParams::Language
187
+ ]
188
+ )
189
+ )
190
+ end
179
191
  attr_reader :languages
180
192
 
181
193
  sig do
182
194
  params(
183
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash]
195
+ languages:
196
+ T::Array[
197
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
198
+ ]
184
199
  ).void
185
200
  end
186
201
  attr_writer :languages
@@ -302,7 +317,7 @@ module Telnyx
302
317
  Telnyx::AzureVoiceSettings,
303
318
  Telnyx::RimeVoiceSettings,
304
319
  Telnyx::ResembleVoiceSettings,
305
- Telnyx::InworldVoiceSettings,
320
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld,
306
321
  Telnyx::XaiVoiceSettings
307
322
  )
308
323
  )
@@ -321,7 +336,7 @@ module Telnyx
321
336
  Telnyx::AzureVoiceSettings::OrHash,
322
337
  Telnyx::RimeVoiceSettings::OrHash,
323
338
  Telnyx::ResembleVoiceSettings::OrHash,
324
- Telnyx::InworldVoiceSettings::OrHash,
339
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld::OrHash,
325
340
  Telnyx::XaiVoiceSettings::OrHash
326
341
  )
327
342
  ).void
@@ -347,9 +362,12 @@ module Telnyx
347
362
  interruptible_greeting:
348
363
  Telnyx::Calls::ActionStartConversationRelayParams::InterruptibleGreeting::OrSymbol,
349
364
  interruption_settings:
350
- Telnyx::ConversationRelayInterruptionSettings::OrHash,
365
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash,
351
366
  language: String,
352
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash],
367
+ languages:
368
+ T::Array[
369
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
370
+ ],
353
371
  provider: String,
354
372
  structured_provider: T::Hash[Symbol, T.anything],
355
373
  transcription: T::Hash[Symbol, T.anything],
@@ -368,7 +386,7 @@ module Telnyx
368
386
  Telnyx::AzureVoiceSettings::OrHash,
369
387
  Telnyx::RimeVoiceSettings::OrHash,
370
388
  Telnyx::ResembleVoiceSettings::OrHash,
371
- Telnyx::InworldVoiceSettings::OrHash,
389
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld::OrHash,
372
390
  Telnyx::XaiVoiceSettings::OrHash
373
391
  ),
374
392
  request_options: Telnyx::RequestOptions::OrHash
@@ -496,9 +514,12 @@ module Telnyx
496
514
  interruptible_greeting:
497
515
  Telnyx::Calls::ActionStartConversationRelayParams::InterruptibleGreeting::OrSymbol,
498
516
  interruption_settings:
499
- Telnyx::ConversationRelayInterruptionSettings,
517
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
500
518
  language: String,
501
- languages: T::Array[Telnyx::ConversationRelayLanguage],
519
+ languages:
520
+ T::Array[
521
+ Telnyx::Calls::ActionStartConversationRelayParams::Language
522
+ ],
502
523
  provider: String,
503
524
  structured_provider: T::Hash[Symbol, T.anything],
504
525
  transcription: T::Hash[Symbol, T.anything],
@@ -517,7 +538,7 @@ module Telnyx
517
538
  Telnyx::AzureVoiceSettings,
518
539
  Telnyx::RimeVoiceSettings,
519
540
  Telnyx::ResembleVoiceSettings,
520
- Telnyx::InworldVoiceSettings,
541
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld,
521
542
  Telnyx::XaiVoiceSettings
522
543
  ),
523
544
  request_options: Telnyx::RequestOptions
@@ -626,13 +647,22 @@ module Telnyx
626
647
 
627
648
  # Language-specific TTS and transcription settings.
628
649
  sig do
629
- returns(T.nilable(T::Array[Telnyx::ConversationRelayLanguage]))
650
+ returns(
651
+ T.nilable(
652
+ T::Array[
653
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language
654
+ ]
655
+ )
656
+ )
630
657
  end
631
658
  attr_reader :languages
632
659
 
633
660
  sig do
634
661
  params(
635
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash]
662
+ languages:
663
+ T::Array[
664
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::OrHash
665
+ ]
636
666
  ).void
637
667
  end
638
668
  attr_writer :languages
@@ -648,7 +678,10 @@ module Telnyx
648
678
  Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol,
649
679
  interruptible_greeting:
650
680
  Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol,
651
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash]
681
+ languages:
682
+ T::Array[
683
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::OrHash
684
+ ]
652
685
  ).returns(T.attached_class)
653
686
  end
654
687
  def self.new(
@@ -679,7 +712,10 @@ module Telnyx
679
712
  Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol,
680
713
  interruptible_greeting:
681
714
  Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol,
682
- languages: T::Array[Telnyx::ConversationRelayLanguage]
715
+ languages:
716
+ T::Array[
717
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language
718
+ ]
683
719
  }
684
720
  )
685
721
  end
@@ -779,6 +815,342 @@ module Telnyx
779
815
  def self.values
780
816
  end
781
817
  end
818
+
819
+ class Language < Telnyx::Internal::Type::BaseModel
820
+ OrHash =
821
+ T.type_alias do
822
+ T.any(
823
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language,
824
+ Telnyx::Internal::AnyHash
825
+ )
826
+ end
827
+
828
+ # BCP 47 language tag for this language configuration.
829
+ sig { returns(String) }
830
+ attr_accessor :language
831
+
832
+ # Conversation Relay speech model. Prefer
833
+ # `transcription_engine_config.transcription_model` when configuring
834
+ # speech-to-text.
835
+ sig { returns(T.nilable(String)) }
836
+ attr_reader :speech_model
837
+
838
+ sig { params(speech_model: String).void }
839
+ attr_writer :speech_model
840
+
841
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
842
+ # `Telnyx` are supported for backward compatibility. When provided in a
843
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
844
+ # `speech_model` for that language.
845
+ sig do
846
+ returns(
847
+ T.nilable(
848
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::OrSymbol
849
+ )
850
+ )
851
+ end
852
+ attr_reader :transcription_engine
853
+
854
+ sig do
855
+ params(
856
+ transcription_engine:
857
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::OrSymbol
858
+ ).void
859
+ end
860
+ attr_writer :transcription_engine
861
+
862
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
863
+ # same provider-specific options used by the Call Transcription Start command,
864
+ # such as `transcription_model`, without requiring the engine discriminator to be
865
+ # repeated inside this object.
866
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
867
+ attr_reader :transcription_engine_config
868
+
869
+ sig do
870
+ params(
871
+ transcription_engine_config: T::Hash[Symbol, T.anything]
872
+ ).void
873
+ end
874
+ attr_writer :transcription_engine_config
875
+
876
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
877
+ # when configuring speech-to-text.
878
+ sig { returns(T.nilable(String)) }
879
+ attr_reader :transcription_provider
880
+
881
+ sig { params(transcription_provider: String).void }
882
+ attr_writer :transcription_provider
883
+
884
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
885
+ # Telnyx derives the provider from the voice identifier.
886
+ sig { returns(T.nilable(String)) }
887
+ attr_reader :tts_provider
888
+
889
+ sig { params(tts_provider: String).void }
890
+ attr_writer :tts_provider
891
+
892
+ # Voice identifier for this language.
893
+ sig { returns(T.nilable(String)) }
894
+ attr_reader :voice
895
+
896
+ sig { params(voice: String).void }
897
+ attr_writer :voice
898
+
899
+ # The settings associated with the voice selected
900
+ sig do
901
+ returns(
902
+ T.nilable(
903
+ T.any(
904
+ Telnyx::Calls::ElevenLabsVoiceSettings,
905
+ Telnyx::Calls::TelnyxVoiceSettings,
906
+ Telnyx::Calls::AwsVoiceSettings,
907
+ Telnyx::MinimaxVoiceSettings,
908
+ Telnyx::AzureVoiceSettings,
909
+ Telnyx::RimeVoiceSettings,
910
+ Telnyx::ResembleVoiceSettings,
911
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld,
912
+ Telnyx::XaiVoiceSettings
913
+ )
914
+ )
915
+ )
916
+ end
917
+ attr_reader :voice_settings
918
+
919
+ sig do
920
+ params(
921
+ voice_settings:
922
+ T.any(
923
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
924
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
925
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
926
+ Telnyx::MinimaxVoiceSettings::OrHash,
927
+ Telnyx::AzureVoiceSettings::OrHash,
928
+ Telnyx::RimeVoiceSettings::OrHash,
929
+ Telnyx::ResembleVoiceSettings::OrHash,
930
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld::OrHash,
931
+ Telnyx::XaiVoiceSettings::OrHash
932
+ )
933
+ ).void
934
+ end
935
+ attr_writer :voice_settings
936
+
937
+ # Language-specific TTS and transcription settings for Conversation Relay.
938
+ sig do
939
+ params(
940
+ language: String,
941
+ speech_model: String,
942
+ transcription_engine:
943
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::OrSymbol,
944
+ transcription_engine_config: T::Hash[Symbol, T.anything],
945
+ transcription_provider: String,
946
+ tts_provider: String,
947
+ voice: String,
948
+ voice_settings:
949
+ T.any(
950
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
951
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
952
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
953
+ Telnyx::MinimaxVoiceSettings::OrHash,
954
+ Telnyx::AzureVoiceSettings::OrHash,
955
+ Telnyx::RimeVoiceSettings::OrHash,
956
+ Telnyx::ResembleVoiceSettings::OrHash,
957
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld::OrHash,
958
+ Telnyx::XaiVoiceSettings::OrHash
959
+ )
960
+ ).returns(T.attached_class)
961
+ end
962
+ def self.new(
963
+ # BCP 47 language tag for this language configuration.
964
+ language:,
965
+ # Conversation Relay speech model. Prefer
966
+ # `transcription_engine_config.transcription_model` when configuring
967
+ # speech-to-text.
968
+ speech_model: nil,
969
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
970
+ # `Telnyx` are supported for backward compatibility. When provided in a
971
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
972
+ # `speech_model` for that language.
973
+ transcription_engine: nil,
974
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
975
+ # same provider-specific options used by the Call Transcription Start command,
976
+ # such as `transcription_model`, without requiring the engine discriminator to be
977
+ # repeated inside this object.
978
+ transcription_engine_config: nil,
979
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
980
+ # when configuring speech-to-text.
981
+ transcription_provider: nil,
982
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
983
+ # Telnyx derives the provider from the voice identifier.
984
+ tts_provider: nil,
985
+ # Voice identifier for this language.
986
+ voice: nil,
987
+ # The settings associated with the voice selected
988
+ voice_settings: nil
989
+ )
990
+ end
991
+
992
+ sig do
993
+ override.returns(
994
+ {
995
+ language: String,
996
+ speech_model: String,
997
+ transcription_engine:
998
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::OrSymbol,
999
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1000
+ transcription_provider: String,
1001
+ tts_provider: String,
1002
+ voice: String,
1003
+ voice_settings:
1004
+ T.any(
1005
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1006
+ Telnyx::Calls::TelnyxVoiceSettings,
1007
+ Telnyx::Calls::AwsVoiceSettings,
1008
+ Telnyx::MinimaxVoiceSettings,
1009
+ Telnyx::AzureVoiceSettings,
1010
+ Telnyx::RimeVoiceSettings,
1011
+ Telnyx::ResembleVoiceSettings,
1012
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld,
1013
+ Telnyx::XaiVoiceSettings
1014
+ )
1015
+ }
1016
+ )
1017
+ end
1018
+ def to_hash
1019
+ end
1020
+
1021
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1022
+ # `Telnyx` are supported for backward compatibility. When provided in a
1023
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1024
+ # `speech_model` for that language.
1025
+ module TranscriptionEngine
1026
+ extend Telnyx::Internal::Type::Enum
1027
+
1028
+ TaggedSymbol =
1029
+ T.type_alias do
1030
+ T.all(
1031
+ Symbol,
1032
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine
1033
+ )
1034
+ end
1035
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1036
+
1037
+ GOOGLE =
1038
+ T.let(
1039
+ :Google,
1040
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1041
+ )
1042
+ TELNYX =
1043
+ T.let(
1044
+ :Telnyx,
1045
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1046
+ )
1047
+ DEEPGRAM =
1048
+ T.let(
1049
+ :Deepgram,
1050
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1051
+ )
1052
+ AZURE =
1053
+ T.let(
1054
+ :Azure,
1055
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1056
+ )
1057
+ X_AI =
1058
+ T.let(
1059
+ :xAI,
1060
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1061
+ )
1062
+ ASSEMBLY_AI =
1063
+ T.let(
1064
+ :AssemblyAI,
1065
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1066
+ )
1067
+ SPEECHMATICS =
1068
+ T.let(
1069
+ :Speechmatics,
1070
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1071
+ )
1072
+ SONIOX =
1073
+ T.let(
1074
+ :Soniox,
1075
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1076
+ )
1077
+ A =
1078
+ T.let(
1079
+ :A,
1080
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1081
+ )
1082
+ B =
1083
+ T.let(
1084
+ :B,
1085
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1086
+ )
1087
+
1088
+ sig do
1089
+ override.returns(
1090
+ T::Array[
1091
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::TranscriptionEngine::TaggedSymbol
1092
+ ]
1093
+ )
1094
+ end
1095
+ def self.values
1096
+ end
1097
+ end
1098
+
1099
+ # The settings associated with the voice selected
1100
+ module VoiceSettings
1101
+ extend Telnyx::Internal::Type::Union
1102
+
1103
+ Variants =
1104
+ T.type_alias do
1105
+ T.any(
1106
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1107
+ Telnyx::Calls::TelnyxVoiceSettings,
1108
+ Telnyx::Calls::AwsVoiceSettings,
1109
+ Telnyx::MinimaxVoiceSettings,
1110
+ Telnyx::AzureVoiceSettings,
1111
+ Telnyx::RimeVoiceSettings,
1112
+ Telnyx::ResembleVoiceSettings,
1113
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld,
1114
+ Telnyx::XaiVoiceSettings
1115
+ )
1116
+ end
1117
+
1118
+ class Inworld < Telnyx::Internal::Type::BaseModel
1119
+ OrHash =
1120
+ T.type_alias do
1121
+ T.any(
1122
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Inworld,
1123
+ Telnyx::Internal::AnyHash
1124
+ )
1125
+ end
1126
+
1127
+ # Voice settings provider type
1128
+ sig { returns(Symbol) }
1129
+ attr_accessor :type
1130
+
1131
+ sig { params(type: Symbol).returns(T.attached_class) }
1132
+ def self.new(
1133
+ # Voice settings provider type
1134
+ type: :inworld
1135
+ )
1136
+ end
1137
+
1138
+ sig { override.returns({ type: Symbol }) }
1139
+ def to_hash
1140
+ end
1141
+ end
1142
+
1143
+ sig do
1144
+ override.returns(
1145
+ T::Array[
1146
+ Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::VoiceSettings::Variants
1147
+ ]
1148
+ )
1149
+ end
1150
+ def self.variants
1151
+ end
1152
+ end
1153
+ end
782
1154
  end
783
1155
 
784
1156
  # Controls when caller input can interrupt assistant speech. `any` allows speech
@@ -875,6 +1247,608 @@ module Telnyx
875
1247
  end
876
1248
  end
877
1249
 
1250
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
1251
+ OrHash =
1252
+ T.type_alias do
1253
+ T.any(
1254
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
1255
+ Telnyx::Internal::AnyHash
1256
+ )
1257
+ end
1258
+
1259
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
1260
+ # equivalent to `interruptible=none`.
1261
+ sig { returns(T.nilable(T::Boolean)) }
1262
+ attr_reader :enable
1263
+
1264
+ sig { params(enable: T::Boolean).void }
1265
+ attr_writer :enable
1266
+
1267
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1268
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1269
+ # only; `dtmf` allows DTMF only.
1270
+ sig do
1271
+ returns(
1272
+ T.nilable(
1273
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
1274
+ )
1275
+ )
1276
+ end
1277
+ attr_reader :interruptible
1278
+
1279
+ sig do
1280
+ params(
1281
+ interruptible:
1282
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
1283
+ ).void
1284
+ end
1285
+ attr_writer :interruptible
1286
+
1287
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1288
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1289
+ # only; `dtmf` allows DTMF only.
1290
+ sig do
1291
+ returns(
1292
+ T.nilable(
1293
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
1294
+ )
1295
+ )
1296
+ end
1297
+ attr_reader :interruptible_greeting
1298
+
1299
+ sig do
1300
+ params(
1301
+ interruptible_greeting:
1302
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
1303
+ ).void
1304
+ end
1305
+ attr_writer :interruptible_greeting
1306
+
1307
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1308
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1309
+ # only; `dtmf` allows DTMF only.
1310
+ sig do
1311
+ returns(
1312
+ T.nilable(
1313
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1314
+ )
1315
+ )
1316
+ end
1317
+ attr_reader :welcome_greeting_interruptible
1318
+
1319
+ sig do
1320
+ params(
1321
+ welcome_greeting_interruptible:
1322
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1323
+ ).void
1324
+ end
1325
+ attr_writer :welcome_greeting_interruptible
1326
+
1327
+ # Settings for handling caller interruptions during Conversation Relay speech.
1328
+ sig do
1329
+ params(
1330
+ enable: T::Boolean,
1331
+ interruptible:
1332
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
1333
+ interruptible_greeting:
1334
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
1335
+ welcome_greeting_interruptible:
1336
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1337
+ ).returns(T.attached_class)
1338
+ end
1339
+ def self.new(
1340
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
1341
+ # equivalent to `interruptible=none`.
1342
+ enable: nil,
1343
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1344
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1345
+ # only; `dtmf` allows DTMF only.
1346
+ interruptible: nil,
1347
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1348
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1349
+ # only; `dtmf` allows DTMF only.
1350
+ interruptible_greeting: nil,
1351
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1352
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1353
+ # only; `dtmf` allows DTMF only.
1354
+ welcome_greeting_interruptible: nil
1355
+ )
1356
+ end
1357
+
1358
+ sig do
1359
+ override.returns(
1360
+ {
1361
+ enable: T::Boolean,
1362
+ interruptible:
1363
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
1364
+ interruptible_greeting:
1365
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
1366
+ welcome_greeting_interruptible:
1367
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1368
+ }
1369
+ )
1370
+ end
1371
+ def to_hash
1372
+ end
1373
+
1374
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1375
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1376
+ # only; `dtmf` allows DTMF only.
1377
+ module Interruptible
1378
+ extend Telnyx::Internal::Type::Enum
1379
+
1380
+ TaggedSymbol =
1381
+ T.type_alias do
1382
+ T.all(
1383
+ Symbol,
1384
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible
1385
+ )
1386
+ end
1387
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1388
+
1389
+ NONE =
1390
+ T.let(
1391
+ :none,
1392
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
1393
+ )
1394
+ ANY =
1395
+ T.let(
1396
+ :any,
1397
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
1398
+ )
1399
+ SPEECH =
1400
+ T.let(
1401
+ :speech,
1402
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
1403
+ )
1404
+ DTMF =
1405
+ T.let(
1406
+ :dtmf,
1407
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
1408
+ )
1409
+
1410
+ sig do
1411
+ override.returns(
1412
+ T::Array[
1413
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
1414
+ ]
1415
+ )
1416
+ end
1417
+ def self.values
1418
+ end
1419
+ end
1420
+
1421
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1422
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1423
+ # only; `dtmf` allows DTMF only.
1424
+ module InterruptibleGreeting
1425
+ extend Telnyx::Internal::Type::Enum
1426
+
1427
+ TaggedSymbol =
1428
+ T.type_alias do
1429
+ T.all(
1430
+ Symbol,
1431
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting
1432
+ )
1433
+ end
1434
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1435
+
1436
+ NONE =
1437
+ T.let(
1438
+ :none,
1439
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1440
+ )
1441
+ ANY =
1442
+ T.let(
1443
+ :any,
1444
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1445
+ )
1446
+ SPEECH =
1447
+ T.let(
1448
+ :speech,
1449
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1450
+ )
1451
+ DTMF =
1452
+ T.let(
1453
+ :dtmf,
1454
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1455
+ )
1456
+
1457
+ sig do
1458
+ override.returns(
1459
+ T::Array[
1460
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1461
+ ]
1462
+ )
1463
+ end
1464
+ def self.values
1465
+ end
1466
+ end
1467
+
1468
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1469
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1470
+ # only; `dtmf` allows DTMF only.
1471
+ module WelcomeGreetingInterruptible
1472
+ extend Telnyx::Internal::Type::Enum
1473
+
1474
+ TaggedSymbol =
1475
+ T.type_alias do
1476
+ T.all(
1477
+ Symbol,
1478
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible
1479
+ )
1480
+ end
1481
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1482
+
1483
+ NONE =
1484
+ T.let(
1485
+ :none,
1486
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1487
+ )
1488
+ ANY =
1489
+ T.let(
1490
+ :any,
1491
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1492
+ )
1493
+ SPEECH =
1494
+ T.let(
1495
+ :speech,
1496
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1497
+ )
1498
+ DTMF =
1499
+ T.let(
1500
+ :dtmf,
1501
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1502
+ )
1503
+
1504
+ sig do
1505
+ override.returns(
1506
+ T::Array[
1507
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1508
+ ]
1509
+ )
1510
+ end
1511
+ def self.values
1512
+ end
1513
+ end
1514
+ end
1515
+
1516
+ class Language < Telnyx::Internal::Type::BaseModel
1517
+ OrHash =
1518
+ T.type_alias do
1519
+ T.any(
1520
+ Telnyx::Calls::ActionStartConversationRelayParams::Language,
1521
+ Telnyx::Internal::AnyHash
1522
+ )
1523
+ end
1524
+
1525
+ # BCP 47 language tag for this language configuration.
1526
+ sig { returns(String) }
1527
+ attr_accessor :language
1528
+
1529
+ # Conversation Relay speech model. Prefer
1530
+ # `transcription_engine_config.transcription_model` when configuring
1531
+ # speech-to-text.
1532
+ sig { returns(T.nilable(String)) }
1533
+ attr_reader :speech_model
1534
+
1535
+ sig { params(speech_model: String).void }
1536
+ attr_writer :speech_model
1537
+
1538
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1539
+ # `Telnyx` are supported for backward compatibility. When provided in a
1540
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1541
+ # `speech_model` for that language.
1542
+ sig do
1543
+ returns(
1544
+ T.nilable(
1545
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::OrSymbol
1546
+ )
1547
+ )
1548
+ end
1549
+ attr_reader :transcription_engine
1550
+
1551
+ sig do
1552
+ params(
1553
+ transcription_engine:
1554
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::OrSymbol
1555
+ ).void
1556
+ end
1557
+ attr_writer :transcription_engine
1558
+
1559
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
1560
+ # same provider-specific options used by the Call Transcription Start command,
1561
+ # such as `transcription_model`, without requiring the engine discriminator to be
1562
+ # repeated inside this object.
1563
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
1564
+ attr_reader :transcription_engine_config
1565
+
1566
+ sig do
1567
+ params(
1568
+ transcription_engine_config: T::Hash[Symbol, T.anything]
1569
+ ).void
1570
+ end
1571
+ attr_writer :transcription_engine_config
1572
+
1573
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
1574
+ # when configuring speech-to-text.
1575
+ sig { returns(T.nilable(String)) }
1576
+ attr_reader :transcription_provider
1577
+
1578
+ sig { params(transcription_provider: String).void }
1579
+ attr_writer :transcription_provider
1580
+
1581
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
1582
+ # Telnyx derives the provider from the voice identifier.
1583
+ sig { returns(T.nilable(String)) }
1584
+ attr_reader :tts_provider
1585
+
1586
+ sig { params(tts_provider: String).void }
1587
+ attr_writer :tts_provider
1588
+
1589
+ # Voice identifier for this language.
1590
+ sig { returns(T.nilable(String)) }
1591
+ attr_reader :voice
1592
+
1593
+ sig { params(voice: String).void }
1594
+ attr_writer :voice
1595
+
1596
+ # The settings associated with the voice selected
1597
+ sig do
1598
+ returns(
1599
+ T.nilable(
1600
+ T.any(
1601
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1602
+ Telnyx::Calls::TelnyxVoiceSettings,
1603
+ Telnyx::Calls::AwsVoiceSettings,
1604
+ Telnyx::MinimaxVoiceSettings,
1605
+ Telnyx::AzureVoiceSettings,
1606
+ Telnyx::RimeVoiceSettings,
1607
+ Telnyx::ResembleVoiceSettings,
1608
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld,
1609
+ Telnyx::XaiVoiceSettings
1610
+ )
1611
+ )
1612
+ )
1613
+ end
1614
+ attr_reader :voice_settings
1615
+
1616
+ sig do
1617
+ params(
1618
+ voice_settings:
1619
+ T.any(
1620
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
1621
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
1622
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
1623
+ Telnyx::MinimaxVoiceSettings::OrHash,
1624
+ Telnyx::AzureVoiceSettings::OrHash,
1625
+ Telnyx::RimeVoiceSettings::OrHash,
1626
+ Telnyx::ResembleVoiceSettings::OrHash,
1627
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld::OrHash,
1628
+ Telnyx::XaiVoiceSettings::OrHash
1629
+ )
1630
+ ).void
1631
+ end
1632
+ attr_writer :voice_settings
1633
+
1634
+ # Language-specific TTS and transcription settings for Conversation Relay.
1635
+ sig do
1636
+ params(
1637
+ language: String,
1638
+ speech_model: String,
1639
+ transcription_engine:
1640
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::OrSymbol,
1641
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1642
+ transcription_provider: String,
1643
+ tts_provider: String,
1644
+ voice: String,
1645
+ voice_settings:
1646
+ T.any(
1647
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
1648
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
1649
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
1650
+ Telnyx::MinimaxVoiceSettings::OrHash,
1651
+ Telnyx::AzureVoiceSettings::OrHash,
1652
+ Telnyx::RimeVoiceSettings::OrHash,
1653
+ Telnyx::ResembleVoiceSettings::OrHash,
1654
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld::OrHash,
1655
+ Telnyx::XaiVoiceSettings::OrHash
1656
+ )
1657
+ ).returns(T.attached_class)
1658
+ end
1659
+ def self.new(
1660
+ # BCP 47 language tag for this language configuration.
1661
+ language:,
1662
+ # Conversation Relay speech model. Prefer
1663
+ # `transcription_engine_config.transcription_model` when configuring
1664
+ # speech-to-text.
1665
+ speech_model: nil,
1666
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1667
+ # `Telnyx` are supported for backward compatibility. When provided in a
1668
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1669
+ # `speech_model` for that language.
1670
+ transcription_engine: nil,
1671
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
1672
+ # same provider-specific options used by the Call Transcription Start command,
1673
+ # such as `transcription_model`, without requiring the engine discriminator to be
1674
+ # repeated inside this object.
1675
+ transcription_engine_config: nil,
1676
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
1677
+ # when configuring speech-to-text.
1678
+ transcription_provider: nil,
1679
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
1680
+ # Telnyx derives the provider from the voice identifier.
1681
+ tts_provider: nil,
1682
+ # Voice identifier for this language.
1683
+ voice: nil,
1684
+ # The settings associated with the voice selected
1685
+ voice_settings: nil
1686
+ )
1687
+ end
1688
+
1689
+ sig do
1690
+ override.returns(
1691
+ {
1692
+ language: String,
1693
+ speech_model: String,
1694
+ transcription_engine:
1695
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::OrSymbol,
1696
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1697
+ transcription_provider: String,
1698
+ tts_provider: String,
1699
+ voice: String,
1700
+ voice_settings:
1701
+ T.any(
1702
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1703
+ Telnyx::Calls::TelnyxVoiceSettings,
1704
+ Telnyx::Calls::AwsVoiceSettings,
1705
+ Telnyx::MinimaxVoiceSettings,
1706
+ Telnyx::AzureVoiceSettings,
1707
+ Telnyx::RimeVoiceSettings,
1708
+ Telnyx::ResembleVoiceSettings,
1709
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld,
1710
+ Telnyx::XaiVoiceSettings
1711
+ )
1712
+ }
1713
+ )
1714
+ end
1715
+ def to_hash
1716
+ end
1717
+
1718
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1719
+ # `Telnyx` are supported for backward compatibility. When provided in a
1720
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1721
+ # `speech_model` for that language.
1722
+ module TranscriptionEngine
1723
+ extend Telnyx::Internal::Type::Enum
1724
+
1725
+ TaggedSymbol =
1726
+ T.type_alias do
1727
+ T.all(
1728
+ Symbol,
1729
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine
1730
+ )
1731
+ end
1732
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1733
+
1734
+ GOOGLE =
1735
+ T.let(
1736
+ :Google,
1737
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1738
+ )
1739
+ TELNYX =
1740
+ T.let(
1741
+ :Telnyx,
1742
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1743
+ )
1744
+ DEEPGRAM =
1745
+ T.let(
1746
+ :Deepgram,
1747
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1748
+ )
1749
+ AZURE =
1750
+ T.let(
1751
+ :Azure,
1752
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1753
+ )
1754
+ X_AI =
1755
+ T.let(
1756
+ :xAI,
1757
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1758
+ )
1759
+ ASSEMBLY_AI =
1760
+ T.let(
1761
+ :AssemblyAI,
1762
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1763
+ )
1764
+ SPEECHMATICS =
1765
+ T.let(
1766
+ :Speechmatics,
1767
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1768
+ )
1769
+ SONIOX =
1770
+ T.let(
1771
+ :Soniox,
1772
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1773
+ )
1774
+ A =
1775
+ T.let(
1776
+ :A,
1777
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1778
+ )
1779
+ B =
1780
+ T.let(
1781
+ :B,
1782
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1783
+ )
1784
+
1785
+ sig do
1786
+ override.returns(
1787
+ T::Array[
1788
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::TranscriptionEngine::TaggedSymbol
1789
+ ]
1790
+ )
1791
+ end
1792
+ def self.values
1793
+ end
1794
+ end
1795
+
1796
+ # The settings associated with the voice selected
1797
+ module VoiceSettings
1798
+ extend Telnyx::Internal::Type::Union
1799
+
1800
+ Variants =
1801
+ T.type_alias do
1802
+ T.any(
1803
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1804
+ Telnyx::Calls::TelnyxVoiceSettings,
1805
+ Telnyx::Calls::AwsVoiceSettings,
1806
+ Telnyx::MinimaxVoiceSettings,
1807
+ Telnyx::AzureVoiceSettings,
1808
+ Telnyx::RimeVoiceSettings,
1809
+ Telnyx::ResembleVoiceSettings,
1810
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld,
1811
+ Telnyx::XaiVoiceSettings
1812
+ )
1813
+ end
1814
+
1815
+ class Inworld < Telnyx::Internal::Type::BaseModel
1816
+ OrHash =
1817
+ T.type_alias do
1818
+ T.any(
1819
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Inworld,
1820
+ Telnyx::Internal::AnyHash
1821
+ )
1822
+ end
1823
+
1824
+ # Voice settings provider type
1825
+ sig { returns(Symbol) }
1826
+ attr_accessor :type
1827
+
1828
+ sig { params(type: Symbol).returns(T.attached_class) }
1829
+ def self.new(
1830
+ # Voice settings provider type
1831
+ type: :inworld
1832
+ )
1833
+ end
1834
+
1835
+ sig { override.returns({ type: Symbol }) }
1836
+ def to_hash
1837
+ end
1838
+ end
1839
+
1840
+ sig do
1841
+ override.returns(
1842
+ T::Array[
1843
+ Telnyx::Calls::ActionStartConversationRelayParams::Language::VoiceSettings::Variants
1844
+ ]
1845
+ )
1846
+ end
1847
+ def self.variants
1848
+ end
1849
+ end
1850
+ end
1851
+
878
1852
  # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
879
1853
  # `Telnyx` are supported for backward compatibility. For Conversation Relay, use
880
1854
  # this field with `transcription_engine_config`; the `transcription` object is not
@@ -967,11 +1941,36 @@ module Telnyx
967
1941
  Telnyx::AzureVoiceSettings,
968
1942
  Telnyx::RimeVoiceSettings,
969
1943
  Telnyx::ResembleVoiceSettings,
970
- Telnyx::InworldVoiceSettings,
1944
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld,
971
1945
  Telnyx::XaiVoiceSettings
972
1946
  )
973
1947
  end
974
1948
 
1949
+ class Inworld < Telnyx::Internal::Type::BaseModel
1950
+ OrHash =
1951
+ T.type_alias do
1952
+ T.any(
1953
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld,
1954
+ Telnyx::Internal::AnyHash
1955
+ )
1956
+ end
1957
+
1958
+ # Voice settings provider type
1959
+ sig { returns(Symbol) }
1960
+ attr_accessor :type
1961
+
1962
+ sig { params(type: Symbol).returns(T.attached_class) }
1963
+ def self.new(
1964
+ # Voice settings provider type
1965
+ type: :inworld
1966
+ )
1967
+ end
1968
+
1969
+ sig { override.returns({ type: Symbol }) }
1970
+ def to_hash
1971
+ end
1972
+ end
1973
+
975
1974
  sig do
976
1975
  override.returns(
977
1976
  T::Array[