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
@@ -716,14 +716,18 @@ module Telnyx
716
716
 
717
717
  # Settings for handling caller interruptions during Conversation Relay speech.
718
718
  sig do
719
- returns(T.nilable(Telnyx::ConversationRelayInterruptionSettings))
719
+ returns(
720
+ T.nilable(
721
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings
722
+ )
723
+ )
720
724
  end
721
725
  attr_reader :interruption_settings
722
726
 
723
727
  sig do
724
728
  params(
725
729
  interruption_settings:
726
- Telnyx::ConversationRelayInterruptionSettings::OrHash
730
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::OrHash
727
731
  ).void
728
732
  end
729
733
  attr_writer :interruption_settings
@@ -737,13 +741,22 @@ module Telnyx
737
741
 
738
742
  # Per-language TTS and transcription settings.
739
743
  sig do
740
- returns(T.nilable(T::Array[Telnyx::ConversationRelayLanguage]))
744
+ returns(
745
+ T.nilable(
746
+ T::Array[
747
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language
748
+ ]
749
+ )
750
+ )
741
751
  end
742
752
  attr_reader :languages
743
753
 
744
754
  sig do
745
755
  params(
746
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash]
756
+ languages:
757
+ T::Array[
758
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::OrHash
759
+ ]
747
760
  ).void
748
761
  end
749
762
  attr_writer :languages
@@ -851,7 +864,7 @@ module Telnyx
851
864
  Telnyx::AzureVoiceSettings,
852
865
  Telnyx::RimeVoiceSettings,
853
866
  Telnyx::ResembleVoiceSettings,
854
- Telnyx::InworldVoiceSettings,
867
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld,
855
868
  Telnyx::XaiVoiceSettings
856
869
  )
857
870
  )
@@ -870,7 +883,7 @@ module Telnyx
870
883
  Telnyx::AzureVoiceSettings::OrHash,
871
884
  Telnyx::RimeVoiceSettings::OrHash,
872
885
  Telnyx::ResembleVoiceSettings::OrHash,
873
- Telnyx::InworldVoiceSettings::OrHash,
886
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld::OrHash,
874
887
  Telnyx::XaiVoiceSettings::OrHash
875
888
  )
876
889
  ).void
@@ -894,9 +907,12 @@ module Telnyx
894
907
  interruptible_greeting:
895
908
  Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptibleGreeting::OrSymbol,
896
909
  interruption_settings:
897
- Telnyx::ConversationRelayInterruptionSettings::OrHash,
910
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::OrHash,
898
911
  language: String,
899
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash],
912
+ languages:
913
+ T::Array[
914
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::OrHash
915
+ ],
900
916
  provider: String,
901
917
  structured_provider: T::Hash[Symbol, T.anything],
902
918
  transcription_engine:
@@ -913,7 +929,7 @@ module Telnyx
913
929
  Telnyx::AzureVoiceSettings::OrHash,
914
930
  Telnyx::RimeVoiceSettings::OrHash,
915
931
  Telnyx::ResembleVoiceSettings::OrHash,
916
- Telnyx::InworldVoiceSettings::OrHash,
932
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld::OrHash,
917
933
  Telnyx::XaiVoiceSettings::OrHash
918
934
  )
919
935
  ).returns(T.attached_class)
@@ -1006,9 +1022,12 @@ module Telnyx
1006
1022
  interruptible_greeting:
1007
1023
  Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptibleGreeting::OrSymbol,
1008
1024
  interruption_settings:
1009
- Telnyx::ConversationRelayInterruptionSettings,
1025
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings,
1010
1026
  language: String,
1011
- languages: T::Array[Telnyx::ConversationRelayLanguage],
1027
+ languages:
1028
+ T::Array[
1029
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language
1030
+ ],
1012
1031
  provider: String,
1013
1032
  structured_provider: T::Hash[Symbol, T.anything],
1014
1033
  transcription_engine:
@@ -1025,7 +1044,7 @@ module Telnyx
1025
1044
  Telnyx::AzureVoiceSettings,
1026
1045
  Telnyx::RimeVoiceSettings,
1027
1046
  Telnyx::ResembleVoiceSettings,
1028
- Telnyx::InworldVoiceSettings,
1047
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld,
1029
1048
  Telnyx::XaiVoiceSettings
1030
1049
  )
1031
1050
  }
@@ -1128,6 +1147,608 @@ module Telnyx
1128
1147
  end
1129
1148
  end
1130
1149
 
