telnyx 5.122.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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -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/messaging_profile_update_params.rb +9 -1
  12. data/lib/telnyx/models/sip_registration_status_retrieve_params.rb +45 -0
  13. data/lib/telnyx/models/sip_registration_status_retrieve_response.rb +160 -0
  14. data/lib/telnyx/models/speech_to_text_list_providers_params.rb +16 -5
  15. data/lib/telnyx/models/speech_to_text_list_providers_response.rb +55 -23
  16. data/lib/telnyx/models.rb +3 -1
  17. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  18. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  19. data/lib/telnyx/resources/ai.rb +4 -4
  20. data/lib/telnyx/resources/messaging_profiles.rb +3 -1
  21. data/lib/telnyx/resources/sip_registration_status.rb +45 -0
  22. data/lib/telnyx/resources/speech_to_text.rb +6 -5
  23. data/lib/telnyx/version.rb +1 -1
  24. data/lib/telnyx.rb +5 -2
  25. data/rbi/telnyx/client.rbi +4 -0
  26. data/rbi/telnyx/models/ai/assistant_create_params.rbi +1411 -0
  27. data/rbi/telnyx/models/ai/assistant_update_params.rbi +1411 -0
  28. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +1417 -0
  29. data/rbi/telnyx/models/ai/inference_embedding.rbi +1454 -0
  30. data/rbi/telnyx/models/{ai_create_response_params.rbi → ai_create_response_deprecated_params.rbi} +5 -2
  31. data/rbi/telnyx/models/{ai_create_response_response.rbi → ai_create_response_deprecated_response.rbi} +1 -1
  32. data/rbi/telnyx/models/messaging_profile_update_params.rbi +8 -0
  33. data/rbi/telnyx/models/sip_registration_status_retrieve_params.rbi +93 -0
  34. data/rbi/telnyx/models/sip_registration_status_retrieve_response.rbi +343 -0
  35. data/rbi/telnyx/models/speech_to_text_list_providers_params.rbi +27 -7
  36. data/rbi/telnyx/models/speech_to_text_list_providers_response.rbi +107 -43
  37. data/rbi/telnyx/models.rbi +5 -1
  38. data/rbi/telnyx/resources/ai/assistants/versions.rbi +8 -0
  39. data/rbi/telnyx/resources/ai/assistants.rbi +16 -0
  40. data/rbi/telnyx/resources/ai.rbi +1 -1
  41. data/rbi/telnyx/resources/messaging_profiles.rbi +3 -0
  42. data/rbi/telnyx/resources/sip_registration_status.rbi +34 -0
  43. data/rbi/telnyx/resources/speech_to_text.rbi +11 -5
  44. data/sig/telnyx/client.rbs +2 -0
  45. data/sig/telnyx/models/ai/assistant_create_params.rbs +508 -0
  46. data/sig/telnyx/models/ai/assistant_update_params.rbs +508 -0
  47. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +511 -0
  48. data/sig/telnyx/models/ai/inference_embedding.rbs +526 -0
  49. data/sig/telnyx/models/{ai_create_response_params.rbs → ai_create_response_deprecated_params.rbs} +2 -2
  50. data/sig/telnyx/models/ai_create_response_deprecated_response.rbs +7 -0
  51. data/sig/telnyx/models/messaging_profile_update_params.rbs +5 -0
  52. data/sig/telnyx/models/sip_registration_status_retrieve_params.rbs +41 -0
  53. data/sig/telnyx/models/sip_registration_status_retrieve_response.rbs +164 -0
  54. data/sig/telnyx/models/speech_to_text_list_providers_params.rbs +4 -4
  55. data/sig/telnyx/models/speech_to_text_list_providers_response.rbs +33 -16
  56. data/sig/telnyx/models.rbs +3 -1
  57. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  58. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  59. data/sig/telnyx/resources/ai.rbs +2 -2
  60. data/sig/telnyx/resources/messaging_profiles.rbs +1 -0
  61. data/sig/telnyx/resources/sip_registration_status.rbs +13 -0
  62. metadata +17 -8
  63. data/sig/telnyx/models/ai_create_response_response.rbs +0 -7
