telnyx 5.87.0 → 5.89.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +209 -1
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +209 -1
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +212 -1
  7. data/lib/telnyx/models/ai/inference_embedding.rb +211 -1
  8. data/lib/telnyx/models/ai/transcription_settings.rb +7 -4
  9. data/lib/telnyx/models/call_assistant_request.rb +209 -6
  10. data/lib/telnyx/resources/ai/assistants/versions.rb +5 -1
  11. data/lib/telnyx/resources/ai/assistants.rb +10 -2
  12. data/lib/telnyx/version.rb +1 -1
  13. data/rbi/telnyx/models/ai/assistant_create_params.rbi +419 -0
  14. data/rbi/telnyx/models/ai/assistant_update_params.rbi +419 -0
  15. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +425 -0
  16. data/rbi/telnyx/models/ai/inference_embedding.rbi +415 -0
  17. data/rbi/telnyx/models/ai/transcription_settings.rbi +11 -5
  18. data/rbi/telnyx/models/call_assistant_request.rbi +416 -8
  19. data/rbi/telnyx/resources/ai/assistants/versions.rbi +8 -0
  20. data/rbi/telnyx/resources/ai/assistants.rbi +12 -0
  21. data/sig/telnyx/models/ai/assistant_create_params.rbs +193 -0
  22. data/sig/telnyx/models/ai/assistant_update_params.rbs +193 -0
  23. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +193 -0
  24. data/sig/telnyx/models/ai/inference_embedding.rbs +193 -0
  25. data/sig/telnyx/models/call_assistant_request.rbs +197 -10
  26. data/sig/telnyx/resources/ai/assistants/versions.rbs +2 -0
  27. data/sig/telnyx/resources/ai/assistants.rbs +4 -0
  28. metadata +1 -1
@@ -24,14 +24,14 @@ module Telnyx
24
24
  # @!attribute external_llm
25
25
  # External LLM configuration for bringing your own LLM endpoint.
26
26
  #
27
- # @return [Hash{Symbol=>Object}, nil]
28
- optional :external_llm, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
27
+ # @return [Telnyx::Models::CallAssistantRequest::ExternalLlm, nil]
28
+ optional :external_llm, -> { Telnyx::CallAssistantRequest::ExternalLlm }
29
29
 
30
30
  # @!attribute fallback_config
31
31
  # Fallback LLM configuration used when the primary LLM provider is unavailable.
32
32
  #
33
- # @return [Hash{Symbol=>Object}, nil]
34
- optional :fallback_config, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
33
+ # @return [Telnyx::Models::CallAssistantRequest::FallbackConfig, nil]
34
+ optional :fallback_config, -> { Telnyx::CallAssistantRequest::FallbackConfig }
35
35
 
36
36
  # @!attribute greeting
37
37
  # Initial greeting text spoken when the assistant starts. Can be plain text for
@@ -116,9 +116,9 @@ module Telnyx
116
116
  #
117
117
  # @param dynamic_variables [Hash{Symbol=>String, Float, Boolean}] Map of dynamic variables and their default values. Dynamic variables can be refe
118
118
  #
119
- # @param external_llm [Hash{Symbol=>Object}] External LLM configuration for bringing your own LLM endpoint.
119
+ # @param external_llm [Telnyx::Models::CallAssistantRequest::ExternalLlm] External LLM configuration for bringing your own LLM endpoint.
120
120
  #
121
- # @param fallback_config [Hash{Symbol=>Object}] Fallback LLM configuration used when the primary LLM provider is unavailable.
121
+ # @param fallback_config [Telnyx::Models::CallAssistantRequest::FallbackConfig] Fallback LLM configuration used when the primary LLM provider is unavailable.
122
122
  #
123
123
  # @param greeting [String] Initial greeting text spoken when the assistant starts. Can be plain text for an
124
124
  #
@@ -151,6 +151,209 @@ module Telnyx
151
151
  # @return [Array(String, Float, Boolean)]
152
152
  end
153
153
 
