telnyx 5.87.0 → 5.88.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 +9 -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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffcd66b079e3b1f383cf0129abf12b67c82ce21c68c0c18fb655abce95ef4361
4
- data.tar.gz: 0d06a0b499a3bb279bec8a233cb5057be066bd5da0c9213bc16178711b98b981
3
+ metadata.gz: b8aa2bce90cfd6f5d0bf6a8c94ac119be05760fc219960f369d5b7f928530a69
4
+ data.tar.gz: b9b7a489e52443c9362ae674bc482cdd0c62e54a16d2c209c1b1ef2aa08efc17
5
5
  SHA512:
6
- metadata.gz: 1eaf982495df8c429c4a9f6feb93565e8167e68d068fbc93c1cf7502944607c361a4266c4330e73832d99accc580f274ca6b0ca3891986653ade9de540c54f55
7
- data.tar.gz: f2877aeee3f1283b58dbb572f23eef9f1bd99b17a995648cde69c0780eebe6e077644bb71d9d4c366bf749ea5d013cc6f6a0623d2f76aa995da2d041a3b15793
6
+ metadata.gz: b4e19f28a9b7795a1e5c1755af50a6607fc89575ec58aa1b8d5e50b37af7c143cb541f336413361b87005adbd1201e38a67f105f2dcd592405f32367987d6cc1
7
+ data.tar.gz: a3f92c589ffcaae6209038921fabee803070633e37b219f135322467612af448ed2bcbae5daa8397c2b5aed8fad20432441b59589dfc4f6a0a387f546e1593b5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.88.0 (2026-04-28)
4
+
5
+ Full Changelog: [v5.87.0...v5.88.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.87.0...v5.88.0)
6
+
7
+ ### Features
8
+
9
+ * Add assistant external LLM forward metadata to OpenAPI ([58c32ab](https://github.com/team-telnyx/telnyx-ruby/commit/58c32aba3db29793440c757429d534912896c093))
10
+ * Document Flux transcription language hints ([f40f787](https://github.com/team-telnyx/telnyx-ruby/commit/f40f787e4d012fc2c1bf785ca5b7d42348893bc0))
11
+
3
12
  ## 5.87.0 (2026-04-28)
4
13
 
5
14
  Full Changelog: [v5.86.0...v5.87.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.86.0...v5.87.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.87.0"
27
+ gem "telnyx", "~> 5.88.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -53,6 +53,16 @@ module Telnyx
53
53
  # @return [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>, nil]
54
54
  optional :enabled_features, -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AI::EnabledFeatures] }
55
55
 
56
+ # @!attribute external_llm
57
+ #
58
+ # @return [Telnyx::Models::AI::AssistantCreateParams::ExternalLlm, nil]
59
+ optional :external_llm, -> { Telnyx::AI::AssistantCreateParams::ExternalLlm }
60
+
61
+ # @!attribute fallback_config
62
+ #
63
+ # @return [Telnyx::Models::AI::AssistantCreateParams::FallbackConfig, nil]
64
+ optional :fallback_config, -> { Telnyx::AI::AssistantCreateParams::FallbackConfig }
65
+
56
66
  # @!attribute greeting
57
67
  # Text that the assistant will use to start the conversation. This may be
58
68
  # templated with
@@ -138,7 +148,7 @@ module Telnyx
138
148
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
139
149
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
140
150
 
141
- # @!method initialize(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: {})
151
+ # @!method initialize(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: {})
142
152
  # Some parameter documentations has been truncated, see
143
153
  # {Telnyx::Models::AI::AssistantCreateParams} for more details.
144
154
  #
@@ -156,6 +166,10 @@ module Telnyx
156
166
  #
157
167
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
158
168
  #
169
+ # @param external_llm [Telnyx::Models::AI::AssistantCreateParams::ExternalLlm]
170
+ #
171
+ # @param fallback_config [Telnyx::Models::AI::AssistantCreateParams::FallbackConfig]
172
+ #
159
173
  # @param greeting [String] Text that the assistant will use to start the conversation. This may be template
160
174
  #
161
175
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
@@ -184,6 +198,200 @@ module Telnyx
184
198
  #
185
199
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
186
200
 
201
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
202
+ # @!attribute base_url
203
+ # Base URL for the external LLM endpoint.
204
+ #
205
+ # @return [String]
206
+ required :base_url, String
207
+
208
+ # @!attribute model
209
+ # Model identifier to use with the external LLM endpoint.
210
+ #
211
+ # @return [String]
212
+ required :model, String
213
+
214
+ # @!attribute authentication_method
215
+ # Authentication method used when connecting to the external LLM endpoint.
216
+ #
217
+ # @return [Symbol, Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::AuthenticationMethod, nil]
218
+ optional :authentication_method,
219
+ enum: -> { Telnyx::AI::AssistantCreateParams::ExternalLlm::AuthenticationMethod }
220
+
221
+ # @!attribute certificate_ref
222
+ # Integration secret identifier for the client certificate used with certificate
223
+ # authentication.
224
+ #
225
+ # @return [String, nil]
226
+ optional :certificate_ref, String
227
+
228
+ # @!attribute forward_metadata
229
+ # When enabled, Telnyx forwards conversation metadata and dynamic variables to the
230
+ # external LLM endpoint. Defaults to false. The external endpoint receives the
231
+ # standard chat completions payload with top-level `metadata` and
232
+ # `dynamic_variables` objects when values are available. For example:
233
+ # `{"metadata":{"conversation_id":"conv_123","assistant_id":"assistant_456","call_control_id":"v3:abc123","telnyx_conversation_channel":"phone_call"},"dynamic_variables":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
234
+ #
235
+ # @return [Boolean, nil]
236
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
237
+
238
+ # @!attribute llm_api_key_ref
239
+ # Integration secret identifier for the external LLM API key.
240
+ #
241
+ # @return [String, nil]
242
+ optional :llm_api_key_ref, String
243
+
244
+ # @!attribute token_retrieval_url
245
+ # URL used to retrieve an access token when certificate authentication is enabled.
246
+ #
247
+ # @return [String, nil]
248
+ optional :token_retrieval_url, String
249
+
250
+ # @!method initialize(base_url:, model:, authentication_method: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, token_retrieval_url: nil)
251
+ # Some parameter documentations has been truncated, see
252
+ # {Telnyx::Models::AI::AssistantCreateParams::ExternalLlm} for more details.
253
+ #
254
+ # @param base_url [String] Base URL for the external LLM endpoint.
255
+ #
256
+ # @param model [String] Model identifier to use with the external LLM endpoint.
257
+ #
258
+ # @param authentication_method [Symbol, Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
259
+ #
260
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
261
+ #
262
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards conversation metadata and dynamic variables to the
263
+ #
264
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
265
+ #
266
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
267
+
268
+ # Authentication method used when connecting to the external LLM endpoint.
269
+ #
270
+ # @see Telnyx::Models::AI::AssistantCreateParams::ExternalLlm#authentication_method
271
+ module AuthenticationMethod
272
+ extend Telnyx::Internal::Type::Enum
273
+
274
+ TOKEN = :token
275
+ CERTIFICATE = :certificate
276
+
277
+ # @!method self.values
278
+ # @return [Array<Symbol>]
279
+ end
280
+ end
281
+
282
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
283
+ # @!attribute external_llm
284
+ #
285
+ # @return [Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm, nil]
286
+ optional :external_llm, -> { Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm }
287
+
288
+ # @!attribute llm_api_key_ref
289
+ # Integration secret identifier for the fallback model API key.
290
+ #
291
+ # @return [String, nil]
292
+ optional :llm_api_key_ref, String
293
+
294
+ # @!attribute model
295
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
296
+ # unavailable.
297
+ #
298
+ # @return [String, nil]
299
+ optional :model, String
300
+
301
+ # @!method initialize(external_llm: nil, llm_api_key_ref: nil, model: nil)
302
+ # Some parameter documentations has been truncated, see
303
+ # {Telnyx::Models::AI::AssistantCreateParams::FallbackConfig} for more details.
304
+ #
305
+ # @param external_llm [Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm]
306
+ #
307
+ # @param llm_api_key_ref [String] Integration secret identifier for the fallback model API key.
308
+ #
309
+ # @param model [String] Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable
310
+
311
+ # @see Telnyx::Models::AI::AssistantCreateParams::FallbackConfig#external_llm
312
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
313
+ # @!attribute base_url
314
+ # Base URL for the external LLM endpoint.
315
+ #
316
+ # @return [String]
317
+ required :base_url, String
318
+
319
+ # @!attribute model
320
+ # Model identifier to use with the external LLM endpoint.
321
+ #
322
+ # @return [String]
323
+ required :model, String
324
+
325
+ # @!attribute authentication_method
326
+ # Authentication method used when connecting to the external LLM endpoint.
327
+ #
328
+ # @return [Symbol, Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::AuthenticationMethod, nil]
329
+ optional :authentication_method,
330
+ enum: -> { Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::AuthenticationMethod }
331
+
332
+ # @!attribute certificate_ref
333
+ # Integration secret identifier for the client certificate used with certificate
334
+ # authentication.
335
+ #
336
+ # @return [String, nil]
337
+ optional :certificate_ref, String
338
+
339
+ # @!attribute forward_metadata
340
+ # When enabled, Telnyx forwards conversation metadata and dynamic variables to the
341
+ # external LLM endpoint. Defaults to false. The external endpoint receives the
342
+ # standard chat completions payload with top-level `metadata` and
343
+ # `dynamic_variables` objects when values are available. For example:
344
+ # `{"metadata":{"conversation_id":"conv_123","assistant_id":"assistant_456","call_control_id":"v3:abc123","telnyx_conversation_channel":"phone_call"},"dynamic_variables":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
345
+ #
346
+ # @return [Boolean, nil]
347
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
348
+
349
+ # @!attribute llm_api_key_ref
350
+ # Integration secret identifier for the external LLM API key.
351
+ #
352
+ # @return [String, nil]
353
+ optional :llm_api_key_ref, String
354
+
355
+ # @!attribute token_retrieval_url
356
+ # URL used to retrieve an access token when certificate authentication is enabled.
357
+ #
358
+ # @return [String, nil]
359
+ optional :token_retrieval_url, String
360
+
361
+ # @!method initialize(base_url:, model:, authentication_method: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, token_retrieval_url: nil)
362
+ # Some parameter documentations has been truncated, see
363
+ # {Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm} for
364
+ # more details.
365
+ #
366
+ # @param base_url [String] Base URL for the external LLM endpoint.
367
+ #
368
+ # @param model [String] Model identifier to use with the external LLM endpoint.
369
+ #
370
+ # @param authentication_method [Symbol, Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
371
+ #
372
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
373
+ #
374
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards conversation metadata and dynamic variables to the
375
+ #
376
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
377
+ #
378
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
379
+
380
+ # Authentication method used when connecting to the external LLM endpoint.
381
+ #
382
+ # @see Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm#authentication_method
383
+ module AuthenticationMethod
384
+ extend Telnyx::Internal::Type::Enum
385
+
386
+ TOKEN = :token
387
+ CERTIFICATE = :certificate
388
+
389
+ # @!method self.values
390
+ # @return [Array<Symbol>]
391
+ end
392
+ end
393
+ end
394
+
187
395
  class PostConversationSettings < Telnyx::Internal::Type::BaseModel
188
396
  # @!attribute enabled
189
397
  # Whether post-conversation processing is enabled. When true, the assistant will
@@ -38,6 +38,16 @@ module Telnyx
38
38
  # @return [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>, nil]
39
39
  optional :enabled_features, -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AI::EnabledFeatures] }
40
40
 
41
+ # @!attribute external_llm
42
+ #
43
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm, nil]
44
+ optional :external_llm, -> { Telnyx::AI::AssistantUpdateParams::ExternalLlm }
45
+
46
+ # @!attribute fallback_config
47
+ #
48
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig, nil]
49
+ optional :fallback_config, -> { Telnyx::AI::AssistantUpdateParams::FallbackConfig }
50
+
41
51
  # @!attribute greeting
