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
@@ -1744,14 +1744,18 @@ module Telnyx
1744
1744
 
1745
1745
  # Settings for handling caller interruptions during Conversation Relay speech.
1746
1746
  sig do
1747
- returns(T.nilable(Telnyx::ConversationRelayInterruptionSettings))
1747
+ returns(
1748
+ T.nilable(
1749
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings
1750
+ )
1751
+ )
1748
1752
  end
1749
1753
  attr_reader :interruption_settings
1750
1754
 
1751
1755
  sig do
1752
1756
  params(
1753
1757
  interruption_settings:
1754
- Telnyx::ConversationRelayInterruptionSettings::OrHash
1758
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::OrHash
1755
1759
  ).void
1756
1760
  end
1757
1761
  attr_writer :interruption_settings
@@ -1764,12 +1768,23 @@ module Telnyx
1764
1768
  attr_writer :language
1765
1769
 
1766
1770
  # Per-language TTS and transcription settings.
1767
- sig { returns(T.nilable(T::Array[Telnyx::ConversationRelayLanguage])) }
1771
+ sig do
1772
+ returns(
1773
+ T.nilable(
1774
+ T::Array[
1775
+ Telnyx::CallDialParams::ConversationRelayConfig::Language
1776
+ ]
1777
+ )
1778
+ )
1779
+ end
1768
1780
  attr_reader :languages
1769
1781
 
1770
1782
  sig do
1771
1783
  params(
1772
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash]
1784
+ languages:
1785
+ T::Array[
1786
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::OrHash
1787
+ ]
1773
1788
  ).void
1774
1789
  end
1775
1790
  attr_writer :languages
@@ -1875,7 +1890,7 @@ module Telnyx
1875
1890
  Telnyx::AzureVoiceSettings,
1876
1891
  Telnyx::RimeVoiceSettings,
1877
1892
  Telnyx::ResembleVoiceSettings,
1878
- Telnyx::InworldVoiceSettings,
1893
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld,
1879
1894
  Telnyx::XaiVoiceSettings
1880
1895
  )
1881
1896
  )
@@ -1894,7 +1909,7 @@ module Telnyx
1894
1909
  Telnyx::AzureVoiceSettings::OrHash,
1895
1910
  Telnyx::RimeVoiceSettings::OrHash,
1896
1911
  Telnyx::ResembleVoiceSettings::OrHash,
1897
- Telnyx::InworldVoiceSettings::OrHash,
1912
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld::OrHash,
1898
1913
  Telnyx::XaiVoiceSettings::OrHash
1899
1914
  )
1900
1915
  ).void
@@ -1918,9 +1933,12 @@ module Telnyx
1918
1933
  interruptible_greeting:
1919
1934
  Telnyx::CallDialParams::ConversationRelayConfig::InterruptibleGreeting::OrSymbol,
1920
1935
  interruption_settings:
1921
- Telnyx::ConversationRelayInterruptionSettings::OrHash,
1936
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::OrHash,
1922
1937
  language: String,
1923
- languages: T::Array[Telnyx::ConversationRelayLanguage::OrHash],
1938
+ languages:
1939
+ T::Array[
1940
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::OrHash
1941
+ ],
1924
1942
  provider: String,
1925
1943
  structured_provider: T::Hash[Symbol, T.anything],
1926
1944
  transcription_engine:
@@ -1937,7 +1955,7 @@ module Telnyx
1937
1955
  Telnyx::AzureVoiceSettings::OrHash,
1938
1956
  Telnyx::RimeVoiceSettings::OrHash,
1939
1957
  Telnyx::ResembleVoiceSettings::OrHash,
1940
- Telnyx::InworldVoiceSettings::OrHash,
1958
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld::OrHash,
1941
1959
  Telnyx::XaiVoiceSettings::OrHash
1942
1960
  )
1943
1961
  ).returns(T.attached_class)
@@ -2030,9 +2048,12 @@ module Telnyx
2030
2048
  interruptible_greeting:
2031
2049
  Telnyx::CallDialParams::ConversationRelayConfig::InterruptibleGreeting::OrSymbol,
2032
2050
  interruption_settings:
2033
- Telnyx::ConversationRelayInterruptionSettings,
2051
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings,
2034
2052
  language: String,
2035
- languages: T::Array[Telnyx::ConversationRelayLanguage],
2053
+ languages:
2054
+ T::Array[
2055
+ Telnyx::CallDialParams::ConversationRelayConfig::Language
2056
+ ],
2036
2057
  provider: String,
2037
2058
  structured_provider: T::Hash[Symbol, T.anything],
2038
2059
  transcription_engine:
@@ -2049,7 +2070,7 @@ module Telnyx
2049
2070
  Telnyx::AzureVoiceSettings,
2050
2071
  Telnyx::RimeVoiceSettings,
2051
2072
  Telnyx::ResembleVoiceSettings,
2052
- Telnyx::InworldVoiceSettings,
2073
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld,
2053
2074
  Telnyx::XaiVoiceSettings
2054
2075
  )
2055
2076
  }
@@ -2152,6 +2173,608 @@ module Telnyx
2152
2173
  end
2153
2174
  end
2154
2175
 
2176
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
2177
+ OrHash =
2178
+ T.type_alias do
2179
+ T.any(
2180
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings,
2181
+ Telnyx::Internal::AnyHash
2182
+ )
2183
+ end
2184
+
2185
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
2186
+ # equivalent to `interruptible=none`.
2187
+ sig { returns(T.nilable(T::Boolean)) }
2188
+ attr_reader :enable
2189
+
2190
+ sig { params(enable: T::Boolean).void }
2191
+ attr_writer :enable
2192
+
2193
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2194
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2195
+ # only; `dtmf` allows DTMF only.
2196
+ sig do
2197
+ returns(
2198
+ T.nilable(
2199
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol
2200
+ )
2201
+ )
2202
+ end
2203
+ attr_reader :interruptible
2204
+
2205
+ sig do
2206
+ params(
2207
+ interruptible:
2208
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol
2209
+ ).void
2210
+ end
2211
+ attr_writer :interruptible
2212
+
2213
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2214
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2215
+ # only; `dtmf` allows DTMF only.
2216
+ sig do
2217
+ returns(
2218
+ T.nilable(
2219
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol
2220
+ )
2221
+ )
2222
+ end
2223
+ attr_reader :interruptible_greeting
2224
+
2225
+ sig do
2226
+ params(
2227
+ interruptible_greeting:
2228
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol
2229
+ ).void
2230
+ end
2231
+ attr_writer :interruptible_greeting
2232
+
2233
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2234
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2235
+ # only; `dtmf` allows DTMF only.
2236
+ sig do
2237
+ returns(
2238
+ T.nilable(
2239
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
2240
+ )
2241
+ )
2242
+ end
2243
+ attr_reader :welcome_greeting_interruptible
2244
+
2245
+ sig do
2246
+ params(
2247
+ welcome_greeting_interruptible:
2248
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
2249
+ ).void
2250
+ end
2251
+ attr_writer :welcome_greeting_interruptible
2252
+
2253
+ # Settings for handling caller interruptions during Conversation Relay speech.
2254
+ sig do
2255
+ params(
2256
+ enable: T::Boolean,
2257
+ interruptible:
2258
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol,
2259
+ interruptible_greeting:
2260
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol,
2261
+ welcome_greeting_interruptible:
2262
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
2263
+ ).returns(T.attached_class)
2264
+ end
2265
+ def self.new(
2266
+ # Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
2267
+ # equivalent to `interruptible=none`.
2268
+ enable: nil,
2269
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2270
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2271
+ # only; `dtmf` allows DTMF only.
2272
+ interruptible: nil,
2273
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2274
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2275
+ # only; `dtmf` allows DTMF only.
2276
+ interruptible_greeting: nil,
2277
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2278
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2279
+ # only; `dtmf` allows DTMF only.
2280
+ welcome_greeting_interruptible: nil
2281
+ )
2282
+ end
2283
+
2284
+ sig do
2285
+ override.returns(
2286
+ {
2287
+ enable: T::Boolean,
2288
+ interruptible:
2289
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::OrSymbol,
2290
+ interruptible_greeting:
2291
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::OrSymbol,
2292
+ welcome_greeting_interruptible:
2293
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
2294
+ }
2295
+ )
2296
+ end
2297
+ def to_hash
2298
+ end
2299
+
2300
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2301
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2302
+ # only; `dtmf` allows DTMF only.
2303
+ module Interruptible
2304
+ extend Telnyx::Internal::Type::Enum
2305
+
2306
+ TaggedSymbol =
2307
+ T.type_alias do
2308
+ T.all(
2309
+ Symbol,
2310
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible
2311
+ )
2312
+ end
2313
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2314
+
2315
+ NONE =
2316
+ T.let(
2317
+ :none,
2318
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
2319
+ )
2320
+ ANY =
2321
+ T.let(
2322
+ :any,
2323
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
2324
+ )
2325
+ SPEECH =
2326
+ T.let(
2327
+ :speech,
2328
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
2329
+ )
2330
+ DTMF =
2331
+ T.let(
2332
+ :dtmf,
2333
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
2334
+ )
2335
+
2336
+ sig do
2337
+ override.returns(
2338
+ T::Array[
2339
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::Interruptible::TaggedSymbol
2340
+ ]
2341
+ )
2342
+ end
2343
+ def self.values
2344
+ end
2345
+ end
2346
+
2347
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2348
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2349
+ # only; `dtmf` allows DTMF only.
2350
+ module InterruptibleGreeting
2351
+ extend Telnyx::Internal::Type::Enum
2352
+
2353
+ TaggedSymbol =
2354
+ T.type_alias do
2355
+ T.all(
2356
+ Symbol,
2357
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting
2358
+ )
2359
+ end
2360
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2361
+
2362
+ NONE =
2363
+ T.let(
2364
+ :none,
2365
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
2366
+ )
2367
+ ANY =
2368
+ T.let(
2369
+ :any,
2370
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
2371
+ )
2372
+ SPEECH =
2373
+ T.let(
2374
+ :speech,
2375
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
2376
+ )
2377
+ DTMF =
2378
+ T.let(
2379
+ :dtmf,
2380
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
2381
+ )
2382
+
2383
+ sig do
2384
+ override.returns(
2385
+ T::Array[
2386
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
2387
+ ]
2388
+ )
2389
+ end
2390
+ def self.values
2391
+ end
2392
+ end
2393
+
2394
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
2395
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
2396
+ # only; `dtmf` allows DTMF only.
2397
+ module WelcomeGreetingInterruptible
2398
+ extend Telnyx::Internal::Type::Enum
2399
+
2400
+ TaggedSymbol =
2401
+ T.type_alias do
2402
+ T.all(
2403
+ Symbol,
2404
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible
2405
+ )
2406
+ end
2407
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2408
+
2409
+ NONE =
2410
+ T.let(
2411
+ :none,
2412
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
2413
+ )
2414
+ ANY =
2415
+ T.let(
2416
+ :any,
2417
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
2418
+ )
2419
+ SPEECH =
2420
+ T.let(
2421
+ :speech,
2422
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
2423
+ )
2424
+ DTMF =
2425
+ T.let(
2426
+ :dtmf,
2427
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
2428
+ )
2429
+
2430
+ sig do
2431
+ override.returns(
2432
+ T::Array[
2433
+ Telnyx::CallDialParams::ConversationRelayConfig::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
2434
+ ]
2435
+ )
2436
+ end
2437
+ def self.values
2438
+ end
2439
+ end
2440
+ end
2441
+
2442
+ class Language < Telnyx::Internal::Type::BaseModel
2443
+ OrHash =
2444
+ T.type_alias do
2445
+ T.any(
2446
+ Telnyx::CallDialParams::ConversationRelayConfig::Language,
2447
+ Telnyx::Internal::AnyHash
2448
+ )
2449
+ end
2450
+
2451
+ # BCP 47 language tag for this language configuration.
2452
+ sig { returns(String) }
2453
+ attr_accessor :language
2454
+
2455
+ # Conversation Relay speech model. Prefer
2456
+ # `transcription_engine_config.transcription_model` when configuring
2457
+ # speech-to-text.
2458
+ sig { returns(T.nilable(String)) }
2459
+ attr_reader :speech_model
2460
+
2461
+ sig { params(speech_model: String).void }
2462
+ attr_writer :speech_model
2463
+
2464
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
2465
+ # `Telnyx` are supported for backward compatibility. When provided in a
2466
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
2467
+ # `speech_model` for that language.
2468
+ sig do
2469
+ returns(
2470
+ T.nilable(
2471
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol
2472
+ )
2473
+ )
2474
+ end
2475
+ attr_reader :transcription_engine
2476
+
2477
+ sig do
2478
+ params(
2479
+ transcription_engine:
2480
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol
2481
+ ).void
2482
+ end
2483
+ attr_writer :transcription_engine
2484
+
2485
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
2486
+ # same provider-specific options used by the Call Transcription Start command,
2487
+ # such as `transcription_model`, without requiring the engine discriminator to be
2488
+ # repeated inside this object.
2489
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
2490
+ attr_reader :transcription_engine_config
2491
+
2492
+ sig do
2493
+ params(
2494
+ transcription_engine_config: T::Hash[Symbol, T.anything]
2495
+ ).void
2496
+ end
2497
+ attr_writer :transcription_engine_config
2498
+
2499
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
2500
+ # when configuring speech-to-text.
2501
+ sig { returns(T.nilable(String)) }
2502
+ attr_reader :transcription_provider
2503
+
2504
+ sig { params(transcription_provider: String).void }
2505
+ attr_writer :transcription_provider
2506
+
2507
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
2508
+ # Telnyx derives the provider from the voice identifier.
2509
+ sig { returns(T.nilable(String)) }
2510
+ attr_reader :tts_provider
2511
+
2512
+ sig { params(tts_provider: String).void }
2513
+ attr_writer :tts_provider
2514
+
2515
+ # Voice identifier for this language.
2516
+ sig { returns(T.nilable(String)) }
2517
+ attr_reader :voice
2518
+
2519
+ sig { params(voice: String).void }
2520
+ attr_writer :voice
2521
+
2522
+ # The settings associated with the voice selected
2523
+ sig do
2524
+ returns(
2525
+ T.nilable(
2526
+ T.any(
2527
+ Telnyx::Calls::ElevenLabsVoiceSettings,
2528
+ Telnyx::Calls::TelnyxVoiceSettings,
2529
+ Telnyx::Calls::AwsVoiceSettings,
2530
+ Telnyx::MinimaxVoiceSettings,
2531
+ Telnyx::AzureVoiceSettings,
2532
+ Telnyx::RimeVoiceSettings,
2533
+ Telnyx::ResembleVoiceSettings,
2534
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
2535
+ Telnyx::XaiVoiceSettings
2536
+ )
2537
+ )
2538
+ )
2539
+ end
2540
+ attr_reader :voice_settings
2541
+
2542
+ sig do
2543
+ params(
2544
+ voice_settings:
2545
+ T.any(
2546
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
2547
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
2548
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
2549
+ Telnyx::MinimaxVoiceSettings::OrHash,
2550
+ Telnyx::AzureVoiceSettings::OrHash,
2551
+ Telnyx::RimeVoiceSettings::OrHash,
2552
+ Telnyx::ResembleVoiceSettings::OrHash,
2553
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld::OrHash,
2554
+ Telnyx::XaiVoiceSettings::OrHash
2555
+ )
2556
+ ).void
2557
+ end
2558
+ attr_writer :voice_settings
2559
+
2560
+ # Language-specific TTS and transcription settings for Conversation Relay.
2561
+ sig do
2562
+ params(
2563
+ language: String,
2564
+ speech_model: String,
2565
+ transcription_engine:
2566
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol,
2567
+ transcription_engine_config: T::Hash[Symbol, T.anything],
2568
+ transcription_provider: String,
2569
+ tts_provider: String,
2570
+ voice: String,
2571
+ voice_settings:
2572
+ T.any(
2573
+ Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
2574
+ Telnyx::Calls::TelnyxVoiceSettings::OrHash,
2575
+ Telnyx::Calls::AwsVoiceSettings::OrHash,
2576
+ Telnyx::MinimaxVoiceSettings::OrHash,
2577
+ Telnyx::AzureVoiceSettings::OrHash,
2578
+ Telnyx::RimeVoiceSettings::OrHash,
2579
+ Telnyx::ResembleVoiceSettings::OrHash,
2580
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld::OrHash,
2581
+ Telnyx::XaiVoiceSettings::OrHash
2582
+ )
2583
+ ).returns(T.attached_class)
2584
+ end
2585
+ def self.new(
2586
+ # BCP 47 language tag for this language configuration.
2587
+ language:,
2588
+ # Conversation Relay speech model. Prefer
2589
+ # `transcription_engine_config.transcription_model` when configuring
2590
+ # speech-to-text.
2591
+ speech_model: nil,
2592
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
2593
+ # `Telnyx` are supported for backward compatibility. When provided in a
2594
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
2595
+ # `speech_model` for that language.
2596
+ transcription_engine: nil,
2597
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
2598
+ # same provider-specific options used by the Call Transcription Start command,
2599
+ # such as `transcription_model`, without requiring the engine discriminator to be
2600
+ # repeated inside this object.
2601
+ transcription_engine_config: nil,
2602
+ # Conversation Relay transcription provider name. Prefer `transcription_engine`
2603
+ # when configuring speech-to-text.
2604
+ transcription_provider: nil,
2605
+ # Text-to-speech provider for this language. If omitted and `voice` is provided,
2606
+ # Telnyx derives the provider from the voice identifier.
2607
+ tts_provider: nil,
2608
+ # Voice identifier for this language.
2609
+ voice: nil,
2610
+ # The settings associated with the voice selected
2611
+ voice_settings: nil
2612
+ )
2613
+ end
2614
+
2615
+ sig do
2616
+ override.returns(
2617
+ {
2618
+ language: String,
2619
+ speech_model: String,
2620
+ transcription_engine:
2621
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::OrSymbol,
2622
+ transcription_engine_config: T::Hash[Symbol, T.anything],
2623
+ transcription_provider: String,
2624
+ tts_provider: String,
2625
+ voice: String,
2626
+ voice_settings:
2627
+ T.any(
2628
+ Telnyx::Calls::ElevenLabsVoiceSettings,
2629
+ Telnyx::Calls::TelnyxVoiceSettings,
2630
+ Telnyx::Calls::AwsVoiceSettings,
2631
+ Telnyx::MinimaxVoiceSettings,
2632
+ Telnyx::AzureVoiceSettings,
2633
+ Telnyx::RimeVoiceSettings,
2634
+ Telnyx::ResembleVoiceSettings,
2635
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
2636
+ Telnyx::XaiVoiceSettings
2637
+ )
2638
+ }
2639
+ )
2640
+ end
2641
+ def to_hash
2642
+ end
2643
+
2644
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
2645
+ # `Telnyx` are supported for backward compatibility. When provided in a
2646
+ # Conversation Relay language entry, Telnyx derives `transcription_provider` and
2647
+ # `speech_model` for that language.
2648
+ module TranscriptionEngine
2649
+ extend Telnyx::Internal::Type::Enum
2650
+
2651
+ TaggedSymbol =
2652
+ T.type_alias do
2653
+ T.all(
2654
+ Symbol,
2655
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine
2656
+ )
2657
+ end
2658
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2659
+
2660
+ GOOGLE =
2661
+ T.let(
2662
+ :Google,
2663
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2664
+ )
2665
+ TELNYX =
2666
+ T.let(
2667
+ :Telnyx,
2668
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2669
+ )
2670
+ DEEPGRAM =
2671
+ T.let(
2672
+ :Deepgram,
2673
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2674
+ )
2675
+ AZURE =
2676
+ T.let(
2677
+ :Azure,
2678
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2679
+ )
2680
+ X_AI =
2681
+ T.let(
2682
+ :xAI,
2683
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2684
+ )
2685
+ ASSEMBLY_AI =
2686
+ T.let(
2687
+ :AssemblyAI,
2688
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2689
+ )
2690
+ SPEECHMATICS =
2691
+ T.let(
2692
+ :Speechmatics,
2693
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2694
+ )
2695
+ SONIOX =
2696
+ T.let(
2697
+ :Soniox,
2698
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2699
+ )
2700
+ A =
2701
+ T.let(
2702
+ :A,
2703
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2704
+ )
2705
+ B =
2706
+ T.let(
2707
+ :B,
2708
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2709
+ )
2710
+
2711
+ sig do
2712
+ override.returns(
2713
+ T::Array[
2714
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::TranscriptionEngine::TaggedSymbol
2715
+ ]
2716
+ )
2717
+ end
2718
+ def self.values
2719
+ end
2720
+ end
2721
+
2722
+ # The settings associated with the voice selected
2723
+ module VoiceSettings
2724
+ extend Telnyx::Internal::Type::Union
2725
+
2726
+ Variants =
2727
+ T.type_alias do
2728
+ T.any(
2729
+ Telnyx::Calls::ElevenLabsVoiceSettings,
2730
+ Telnyx::Calls::TelnyxVoiceSettings,
2731
+ Telnyx::Calls::AwsVoiceSettings,
2732
+ Telnyx::MinimaxVoiceSettings,
2733
+ Telnyx::AzureVoiceSettings,
2734
+ Telnyx::RimeVoiceSettings,
2735
+ Telnyx::ResembleVoiceSettings,
2736
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
2737
+ Telnyx::XaiVoiceSettings
2738
+ )
2739
+ end
2740
+
2741
+ class Inworld < Telnyx::Internal::Type::BaseModel
2742
+ OrHash =
2743
+ T.type_alias do
2744
+ T.any(
2745
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Inworld,
2746
+ Telnyx::Internal::AnyHash
2747
+ )
2748
+ end
2749
+
2750
+ # Voice settings provider type
2751
+ sig { returns(Symbol) }
2752
+ attr_accessor :type
2753
+
2754
+ sig { params(type: Symbol).returns(T.attached_class) }
2755
+ def self.new(
2756
+ # Voice settings provider type
2757
+ type: :inworld
2758
+ )
2759
+ end
2760
+
2761
+ sig { override.returns({ type: Symbol }) }
2762
+ def to_hash
2763
+ end
2764
+ end
2765
+
2766
+ sig do
2767
+ override.returns(
2768
+ T::Array[
2769
+ Telnyx::CallDialParams::ConversationRelayConfig::Language::VoiceSettings::Variants
2770
+ ]
2771
+ )
2772
+ end
2773
+ def self.variants
2774
+ end
2775
+ end
2776
+ end
2777
+
2155
2778
  # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
