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
@@ -0,0 +1,343 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class SipRegistrationStatusRetrieveResponse < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse,
10
+ Telnyx::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Identifier of the UAC connection.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :connection_id
17
+
18
+ sig { params(connection_id: String).void }
19
+ attr_writer :connection_id
20
+
21
+ # Human-readable connection name.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :connection_name
24
+
25
+ sig { params(connection_name: String).void }
26
+ attr_writer :connection_name
27
+
28
+ # The credential type that was looked up.
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::TaggedSymbol
33
+ )
34
+ )
35
+ end
36
+ attr_reader :credential_type
37
+
38
+ sig do
39
+ params(
40
+ credential_type:
41
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::OrSymbol
42
+ ).void
43
+ end
44
+ attr_writer :credential_type
45
+
46
+ # SIP username used for the registration.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_reader :credential_username
49
+
50
+ sig { params(credential_username: String).void }
51
+ attr_writer :credential_username
52
+
53
+ # SIP response from the last registration attempt.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :last_registration_response
56
+
57
+ sig { params(last_registration_response: String).void }
58
+ attr_writer :last_registration_response
59
+
60
+ # True if the endpoint is currently registered.
61
+ sig { returns(T.nilable(T::Boolean)) }
62
+ attr_reader :registered
63
+
64
+ sig { params(registered: T::Boolean).void }
65
+ attr_writer :registered
66
+
67
+ # Detailed registration information reported by the registrar.
68
+ sig do
69
+ returns(
70
+ T.nilable(
71
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationDetails
72
+ )
73
+ )
74
+ end
75
+ attr_reader :sip_registration_details
76
+
77
+ sig do
78
+ params(
79
+ sip_registration_details:
80
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationDetails::OrHash
81
+ ).void
82
+ end
83
+ attr_writer :sip_registration_details
84
+
85
+ # Human-readable registration status derived from the registrar state.
86
+ sig do
87
+ returns(
88
+ T.nilable(
89
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
90
+ )
91
+ )
92
+ end
93
+ attr_reader :sip_registration_status
94
+
95
+ sig do
96
+ params(
97
+ sip_registration_status:
98
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::OrSymbol
99
+ ).void
100
+ end
101
+ attr_writer :sip_registration_status
102
+
103
+ sig do
104
+ params(
105
+ connection_id: String,
106
+ connection_name: String,
107
+ credential_type:
108
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::OrSymbol,
109
+ credential_username: String,
110
+ last_registration_response: String,
111
+ registered: T::Boolean,
112
+ sip_registration_details:
113
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationDetails::OrHash,
114
+ sip_registration_status:
115
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::OrSymbol
116
+ ).returns(T.attached_class)
117
+ end
118
+ def self.new(
119
+ # Identifier of the UAC connection.
120
+ connection_id: nil,
121
+ # Human-readable connection name.
122
+ connection_name: nil,
123
+ # The credential type that was looked up.
124
+ credential_type: nil,
125
+ # SIP username used for the registration.
126
+ credential_username: nil,
127
+ # SIP response from the last registration attempt.
128
+ last_registration_response: nil,
129
+ # True if the endpoint is currently registered.
130
+ registered: nil,
131
+ # Detailed registration information reported by the registrar.
132
+ sip_registration_details: nil,
133
+ # Human-readable registration status derived from the registrar state.
134
+ sip_registration_status: nil
135
+ )
136
+ end
137
+
138
+ sig do
139
+ override.returns(
140
+ {
141
+ connection_id: String,
142
+ connection_name: String,
143
+ credential_type:
144
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::TaggedSymbol,
145
+ credential_username: String,
146
+ last_registration_response: String,
147
+ registered: T::Boolean,
148
+ sip_registration_details:
149
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationDetails,
150
+ sip_registration_status:
151
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ # The credential type that was looked up.
159
+ module CredentialType
160
+ extend Telnyx::Internal::Type::Enum
161
+
162
+ TaggedSymbol =
163
+ T.type_alias do
164
+ T.all(
165
+ Symbol,
166
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType
167
+ )
168
+ end
169
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
170
+
171
+ UAC_EXTERNAL_CREDENTIAL =
172
+ T.let(
173
+ :uac_external_credential,
174
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::TaggedSymbol
175
+ )
176
+
177
+ sig do
178
+ override.returns(
179
+ T::Array[
180
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::CredentialType::TaggedSymbol
181
+ ]
182
+ )
183
+ end
184
+ def self.values
185
+ end
186
+ end
187
+
188
+ class SipRegistrationDetails < Telnyx::Internal::Type::BaseModel
189
+ OrHash =
190
+ T.type_alias do
191
+ T.any(
192
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationDetails,
193
+ Telnyx::Internal::AnyHash
194
+ )
195
+ end
196
+
197
+ # Number of authentication retries on the last attempt.
198
+ sig { returns(T.nilable(Integer)) }
199
+ attr_reader :auth_retries
200
+
201
+ sig { params(auth_retries: Integer).void }
202
+ attr_writer :auth_retries
203
+
204
+ # Unix timestamp when the current registration expires.
205
+ sig { returns(T.nilable(Integer)) }
206
+ attr_reader :expires
207
+
208
+ sig { params(expires: Integer).void }
209
+ attr_writer :expires
210
+
211
+ # Count of consecutive registration failures.
212
+ sig { returns(T.nilable(Integer)) }
213
+ attr_reader :failures
214
+
215
+ sig { params(failures: Integer).void }
216
+ attr_writer :failures
217
+
218
+ # Unix timestamp of the next scheduled registration action.
219
+ sig { returns(T.nilable(Integer)) }
220
+ attr_reader :next_action_at
221
+
222
+ sig { params(next_action_at: Integer).void }
223
+ attr_writer :next_action_at
224
+
225
+ # SIP URI user@host of the registered contact.
226
+ sig { returns(T.nilable(String)) }
227
+ attr_reader :sip_uri_user_host
228
+
229
+ sig { params(sip_uri_user_host: String).void }
230
+ attr_writer :sip_uri_user_host
231
+
232
+ # Registration uptime reported by the registrar.
233
+ sig { returns(T.nilable(Integer)) }
234
+ attr_reader :uptime
235
+
236
+ sig { params(uptime: Integer).void }
237
+ attr_writer :uptime
238
+
239
+ # Detailed registration information reported by the registrar.
240
+ sig do
241
+ params(
242
+ auth_retries: Integer,
243
+ expires: Integer,
244
+ failures: Integer,
245
+ next_action_at: Integer,
246
+ sip_uri_user_host: String,
247
+ uptime: Integer
248
+ ).returns(T.attached_class)
249
+ end
250
+ def self.new(
251
+ # Number of authentication retries on the last attempt.
252
+ auth_retries: nil,
253
+ # Unix timestamp when the current registration expires.
254
+ expires: nil,
255
+ # Count of consecutive registration failures.
256
+ failures: nil,
257
+ # Unix timestamp of the next scheduled registration action.
258
+ next_action_at: nil,
259
+ # SIP URI user@host of the registered contact.
260
+ sip_uri_user_host: nil,
261
+ # Registration uptime reported by the registrar.
262
+ uptime: nil
263
+ )
264
+ end
265
+
266
+ sig do
267
+ override.returns(
268
+ {
269
+ auth_retries: Integer,
270
+ expires: Integer,
271
+ failures: Integer,
272
+ next_action_at: Integer,
273
+ sip_uri_user_host: String,
274
+ uptime: Integer
275
+ }
276
+ )
277
+ end
278
+ def to_hash
279
+ end
280
+ end
281
+
282
+ # Human-readable registration status derived from the registrar state.
283
+ module SipRegistrationStatus
284
+ extend Telnyx::Internal::Type::Enum
285
+
286
+ TaggedSymbol =
287
+ T.type_alias do
288
+ T.all(
289
+ Symbol,
290
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus
291
+ )
292
+ end
293
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
294
+
295
+ UNREGISTERING =
296
+ T.let(
297
+ :unregistering,
298
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
299
+ )
300
+ CONNECTION_DISABLED =
301
+ T.let(
302
+ :connection_disabled,
303
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
304
+ )
305
+ STANDBY =
306
+ T.let(
307
+ :standby,
308
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
309
+ )
310
+ FAILED =
311
+ T.let(
312
+ :failed,
313
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
314
+ )
315
+ TRYING =
316
+ T.let(
317
+ :trying,
318
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
319
+ )
320
+ REGISTERED =
321
+ T.let(
322
+ :registered,
323
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
324
+ )
325
+ UNKNOWN =
326
+ T.let(
327
+ :unknown,
328
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
329
+ )
330
+
331
+ sig do
332
+ override.returns(
333
+ T::Array[
334
+ Telnyx::Models::SipRegistrationStatusRetrieveResponse::SipRegistrationStatus::TaggedSymbol
335
+ ]
336
+ )
337
+ end
338
+ def self.values
339
+ end
340
+ end
341
+ end
342
+ end
343
+ end
@@ -33,7 +33,12 @@ module Telnyx
33
33
  end
34
34
  attr_writer :provider
35
35
 
36
- # Filter to entries that support the given service type.
36
+ # Filter to entries that support the given service type. For backward
37
+ # compatibility with the values that briefly shipped before the product-aligned
38
+ # rename, the legacy aliases `file_transcription`, `in_call_transcription`, and
39
+ # `ai_assistant_transcription` are silently accepted and normalized to
40
+ # `file_based`, `in_call`, and `ai_assistant` respectively. The response always
41
+ # emits the canonical (post-rename) values.
37
42
  sig do
38
43
  returns(
39
44
  T.nilable(
@@ -66,7 +71,12 @@ module Telnyx
66
71
  # models currently registered for any service type will return an empty `data`
67
72
  # array rather than an error.
68
73
  provider: nil,
69
- # Filter to entries that support the given service type.
74
+ # Filter to entries that support the given service type. For backward
75
+ # compatibility with the values that briefly shipped before the product-aligned
76
+ # rename, the legacy aliases `file_transcription`, `in_call_transcription`, and
77
+ # `ai_assistant_transcription` are silently accepted and normalized to
78
+ # `file_based`, `in_call`, and `ai_assistant` respectively. The response always
79
+ # emits the canonical (post-rename) values.
70
80
  service_type: nil,
71
81
  request_options: {}
72
82
  )
@@ -157,7 +167,12 @@ module Telnyx
157
167
  end
158
168
  end
159
169
 
160
- # Filter to entries that support the given service type.
170
+ # Filter to entries that support the given service type. For backward
171
+ # compatibility with the values that briefly shipped before the product-aligned
172
+ # rename, the legacy aliases `file_transcription`, `in_call_transcription`, and
173
+ # `ai_assistant_transcription` are silently accepted and normalized to
174
+ # `file_based`, `in_call`, and `ai_assistant` respectively. The response always
175
+ # emits the canonical (post-rename) values.
161
176
  module ServiceType
162
177
  extend Telnyx::Internal::Type::Enum
163
178
 
@@ -172,14 +187,19 @@ module Telnyx
172
187
  :streaming,
173
188
  Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
174
189
  )
175
- FILE_TRANSCRIPTION =
190
+ FILE_BASED =
176
191
  T.let(
177
- :file_transcription,
192
+ :file_based,
178
193
  Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
179
194
  )
180
- IN_CALL_TRANSCRIPTION =
195
+ IN_CALL =
181
196
  T.let(
182
- :in_call_transcription,
197
+ :in_call,
198
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
199
+ )
200
+ AI_ASSISTANT =
201
+ T.let(
202
+ :ai_assistant,
183
203
  Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
184
204
  )
185
205
 
@@ -62,11 +62,6 @@ module Telnyx
62
62
  )
63
63
  end
64
64
 
65
- # Languages this (provider, model) accepts, in the provider's native code format.
66
- # `auto` indicates the provider performs language detection.
67
- sig { returns(T::Array[String]) }
68
- attr_accessor :languages
69
-
70
65
  # Provider-scoped model name.
71
66
  sig { returns(String) }
72
67
  attr_accessor :model
@@ -75,37 +70,38 @@ module Telnyx
75
70
  sig { returns(String) }
76
71
  attr_accessor :provider
77
72
 
78
- # Service surfaces this (provider, model) supports.
73
+ # Service surfaces this (provider, model) supports. When the request filters by
74
+ # `service_type`, only the matching nested entry is returned for each matching
75
+ # model.
79
76
  sig do
80
77
  returns(
81
78
  T::Array[
82
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
79
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType
83
80
  ]
84
81
  )
85
82
  end
86
83
  attr_accessor :service_types
87
84
 
88
- # A (provider, model) tuple along with its supported service types and languages.
85
+ # A (provider, model) tuple along with the service surfaces it supports. Each
86
+ # entry in `service_types` describes one surface and the languages accepted on it.
89
87
  sig do
90
88
  params(
91
- languages: T::Array[String],
92
89
  model: String,
93
90
  provider: String,
94
91
  service_types:
95
92
  T::Array[
96
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::OrSymbol
93
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::OrHash
97
94
  ]
98
95
  ).returns(T.attached_class)
99
96
  end
100
97
  def self.new(
101
- # Languages this (provider, model) accepts, in the provider's native code format.
102
- # `auto` indicates the provider performs language detection.
103
- languages:,
104
98
  # Provider-scoped model name.
105
99
  model:,
106
100
  # STT provider name.
107
101
  provider:,
108
- # Service surfaces this (provider, model) supports.
102
+ # Service surfaces this (provider, model) supports. When the request filters by
103
+ # `service_type`, only the matching nested entry is returned for each matching
104
+ # model.
109
105
  service_types:
110
106
  )
111
107
  end
@@ -113,12 +109,11 @@ module Telnyx
113
109
  sig do
114
110
  override.returns(
115
111
  {
116
- languages: T::Array[String],
117
112
  model: String,
118
113
  provider: String,
119
114
  service_types:
120
115
  T::Array[
121
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
116
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType
122
117
  ]
123
118
  }
124
119
  )
@@ -126,43 +121,112 @@ module Telnyx
126
121
  def to_hash
127
122
  end
128
123
 
129
- # Service surface a model is available on.
130
- module ServiceType
131
- extend Telnyx::Internal::Type::Enum
132
-
133
- TaggedSymbol =
124
+ class ServiceType < Telnyx::Internal::Type::BaseModel
125
+ OrHash =
134
126
  T.type_alias do
135
- T.all(
136
- Symbol,
137
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType
127
+ T.any(
128
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType,
129
+ Telnyx::Internal::AnyHash
138
130
  )
139
131
  end
140
- OrSymbol = T.type_alias { T.any(Symbol, String) }
141
132
 
142
- STREAMING =
143
- T.let(
144
- :streaming,
145
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
146
- )
147
- FILE_TRANSCRIPTION =
148
- T.let(
149
- :file_transcription,
150
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
151
- )
152
- IN_CALL_TRANSCRIPTION =
153
- T.let(
154
- :in_call_transcription,
155
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
133
+ # Languages accepted on this service surface, in the provider's native code
134
+ # format. `auto` indicates the provider performs language detection.
135
+ sig { returns(T::Array[String]) }
136
+ attr_accessor :languages
137
+
138
+ # Service surface a model is available on. `ai_assistant` is the STT surface
139
+ # configured via Call Control voice-assistant transcription; it covers both
140
+ # live-streaming and non-streaming/batch models (matching the
141
+ # `TranscriptionConfig.model` enum on `call-control` voice assistants).
142
+ sig do
143
+ returns(
144
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
156
145
  )
146
+ end
147
+ attr_accessor :type
148
+
149
+ # A supported service surface for a given (provider, model), along with the
150
+ # language codes accepted on that surface. Language support can differ per surface
151
+ # — for example, a model may accept a narrower language set for streaming than for
152
+ # file transcription.
153
+ sig do
154
+ params(
155
+ languages: T::Array[String],
156
+ type:
157
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::OrSymbol
158
+ ).returns(T.attached_class)
159
+ end
160
+ def self.new(
161
+ # Languages accepted on this service surface, in the provider's native code
162
+ # format. `auto` indicates the provider performs language detection.
163
+ languages:,
164
+ # Service surface a model is available on. `ai_assistant` is the STT surface
165
+ # configured via Call Control voice-assistant transcription; it covers both
166
+ # live-streaming and non-streaming/batch models (matching the
167
+ # `TranscriptionConfig.model` enum on `call-control` voice assistants).
168
+ type:
169
+ )
170
+ end
157
171
 
158
172
  sig do
159
173
  override.returns(
160
- T::Array[
161
- Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
162
- ]
174
+ {
175
+ languages: T::Array[String],
176
+ type:
177
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
178
+ }
163
179
  )
164
180
  end
165
- def self.values
181
+ def to_hash
182
+ end
183
+
184
+ # Service surface a model is available on. `ai_assistant` is the STT surface
185
+ # configured via Call Control voice-assistant transcription; it covers both
186
+ # live-streaming and non-streaming/batch models (matching the
187
+ # `TranscriptionConfig.model` enum on `call-control` voice assistants).
188
+ module Type
189
+ extend Telnyx::Internal::Type::Enum
190
+
191
+ TaggedSymbol =
192
+ T.type_alias do
193
+ T.all(
194
+ Symbol,
195
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type
196
+ )
197
+ end
198
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
199
+
200
+ STREAMING =
201
+ T.let(
202
+ :streaming,
203
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
204
+ )
205
+ FILE_BASED =
206
+ T.let(
207
+ :file_based,
208
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
209
+ )
210
+ IN_CALL =
211
+ T.let(
212
+ :in_call,
213
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
214
+ )
215
+ AI_ASSISTANT =
216
+ T.let(
217
+ :ai_assistant,
218
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
219
+ )
220
+
221
+ sig do
222
+ override.returns(
223
+ T::Array[
224
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::Type::TaggedSymbol
225
+ ]
226
+ )
227
+ end
228
+ def self.values
229
+ end
166
230
  end
167
231
  end
168
232
  end