42
52
  # Text that the assistant will use to start the conversation. This may be
43
53
  # templated with
@@ -150,7 +160,7 @@ module Telnyx
150
160
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
151
161
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
152
162
 
153
- # @!method initialize(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: {})
163
+ # @!method initialize(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: {})
154
164
  # Some parameter documentations has been truncated, see
155
165
  # {Telnyx::Models::AI::AssistantUpdateParams} for more details.
156
166
  #
@@ -164,6 +174,10 @@ module Telnyx
164
174
  #
165
175
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
166
176
  #
177
+ # @param external_llm [Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm]
178
+ #
179
+ # @param fallback_config [Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig]
180
+ #
167
181
  # @param greeting [String] Text that the assistant will use to start the conversation. This may be template
168
182
  #
169
183
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
@@ -200,6 +214,200 @@ module Telnyx
200
214
  #
201
215
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
202
216
 
217
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
218
+ # @!attribute base_url
219
+ # Base URL for the external LLM endpoint.
220
+ #
221
+ # @return [String]
222
+ required :base_url, String
223
+
224
+ # @!attribute model
225
+ # Model identifier to use with the external LLM endpoint.
226
+ #
227
+ # @return [String]
228
+ required :model, String
229
+
230
+ # @!attribute authentication_method
231
+ # Authentication method used when connecting to the external LLM endpoint.
232
+ #
233
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod, nil]
234
+ optional :authentication_method,
235
+ enum: -> { Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod }
236
+
237
+ # @!attribute certificate_ref
238
+ # Integration secret identifier for the client certificate used with certificate
239
+ # authentication.
240
+ #
241
+ # @return [String, nil]
242
+ optional :certificate_ref, String
243
+
244
+ # @!attribute forward_metadata
245
+ # When enabled, Telnyx forwards conversation metadata and dynamic variables to the
246
+ # external LLM endpoint. Defaults to false. The external endpoint receives the
247
+ # standard chat completions payload with top-level `metadata` and
248
+ # `dynamic_variables` objects when values are available. For example:
249
+ # `{"metadata":{"conversation_id":"conv_123","assistant_id":"assistant_456","call_control_id":"v3:abc123","telnyx_conversation_channel":"phone_call"},"dynamic_variables":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
250
+ #
251
+ # @return [Boolean, nil]
252
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
253
+
254
+ # @!attribute llm_api_key_ref
255
+ # Integration secret identifier for the external LLM API key.
256
+ #
257
+ # @return [String, nil]
258
+ optional :llm_api_key_ref, String
259
+
260
+ # @!attribute token_retrieval_url
261
+ # URL used to retrieve an access token when certificate authentication is enabled.
262
+ #
263
+ # @return [String, nil]
264
+ optional :token_retrieval_url, String
265
+
266
+ # @!method initialize(base_url:, model:, authentication_method: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, token_retrieval_url: nil)
267
+ # Some parameter documentations has been truncated, see
268
+ # {Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm} for more details.
269
+ #
270
+ # @param base_url [String] Base URL for the external LLM endpoint.
271
+ #
272
+ # @param model [String] Model identifier to use with the external LLM endpoint.
273
+ #
274
+ # @param authentication_method [Symbol, Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
275
+ #
276
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
277
+ #
278
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards conversation metadata and dynamic variables to the
279
+ #
280
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
281
+ #
282
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
283
+
284
+ # Authentication method used when connecting to the external LLM endpoint.
285
+ #
286
+ # @see Telnyx::Models::AI::AssistantUpdateParams::ExternalLlm#authentication_method
287
+ module AuthenticationMethod
288
+ extend Telnyx::Internal::Type::Enum
289
+
290
+ TOKEN = :token
291
+ CERTIFICATE = :certificate
292
+
293
+ # @!method self.values
294
+ # @return [Array<Symbol>]
295
+ end
296
+ end
297
+
298
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
299
+ # @!attribute external_llm
300
+ #
301
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm, nil]
302
+ optional :external_llm, -> { Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm }
303
+
304
+ # @!attribute llm_api_key_ref
305
+ # Integration secret identifier for the fallback model API key.
306
+ #
307
+ # @return [String, nil]
308
+ optional :llm_api_key_ref, String
309
+
310
+ # @!attribute model
311
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
312
+ # unavailable.
313
+ #
314
+ # @return [String, nil]
315
+ optional :model, String
316
+
317
+ # @!method initialize(external_llm: nil, llm_api_key_ref: nil, model: nil)
318
+ # Some parameter documentations has been truncated, see
319
+ # {Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig} for more details.
320
+ #
321
+ # @param external_llm [Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm]
322
+ #
323
+ # @param llm_api_key_ref [String] Integration secret identifier for the fallback model API key.
324
+ #
325
+ # @param model [String] Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable
326
+
327
+ # @see Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig#external_llm
328
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
329
+ # @!attribute base_url
330
+ # Base URL for the external LLM endpoint.
331
+ #
332
+ # @return [String]
333
+ required :base_url, String
334
+
335
+ # @!attribute model
336
+ # Model identifier to use with the external LLM endpoint.
337
+ #
338
+ # @return [String]
339
+ required :model, String
340
+
341
+ # @!attribute authentication_method
342
+ # Authentication method used when connecting to the external LLM endpoint.
343
+ #
344
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod, nil]
345
+ optional :authentication_method,
346
+ enum: -> { Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod }
347
+
348
+ # @!attribute certificate_ref
349
+ # Integration secret identifier for the client certificate used with certificate
350
+ # authentication.
351
+ #
352
+ # @return [String, nil]
353
+ optional :certificate_ref, String
354
+
355
+ # @!attribute forward_metadata
356
+ # When enabled, Telnyx forwards conversation metadata and dynamic variables to the
357
+ # external LLM endpoint. Defaults to false. The external endpoint receives the
358
+ # standard chat completions payload with top-level `metadata` and
359
+ # `dynamic_variables` objects when values are available. For example:
360
+ # `{"metadata":{"conversation_id":"conv_123","assistant_id":"assistant_456","call_control_id":"v3:abc123","telnyx_conversation_channel":"phone_call"},"dynamic_variables":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
361
+ #
362
+ # @return [Boolean, nil]
363
+ optional :forward_metadata, Telnyx::Internal::Type::Boolean
364
+
365
+ # @!attribute llm_api_key_ref
366
+ # Integration secret identifier for the external LLM API key.
367
+ #
368
+ # @return [String, nil]
369
+ optional :llm_api_key_ref, String
370
+
371
+ # @!attribute token_retrieval_url
372
+ # URL used to retrieve an access token when certificate authentication is enabled.
373
+ #
374
+ # @return [String, nil]
375
+ optional :token_retrieval_url, String
376
+
377
+ # @!method initialize(base_url:, model:, authentication_method: nil, certificate_ref: nil, forward_metadata: nil, llm_api_key_ref: nil, token_retrieval_url: nil)
378
+ # Some parameter documentations has been truncated, see
379
+ # {Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm} for
380
+ # more details.
381
+ #
382
+ # @param base_url [String] Base URL for the external LLM endpoint.
383
+ #
384
+ # @param model [String] Model identifier to use with the external LLM endpoint.
385
+ #
386
+ # @param authentication_method [Symbol, Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod] Authentication method used when connecting to the external LLM endpoint.
387
+ #
388
+ # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
389
+ #
390
+ # @param forward_metadata [Boolean] When enabled, Telnyx forwards conversation metadata and dynamic variables to the
391
+ #
392
+ # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
393
+ #
394
+ # @param token_retrieval_url [String] URL used to retrieve an access token when certificate authentication is enabled.
395
+
396
+ # Authentication method used when connecting to the external LLM endpoint.
397
+ #
398
+ # @see Telnyx::Models::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm#authentication_method
399
+ module AuthenticationMethod
400
+ extend Telnyx::Internal::Type::Enum
401
+
402
+ TOKEN = :token
403
+ CERTIFICATE = :certificate
404
+
405
+ # @!method self.values
406
+ # @return [Array<Symbol>]
407
+ end
408
+ end
409
+ end
410
+
203
411
  class PostConversationSettings < Telnyx::Internal::Type::BaseModel
204
412
  # @!attribute enabled
205
413
  # Whether post-conversation processing is enabled. When true, the assistant will