1150
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
1151
+ OrHash =
1152
+ T.type_alias do
1153
+ T.any(
1154
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings,
1155
+ Telnyx::Internal::AnyHash
1156
+ )
1157
+ end
1158
+
1159
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
1160
+ # equivalent to `interruptible=none`.
1161
+ sig { returns(T.nilable(T::Boolean)) }
1162
+ attr_reader :enable
1163
+
1164
+ sig { params(enable: T::Boolean).void }
1165
+ attr_writer :enable
1166
+
1167
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1168
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1169
+ # only; `dtmf` allows DTMF only.
1170
+ sig do
1171
+ returns(
1172
+ T.nilable(
1173
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol
1174
+ )
1175
+ )
1176
+ end
1177
+ attr_reader :interruptible
1178
+
1179
+ sig do
1180
+ params(
1181
+ interruptible:
1182
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol
1183
+ ).void
1184
+ end
1185
+ attr_writer :interruptible
1186
+
1187
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1188
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1189
+ # only; `dtmf` allows DTMF only.
1190
+ sig do
1191
+ returns(
1192
+ T.nilable(
1193
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol
1194
+ )
1195
+ )
1196
+ end
1197
+ attr_reader :interruptible_greeting
1198
+
1199
+ sig do
1200
+ params(
1201
+ interruptible_greeting:
1202
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol
1203
+ ).void
1204
+ end
1205
+ attr_writer :interruptible_greeting
1206
+
1207
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1208
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1209
+ # only; `dtmf` allows DTMF only.
1210
+ sig do
1211
+ returns(
1212
+ T.nilable(
1213
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1214
+ )
1215
+ )
1216
+ end
1217
+ attr_reader :welcome_greeting_interruptible
1218
+
1219
+ sig do
1220
+ params(
1221
+ welcome_greeting_interruptible:
1222
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1223
+ ).void
1224
+ end
1225
+ attr_writer :welcome_greeting_interruptible
1226
+
1227
+ # Settings for handling caller interruptions during Conversation Relay speech.
1228
+ sig do
1229
+ params(
1230
+ enable: T::Boolean,
1231
+ interruptible:
1232
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol,
1233
+ interruptible_greeting:
1234
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol,
1235
+ welcome_greeting_interruptible:
1236
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1237
+ ).returns(T.attached_class)
1238
+ end
1239
+ def self.new(
1240
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
1241
+ # equivalent to `interruptible=none`.
1242
+ enable: nil,
1243
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1244
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1245
+ # only; `dtmf` allows DTMF only.
1246
+ interruptible: nil,
1247
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1248
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1249
+ # only; `dtmf` allows DTMF only.
1250
+ interruptible_greeting: nil,
1251
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1252
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1253
+ # only; `dtmf` allows DTMF only.
1254
+ welcome_greeting_interruptible: nil
1255
+ )
1256
+ end
1257
+
1258
+ sig do
1259
+ override.returns(
1260
+ {
1261
+ enable: T::Boolean,
1262
+ interruptible:
1263
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol,
1264
+ interruptible_greeting:
1265
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol,
1266
+ welcome_greeting_interruptible:
1267
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
1268
+ }
1269
+ )
1270
+ end
1271
+ def to_hash
1272
+ end
1273
+
1274
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1275
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1276
+ # only; `dtmf` allows DTMF only.
1277
+ module Interruptible
1278
+ extend Telnyx::Internal::Type::Enum
1279
+
1280
+ TaggedSymbol =
1281
+ T.type_alias do
1282
+ T.all(
1283
+ Symbol,
1284
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible
1285
+ )
1286
+ end
1287
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1288
+
1289
+ NONE =
1290
+ T.let(
1291
+ :none,
1292
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
1293
+ )
1294
+ ANY =
1295
+ T.let(
1296
+ :any,
1297
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
1298
+ )
1299
+ SPEECH =
1300
+ T.let(
1301
+ :speech,
1302
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
1303
+ )
1304
+ DTMF =
1305
+ T.let(
1306
+ :dtmf,
1307
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
1308
+ )
1309
+
1310
+ sig do
1311
+ override.returns(
1312
+ T::Array[
1313
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
1314
+ ]
1315
+ )
1316
+ end
1317
+ def self.values
1318
+ end
1319
+ end
1320
+
1321
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1322
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1323
+ # only; `dtmf` allows DTMF only.
1324
+ module InterruptibleGreeting
1325
+ extend Telnyx::Internal::Type::Enum
1326
+
1327
+ TaggedSymbol =
1328
+ T.type_alias do
1329
+ T.all(
1330
+ Symbol,
1331
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting
1332
+ )
1333
+ end
1334
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1335
+
1336
+ NONE =
1337
+ T.let(
1338
+ :none,
1339
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1340
+ )
1341
+ ANY =
1342
+ T.let(
1343
+ :any,
1344
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1345
+ )
1346
+ SPEECH =
1347
+ T.let(
1348
+ :speech,
1349
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1350
+ )
1351
+ DTMF =
1352
+ T.let(
1353
+ :dtmf,
1354
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1355
+ )
1356
+
1357
+ sig do
1358
+ override.returns(
1359
+ T::Array[
1360
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
1361
+ ]
1362
+ )
1363
+ end
1364
+ def self.values
1365
+ end
1366
+ end
1367
+
1368
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1369
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1370
+ # only; `dtmf` allows DTMF only.
1371
+ module WelcomeGreetingInterruptible
1372
+ extend Telnyx::Internal::Type::Enum
1373
+
1374
+ TaggedSymbol =
1375
+ T.type_alias do
1376
+ T.all(
1377
+ Symbol,
1378
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible
1379
+ )
1380
+ end
1381
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1382
+
1383
+ NONE =
1384
+ T.let(
1385
+ :none,
1386
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1387
+ )
1388
+ ANY =
1389
+ T.let(
1390
+ :any,
1391
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1392
+ )
1393
+ SPEECH =
1394
+ T.let(
1395
+ :speech,
1396
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1397
+ )
1398
+ DTMF =
1399
+ T.let(
1400
+ :dtmf,
1401
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1402
+ )
1403
+
1404
+ sig do
1405
+ override.returns(
1406
+ T::Array[
1407
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
1408
+ ]
1409
+ )
1410
+ end
1411
+ def self.values
1412
+ end
1413
+ end
1414
+ end
1415
+
1416
+ class Language < Telnyx::Internal::Type::BaseModel
1417
+ OrHash =
1418
+ T.type_alias do
1419
+ T.any(
1420
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language,
1421
+ Telnyx::Internal::AnyHash
1422
+ )
1423
+ end
1424
+
1425
+ # BCP 47 language tag for this language configuration.
1426
+ sig { returns(String) }
1427
+ attr_accessor :language
1428
+
1429
+ # Conversation Relay speech model. Prefer
1430
+ # `transcription_engine_config.transcription_model` when configuring
1431
+ # speech-to-text.
1432
+ sig { returns(T.nilable(String)) }
1433
+ attr_reader :speech_model
1434
+
1435
+ sig { params(speech_model: String).void }
1436
+ attr_writer :speech_model
1437
+
1438
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1439
+ # `Telnyx` are supported for backward compatibility. When provided in a
1440
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1441
+ # `speech_model` for that language.
1442
+ sig do
1443
+ returns(
1444
+ T.nilable(
1445
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol
1446
+ )
1447
+ )
1448
+ end
1449
+ attr_reader :transcription_engine
1450
+
1451
+ sig do
1452
+ params(
1453
+ transcription_engine:
1454
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol
1455
+ ).void
1456
+ end
1457
+ attr_writer :transcription_engine
1458
+
1459
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
1460
+ # same provider-specific options used by the Call Transcription Start command,
1461
+ # such as `transcription_model`, without requiring the engine discriminator to be
1462
+ # repeated inside this object.
1463
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
1464
+ attr_reader :transcription_engine_config
1465
+
1466
+ sig do
1467
+ params(
1468
+ transcription_engine_config: T::Hash[Symbol, T.anything]
1469
+ ).void
1470
+ end
1471
+ attr_writer :transcription_engine_config
1472
+
1473
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
1474
+ # when configuring speech-to-text.
1475
+ sig { returns(T.nilable(String)) }
1476
+ attr_reader :transcription_provider
1477
+
1478
+ sig { params(transcription_provider: String).void }
1479
+ attr_writer :transcription_provider
1480
+
1481
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
1482
+ # Telnyx derives the provider from the voice identifier.
1483
+ sig { returns(T.nilable(String)) }
1484
+ attr_reader :tts_provider
1485
+
1486
+ sig { params(tts_provider: String).void }
1487
+ attr_writer :tts_provider
1488
+
1489
+ # Voice identifier for this language.
1490
+ sig { returns(T.nilable(String)) }
1491
+ attr_reader :voice
1492
+
1493
+ sig { params(voice: String).void }
1494
+ attr_writer :voice
1495
+
1496
+ # The settings associated with the voice selected
1497
+ sig do
1498
+ returns(
1499
+ T.nilable(
1500
+ T.any(
1501
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1502
+ Telnyx::Calls::TelnyxVoiceSettings,
1503
+ Telnyx::Calls::AwsVoiceSettings,
1504
+ Telnyx::MinimaxVoiceSettings,
1505
+ Telnyx::AzureVoiceSettings,
1506
+ Telnyx::RimeVoiceSettings,
1507
+ Telnyx::ResembleVoiceSettings,
1508
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
1509
+ Telnyx::XaiVoiceSettings
1510
+ )
1511
+ )
1512
+ )
1513
+ end
1514
+ attr_reader :voice_settings
1515
+
1516
+ sig do
1517
+ params(
1518
+ voice_settings:
1519
+ T.any(
1520
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
1521
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
1522
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
1523
+ Telnyx::MinimaxVoiceSettings::OrHash,
1524
+ Telnyx::AzureVoiceSettings::OrHash,
1525
+ Telnyx::RimeVoiceSettings::OrHash,
1526
+ Telnyx::ResembleVoiceSettings::OrHash,
1527
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld::OrHash,
1528
+ Telnyx::XaiVoiceSettings::OrHash
1529
+ )
1530
+ ).void
1531
+ end
1532
+ attr_writer :voice_settings
1533
+
1534
+ # Language-specific TTS and transcription settings for Conversation Relay.
1535
+ sig do
1536
+ params(
1537
+ language: String,
1538
+ speech_model: String,
1539
+ transcription_engine:
1540
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol,
1541
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1542
+ transcription_provider: String,
1543
+ tts_provider: String,
1544
+ voice: String,
1545
+ voice_settings:
1546
+ T.any(
1547
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
1548
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
1549
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
1550
+ Telnyx::MinimaxVoiceSettings::OrHash,
1551
+ Telnyx::AzureVoiceSettings::OrHash,
1552
+ Telnyx::RimeVoiceSettings::OrHash,
1553
+ Telnyx::ResembleVoiceSettings::OrHash,
1554
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld::OrHash,
1555
+ Telnyx::XaiVoiceSettings::OrHash
1556
+ )
1557
+ ).returns(T.attached_class)
1558
+ end
1559
+ def self.new(
1560
+ # BCP 47 language tag for this language configuration.
1561
+ language:,
1562
+ # Conversation Relay speech model. Prefer
1563
+ # `transcription_engine_config.transcription_model` when configuring
1564
+ # speech-to-text.
1565
+ speech_model: nil,
1566
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1567
+ # `Telnyx` are supported for backward compatibility. When provided in a
1568
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1569
+ # `speech_model` for that language.
1570
+ transcription_engine: nil,
1571
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
1572
+ # same provider-specific options used by the Call Transcription Start command,
1573
+ # such as `transcription_model`, without requiring the engine discriminator to be
1574
+ # repeated inside this object.
1575
+ transcription_engine_config: nil,
1576
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
1577
+ # when configuring speech-to-text.
1578
+ transcription_provider: nil,
1579
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
1580
+ # Telnyx derives the provider from the voice identifier.
1581
+ tts_provider: nil,
1582
+ # Voice identifier for this language.
1583
+ voice: nil,
1584
+ # The settings associated with the voice selected
1585
+ voice_settings: nil
1586
+ )
1587
+ end
1588
+
1589
+ sig do
1590
+ override.returns(
1591
+ {
1592
+ language: String,
1593
+ speech_model: String,
1594
+ transcription_engine:
1595
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol,
1596
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1597
+ transcription_provider: String,
1598
+ tts_provider: String,
1599
+ voice: String,
1600
+ voice_settings:
1601
+ T.any(
1602
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1603
+ Telnyx::Calls::TelnyxVoiceSettings,
1604
+ Telnyx::Calls::AwsVoiceSettings,
1605
+ Telnyx::MinimaxVoiceSettings,
1606
+ Telnyx::AzureVoiceSettings,
1607
+ Telnyx::RimeVoiceSettings,
1608
+ Telnyx::ResembleVoiceSettings,
1609
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
1610
+ Telnyx::XaiVoiceSettings
1611
+ )
1612
+ }
1613
+ )
1614
+ end
1615
+ def to_hash
1616
+ end
1617
+
1618
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1619
+ # `Telnyx` are supported for backward compatibility. When provided in a
1620
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
1621
+ # `speech_model` for that language.
1622
+ module TranscriptionEngine
1623
+ extend Telnyx::Internal::Type::Enum
1624
+
1625
+ TaggedSymbol =
1626
+ T.type_alias do
1627
+ T.all(
1628
+ Symbol,
1629
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine
1630
+ )
1631
+ end
1632
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1633
+
1634
+ GOOGLE =
1635
+ T.let(
1636
+ :Google,
1637
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1638
+ )
1639
+ TELNYX =
1640
+ T.let(
1641
+ :Telnyx,
1642
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1643
+ )
1644
+ DEEPGRAM =
1645
+ T.let(
1646
+ :Deepgram,
1647
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1648
+ )
1649
+ AZURE =
1650
+ T.let(
1651
+ :Azure,
1652
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1653
+ )
1654
+ X_AI =
1655
+ T.let(
1656
+ :xAI,
1657
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1658
+ )
1659
+ ASSEMBLY_AI =
1660
+ T.let(
1661
+ :AssemblyAI,
1662
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1663
+ )
1664
+ SPEECHMATICS =
1665
+ T.let(
1666
+ :Speechmatics,
1667
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1668
+ )
1669
+ SONIOX =
1670
+ T.let(
1671
+ :Soniox,
1672
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1673
+ )
1674
+ A =
1675
+ T.let(
1676
+ :A,
1677
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1678
+ )
1679
+ B =
1680
+ T.let(
1681
+ :B,
1682
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1683
+ )
1684
+
1685
+ sig do
1686
+ override.returns(
1687
+ T::Array[
1688
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
1689
+ ]
1690
+ )
1691
+ end
1692
+ def self.values
1693
+ end
1694
+ end
1695
+
1696
+ # The settings associated with the voice selected
1697
+ module VoiceSettings
1698
+ extend Telnyx::Internal::Type::Union
1699
+
1700
+ Variants =
1701
+ T.type_alias do
1702
+ T.any(
1703
+ Telnyx::Calls::ElevenLabsVoiceSettings,
1704
+ Telnyx::Calls::TelnyxVoiceSettings,
1705
+ Telnyx::Calls::AwsVoiceSettings,
1706
+ Telnyx::MinimaxVoiceSettings,
1707
+ Telnyx::AzureVoiceSettings,
1708
+ Telnyx::RimeVoiceSettings,
1709
+ Telnyx::ResembleVoiceSettings,
1710
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
1711
+ Telnyx::XaiVoiceSettings
1712
+ )
1713
+ end
1714
+
1715
+ class Inworld < Telnyx::Internal::Type::BaseModel
1716
+ OrHash =
1717
+ T.type_alias do
1718
+ T.any(
1719
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
1720
+ Telnyx::Internal::AnyHash
1721
+ )
1722
+ end
1723
+
1724
+ # Voice settings provider type
1725
+ sig { returns(Symbol) }
1726
+ attr_accessor :type
1727
+
1728
+ sig { params(type: Symbol).returns(T.attached_class) }
1729
+ def self.new(
1730
+ # Voice settings provider type
1731
+ type: :inworld
1732
+ )
1733
+ end
1734
+
1735
+ sig { override.returns({ type: Symbol }) }
1736
+ def to_hash
1737
+ end
1738
+ end
1739
+
1740
+ sig do
1741
+ override.returns(
1742
+ T::Array[
1743
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::Language::VoiceSettings::Variants
1744
+ ]
1745
+ )
1746
+ end
1747
+ def self.variants
1748
+ end
1749
+ end
1750
+ end
1751
+
1131
1752
  # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1132