@@ -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
@@ -46,7 +46,8 @@ module Telnyx
46
46
 
47
47
  AI = Telnyx::Models::AI
48
48
 
49
- AICreateResponseParams = Telnyx::Models::AICreateResponseParams
49
+ AICreateResponseDeprecatedParams =
50
+ Telnyx::Models::AICreateResponseDeprecatedParams
50
51
 
51
52
  AIRetrieveModelsParams = Telnyx::Models::AIRetrieveModelsParams
52
53
 
@@ -1682,6 +1683,9 @@ module Telnyx
1682
1683
 
1683
1684
  SiprecConnectorUpdateParams = Telnyx::Models::SiprecConnectorUpdateParams
1684
1685
 
1686
+ SipRegistrationStatusRetrieveParams =
1687
+ Telnyx::Models::SipRegistrationStatusRetrieveParams
1688
+
1685
1689
  SoundModifications = Telnyx::Models::SoundModifications
1686
1690
 
1687
1691
  SpeechToTextListProvidersParams =
@@ -32,6 +32,8 @@ module Telnyx
32
32
  params(
33
33
  version_id: String,
34
34
  assistant_id: String,
35
+ conversation_flow:
36
+ Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::OrHash,
35
37
  description: String,
36
38
  dynamic_variables: T::Hash[Symbol, T.anything],
37
39
  dynamic_variables_webhook_timeout_ms: Integer,
@@ -84,6 +86,12 @@ module Telnyx
84
86
  version_id,
85
87
  # Path param
86
88
  assistant_id:,
89
+ # Body param: Conversation flow as supplied by API clients (create / update).
90
+ #
91
+ # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
92
+ # unique node/edge IDs, that `start_node_id` references a real node, and that
93
+ # every edge's endpoints reference real nodes.
94
+ conversation_flow: nil,
87
95
  # Body param
88
96
  description: nil,
89
97
  # Body param: Map of dynamic variables and their default values
@@ -34,6 +34,8 @@ module Telnyx
34
34
  params(
35
35
  instructions: String,
36
36
  name: String,
37
+ conversation_flow:
38
+ Telnyx::AI::AssistantCreateParams::ConversationFlow::OrHash,
37
39
  description: String,
38
40
  dynamic_variables: T::Hash[Symbol, T.anything],
39
41
  dynamic_variables_webhook_timeout_ms: Integer,
@@ -83,6 +85,12 @@ module Telnyx
83
85
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
84
86
  instructions:,
85
87
  name:,
88
+ # Conversation flow as supplied by API clients (create / update).
89
+ #
90
+ # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
91
+ # unique node/edge IDs, that `start_node_id` references a real node, and that
92
+ # every edge's endpoints reference real nodes.
93
+ conversation_flow: nil,
86
94
  description: nil,
87
95
  # Map of dynamic variables and their default values
88
96
  dynamic_variables: nil,
@@ -193,6 +201,8 @@ module Telnyx
193
201
  sig do
194
202
  params(
195
203
  assistant_id: String,
204
+ conversation_flow:
205
+ Telnyx::AI::AssistantUpdateParams::ConversationFlow::OrHash,
196
206
  description: String,
197
207
  dynamic_variables: T::Hash[Symbol, T.anything],
198
208
  dynamic_variables_webhook_timeout_ms: Integer,
@@ -243,6 +253,12 @@ module Telnyx
243
253
  end
244
254
  def update(
245
255
  assistant_id,
256
+ # Conversation flow as supplied by API clients (create / update).
257
+ #
258
+ # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
259
+ # unique node/edge IDs, that `start_node_id` references a real node, and that
260
+ # every edge's endpoints reference real nodes.
261
+ conversation_flow: nil,
246
262
  description: nil,
247
263
  # Map of dynamic variables and their default values
248
264
  dynamic_variables: nil,
@@ -58,7 +58,7 @@ module Telnyx
58
58
  request_options: Telnyx::RequestOptions::OrHash
59
59
  ).returns(T::Hash[Symbol, T.anything])
60
60
  end
61
- def create_response(body:, request_options: {})
61
+ def create_response_deprecated(body:, request_options: {})
62
62
  end
63
63
 
64
64
  # **Deprecated**: Use `GET /v2/ai/openai/models` instead.
@@ -113,6 +113,7 @@ module Telnyx
113
113
  sig do
114
114
  params(
115
115
  messaging_profile_id: String,
116
+ ai_assistant_id: T.nilable(String),
116
117
  alpha_sender: T.nilable(String),
117
118
  daily_spend_limit: String,
118
119
  daily_spend_limit_enabled: T::Boolean,
@@ -137,6 +138,8 @@ module Telnyx
137
138
  def update(
138
139
  # The id of the messaging profile to retrieve
139
140
  messaging_profile_id,
141
+ # The ID of the AI assistant associated with this messaging profile.
142
+ ai_assistant_id: nil,
140
143
  # The alphanumeric sender ID to use when sending to destinations that require an
141
144
  # alphanumeric sender ID.
142
145
  alpha_sender: nil,
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ # UAC connection operations
6
+ class SipRegistrationStatus
7
+ # Returns the live SIP registration state of a UAC connection: whether it is
8
+ # currently registered, when it last registered, and the last response Telnyx
9
+ # received from the registrar. Only `uac_external_credential` is supported today.
10
+ sig do
11
+ params(
12
+ connection_id: String,
13
+ credential_type:
14
+ Telnyx::SipRegistrationStatusRetrieveParams::CredentialType::OrSymbol,
15
+ request_options: Telnyx::RequestOptions::OrHash
16
+ ).returns(Telnyx::Models::SipRegistrationStatusRetrieveResponse)
17
+ end
18
+ def retrieve(
19
+ # Identifier of the UAC connection to look up.
20
+ connection_id:,
21
+ # The kind of credential to look up. Only `uac_external_credential` is supported
22
+ # today.
23
+ credential_type:,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # @api private
29
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
30
+ def self.new(client:)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -11,10 +11,11 @@ module Telnyx
11
11
  #
12
12
  # - `streaming` — standalone WebSocket transcription via
13
13
  # `/speech-to-text/transcription`.
14
- # - `file_transcription` — file-based transcription via
15
- # `/ai/audio/transcriptions`.
16
- # - `in_call_transcription` — live call transcription via Call Control
17
- # `transcription_start`.
14
+ # - `file_based` — file-based transcription via `/ai/audio/transcriptions`.
15
+ # - `in_call` — live call transcription via Call Control `transcription_start`.
16
+ # - `ai_assistant` — STT configured on a Call Control AI Assistant via
17
+ # voice-assistant `TranscriptionConfig` (covers both live-streaming and
18
+ # non-streaming/batch models).
18
19
  #
19
20
  # Use this endpoint to discover which (provider, model) combinations are available
20
21
  # for the surface you need, and which language codes each accepts. `auto` in a
@@ -34,7 +35,12 @@ module Telnyx
34
35
  # models currently registered for any service type will return an empty `data`
35
36
  # array rather than an error.
36
37
  provider: nil,
37
- # Filter to entries that support the given service type.
38
+ # Filter to entries that support the given service type. For backward
39
+ # compatibility with the values that briefly shipped before the product-aligned
40
+ # rename, the legacy aliases `file_transcription`, `in_call_transcription`, and
41
+ # `ai_assistant_transcription` are silently accepted and normalized to
42
+ # `file_based`, `in_call`, and `ai_assistant` respectively. The response always
43
+ # emits the canonical (post-rename) values.
38
44
  service_type: nil,
39
45
  request_options: {}
40
46
  )
@@ -344,6 +344,8 @@ module Telnyx
344
344
 
345
345
  attr_reader uac_connections: Telnyx::Resources::UacConnections
346
346
 
347
+ attr_reader sip_registration_status: Telnyx::Resources::SipRegistrationStatus
348
+
347
349
  attr_reader speech_to_text: Telnyx::Resources::SpeechToText
348
350
 
349
351
  attr_reader voice_sdk_call_reports: Telnyx::Resources::VoiceSDKCallReports