154
+ # @see Telnyx::Models::CallAssistantRequest#external_llm
155
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
156
+ # @!attribute authentication_method
157
+ # Authentication method used when connecting to the external LLM endpoint.
158
+ #
159
+ # @return [Symbol, Telnyx::Models::CallAssistantRequest::ExternalLlm::AuthenticationMethod, nil]
160
+ optional :authentication_method,
161
+ enum: -> { Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod }
162
+
163
+ # @!attribute base_url
164
+ # Base URL for the external LLM endpoint.
165
+ #
166
+ # @return [String, nil]
167
+ optional :base_url, String
168
+
169
+ # @!attribute certificate_ref
170
+ # Integration secret identifier for the client certificate used with certificate
171
+ # authentication.
172
+ #
173
+ # @return [String, nil]
174
+ optional :certificate_ref, String
175
+
176
+ # @!attribute forward_metadata
177
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
178
+ # LLM endpoint. Defaults to false. The chat completion request includes a
179
+ # top-level `extra_metadata` object when dynamic variables are available. For
180
+ # example:
181
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
182
+ #
183
+ # @return [Boolean, nil]
184
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
185
+
186
+ # @!attribute llm_api_key_ref
187
+ # Integration secret identifier for the external LLM API key.
188
+ #
189
+ # @return [String, nil]
190
+ optional :llm_api_key_ref, String
191
+
192
+ # @!attribute model
193
+ # Model identifier to use with the external LLM endpoint.
194
+ #
195
+ # @return [String, nil]
196
+ optional :model, String
197
+
198
+ # @!attribute token_retrieval_url
199
+ # URL used to retrieve an access token when certificate authentication is enabled.
200
+ #
201
+ # @return [String, nil]
202
+ optional :token_retrieval_url, String
203
+
204
+ # @!method initialize(authentication_method: nil, base_url: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, model: nil, token_retrieval_url: nil)
205
+ # Some parameter documentations has been truncated, see
206
+ # {Telnyx::Models::CallAssistantRequest::ExternalLlm} for more details.
207
+ #
208
+ # External LLM configuration for bringing your own LLM endpoint.
209
+ #
210
+ # @param authentication_method [Symbol, Telnyx::Models::CallAssistantRequest::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
211
+ #
212
+ # @param base_url [String] Base URL for the external LLM endpoint.
213
+ #
214
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
215
+ #
216
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards the assistant's dynamic variables to the external
217
+ #
218
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
219
+ #
220
+ # @param model [String] Model identifier to use with the external LLM endpoint.
221
+ #
222
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
223
+
224
+ # Authentication method used when connecting to the external LLM endpoint.
225
+ #
226
+ # @see Telnyx::Models::CallAssistantRequest::ExternalLlm#authentication_method
227
+ module AuthenticationMethod
228
+ extend Telnyx::Internal::Type::Enum
229
+
230
+ TOKEN = :token
231
+ CERTIFICATE = :certificate
232
+
233
+ # @!method self.values
234
+ # @return [Array<Symbol>]
235
+ end
236
+ end
237
+
238
+ # @see Telnyx::Models::CallAssistantRequest#fallback_config
239
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
240
+ # @!attribute external_llm
241
+ # External LLM fallback configuration.
242
+ #
243
+ # @return [Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm, nil]
244
+ optional :external_llm, -> { Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm }
245
+
246
+ # @!attribute llm_api_key_ref
247
+ # Integration secret identifier for the fallback model API key.
248
+ #
249
+ # @return [String, nil]
250
+ optional :llm_api_key_ref, String
251
+
252
+ # @!attribute model
253
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
254
+ # unavailable.
255
+ #
256
+ # @return [String, nil]
257
+ optional :model, String
258
+
259
+ # @!method initialize(external_llm: nil, llm_api_key_ref: nil, model: nil)
260
+ # Some parameter documentations has been truncated, see
261
+ # {Telnyx::Models::CallAssistantRequest::FallbackConfig} for more details.
262
+ #
263
+ # Fallback LLM configuration used when the primary LLM provider is unavailable.
264
+ #
265
+ # @param external_llm [Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm] External LLM fallback configuration.
266
+ #
267
+ # @param llm_api_key_ref [String] Integration secret identifier for the fallback model API key.
268
+ #
269
+ # @param model [String] Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable
270
+
271
+ # @see Telnyx::Models::CallAssistantRequest::FallbackConfig#external_llm
272
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
273
+ # @!attribute authentication_method
274
+ # Authentication method used when connecting to the external LLM endpoint.
275
+ #
276
+ # @return [Symbol, Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod, nil]
277
+ optional :authentication_method,
278
+ enum: -> { Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod }
279
+
280
+ # @!attribute base_url
281
+ # Base URL for the external LLM endpoint.
282
+ #
283
+ # @return [String, nil]
284
+ optional :base_url, String
285
+
286
+ # @!attribute certificate_ref
287
+ # Integration secret identifier for the client certificate used with certificate
288
+ # authentication.
289
+ #
290
+ # @return [String, nil]
291
+ optional :certificate_ref, String
292
+
293
+ # @!attribute forward_metadata
294
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
295
+ # LLM endpoint. Defaults to false. The chat completion request includes a
296
+ # top-level `extra_metadata` object when dynamic variables are available. For
297
+ # example:
298
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
299
+ #
300
+ # @return [Boolean, nil]
301
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
302
+
303
+ # @!attribute llm_api_key_ref
304
+ # Integration secret identifier for the external LLM API key.
305
+ #
306
+ # @return [String, nil]
307
+ optional :llm_api_key_ref, String
308
+
309
+ # @!attribute model
310
+ # Model identifier to use with the external LLM endpoint.
311
+ #
312
+ # @return [String, nil]
313
+ optional :model, String
314
+
315
+ # @!attribute token_retrieval_url
316
+ # URL used to retrieve an access token when certificate authentication is enabled.
317
+ #
318
+ # @return [String, nil]
319
+ optional :token_retrieval_url, String
320
+
321
+ # @!method initialize(authentication_method: nil, base_url: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, model: nil, token_retrieval_url: nil)
322
+ # Some parameter documentations has been truncated, see
323
+ # {Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm} for more
324
+ # details.
325
+ #
326
+ # External LLM fallback configuration.
327
+ #
328
+ # @param authentication_method [Symbol, Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
329
+ #
330
+ # @param base_url [String] Base URL for the external LLM endpoint.
331
+ #
332
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
333
+ #
334
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards the assistant's dynamic variables to the external
335
+ #
336
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
337
+ #
338
+ # @param model [String] Model identifier to use with the external LLM endpoint.
339
+ #
340
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
341
+
342
+ # Authentication method used when connecting to the external LLM endpoint.
343
+ #
344
+ # @see Telnyx::Models::CallAssistantRequest::FallbackConfig::ExternalLlm#authentication_method
345
+ module AuthenticationMethod
346
+ extend Telnyx::Internal::Type::Enum
347
+
348
+ TOKEN = :token
349
+ CERTIFICATE = :certificate
350
+
351
+ # @!method self.values
352
+ # @return [Array<Symbol>]
353
+ end
354
+ end
355
+ end
356
+
154
357
  module Tool