1753
  # `Telnyx` are supported for backward compatibility. For Conversation Relay, use
1133
1754
  # this field with `transcription_engine_config`; the `transcription` object is not
@@ -1220,11 +1841,36 @@ module Telnyx
1220
1841
  Telnyx::AzureVoiceSettings,
1221
1842
  Telnyx::RimeVoiceSettings,
1222
1843
  Telnyx::ResembleVoiceSettings,
1223
- Telnyx::InworldVoiceSettings,
1844
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld,
1224
1845
  Telnyx::XaiVoiceSettings
1225
1846
  )
1226
1847
  end
1227
1848
 
1849
+ class Inworld < Telnyx::Internal::Type::BaseModel
1850
+ OrHash =
1851
+ T.type_alias do
1852
+ T.any(
1853
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::VoiceSettings::Inworld,
1854
+ Telnyx::Internal::AnyHash
1855
+ )
1856
+ end
1857
+
1858
+ # Voice settings provider type
1859
+ sig { returns(Symbol) }
1860
+ attr_accessor :type
1861
+
1862
+ sig { params(type: Symbol).returns(T.attached_class) }
1863
+ def self.new(
1864
+ # Voice settings provider type
1865
+ type: :inworld
1866
+ )
1867
+ end
1868
+
1869
+ sig { override.returns({ type: Symbol }) }
1870
+ def to_hash
1871
+ end
1872
+ end
1873
+
1228
1874
  sig do
1229
1875
  override.returns(
1230
1876
  T::Array[