2156
2779
  # `Telnyx` are supported for backward compatibility. For Conversation Relay, use
2157
2780
  # this field with `transcription_engine_config`; the `transcription` object is not
@@ -2244,11 +2867,36 @@ module Telnyx
2244
2867
  Telnyx::AzureVoiceSettings,
2245
2868
  Telnyx::RimeVoiceSettings,
2246
2869
  Telnyx::ResembleVoiceSettings,
2247
- Telnyx::InworldVoiceSettings,
2870
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld,
2248
2871
  Telnyx::XaiVoiceSettings
2249
2872
  )
2250
2873
  end
2251
2874
 
2875
+ class Inworld < Telnyx::Internal::Type::BaseModel
2876
+ OrHash =
2877
+ T.type_alias do
2878
+ T.any(
2879
+ Telnyx::CallDialParams::ConversationRelayConfig::VoiceSettings::Inworld,
2880
+ Telnyx::Internal::AnyHash
2881
+ )
2882
+ end
2883
+
2884
+ # Voice settings provider type
2885
+ sig { returns(Symbol) }
2886
+ attr_accessor :type
2887
+
2888
+ sig { params(type: Symbol).returns(T.attached_class) }
2889
+ def self.new(
2890
+ # Voice settings provider type
2891
+ type: :inworld
2892
+ )
2893
+ end
2894
+
2895
+ sig { override.returns({ type: Symbol }) }
2896
+ def to_hash
2897
+ end
2898
+ end
2899
+
2252
2900
  sig do
2253
2901
  override.returns(
2254
2902
  T::Array[