155
358
  extend Telnyx::Internal::Type::Union
156
359
 
@@ -43,7 +43,7 @@ module Telnyx
43
43
  # Updates the configuration of a specific assistant version. Can not update main
44
44
  # version
45
45
  #
46
- # @overload update(version_id, assistant_id:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
46
+ # @overload update(version_id, assistant_id:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
47
47
  #
48
48
  # @param version_id [String] Path param
49
49
  #
@@ -57,6 +57,10 @@ module Telnyx
57
57
  #
58
58
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>] Body param
59
59
  #
60
+ # @param external_llm [Telnyx::Models::AI::Assistants::UpdateAssistant::ExternalLlm] Body param
61
+ #
62
+ # @param fallback_config [Telnyx::Models::AI::Assistants::UpdateAssistant::FallbackConfig] Body param
63
+ #
60
64
  # @param greeting [String] Body param: Text that the assistant will use to start the conversation. This may
61
65
  #
62
66
  # @param insight_settings [Telnyx::Models::AI::InsightSettings] Body param
@@ -34,7 +34,7 @@ module Telnyx
34
34
  #
35
35
  # Create a new AI Assistant.
36
36
  #
37
- # @overload create(instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
37
+ # @overload create(instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
38
38
  #
39
39
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
40
40
  #
@@ -50,6 +50,10 @@ module Telnyx
50
50
  #
51
51
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
52
52
  #
53
+ # @param external_llm [Telnyx::Models::AI::AssistantCreateParams::ExternalLlm]
54
+ #
55
+ # @param fallback_config [Telnyx::Models::AI::AssistantCreateParams::FallbackConfig]
56
+ #
53
57
  # @param greeting [String] Text that the assistant will use to start the conversation. This may be template
54
58
  #
55
59
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
@@ -123,7 +127,7 @@ module Telnyx
123
127
  #
124
128
  # Update an AI Assistant's attributes.
125
129
  #
126
- # @overload update(assistant_id, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
130
+ # @overload update(assistant_id, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
127
131
  #
128
132
  # @param assistant_id [String]
129
133
  #
@@ -135,6 +139,10 @@ module Telnyx
135
139
  #
136
140
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
137
141
  #
142
+ # @param external_llm [Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm]
143
+ #
144
+ # @param fallback_config [Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig]
145
+ #
138
146
  # @param greeting [String] Text that the assistant will use to start the conversation. This may be template
139
147
  #
140
148
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.87.0"
4
+ VERSION = "5.89.0"
5
5
  end