telnyx 5.92.0 → 5.93.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.
@@ -23,9 +23,11 @@ module Telnyx
23
23
  required :instructions, String
24
24
 
25
25
  # @!attribute model
26
- # ID of the model to use. You can use the
26
+ # ID of the model to use when `external_llm` is not set. You can use the
27
27
  # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
28
- # to see all of your available models,
28
+ # to see available models. If `external_llm` is provided, the assistant uses
29
+ # `external_llm` instead of this field. If neither `model` nor `external_llm` is
30
+ # provided, Telnyx applies the default model.
29
31
  #
30
32
  # @return [String]
31
33
  required :model, String
@@ -46,11 +48,24 @@ module Telnyx
46
48
  # @return [Hash{Symbol=>Object}, nil]
47
49
  optional :dynamic_variables, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
48
50
 
51
+ # @!attribute dynamic_variables_webhook_timeout_ms
52
+ # Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
53
+ # 10000 ms. If the webhook does not respond within this timeout, the call proceeds
54
+ # with default values. See the
55
+ # [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
56
+ #
57
+ # @return [Integer, nil]
58
+ optional :dynamic_variables_webhook_timeout_ms, Integer
59
+
49
60
  # @!attribute dynamic_variables_webhook_url
50
- # If the dynamic_variables_webhook_url is set for the assistant, we will send a
51
- # request at the start of the conversation. See our
52
- # [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
53
- # for more information.
61
+ # If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this
62
+ # URL at the start of the conversation to resolve dynamic variables. **Gotcha:**
63
+ # the webhook response must wrap variables under a top-level `dynamic_variables`
64
+ # object, e.g. `{"dynamic_variables": {"customer_name": "Jane"}}`. Returning a
65
+ # flat object will be ignored and variables will fall back to their defaults. See
66
+ # the
67
+ # [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
68
+ # for the full request/response format and timeout behavior.
54
69
  #
55
70
  # @return [String, nil]
56
71
  optional :dynamic_variables_webhook_url, String
@@ -91,16 +106,45 @@ module Telnyx
91
106
  # @return [Telnyx::Models::AI::InsightSettings, nil]
92
107
  optional :insight_settings, -> { Telnyx::AI::InsightSettings }
93
108
 
109
+ # @!attribute integrations
110
+ # Connected integrations attached to the assistant. The catalog of available
111
+ # integrations is at `/ai/integrations`; the user's connected integrations are at
112
+ # `/ai/integrations/connections`. Each item references a catalog integration by
113
+ # `integration_id`.
114
+ #
115
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>, nil]
116
+ optional :integrations,
117
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::Integration] }
118
+
119
+ # @!attribute interruption_settings
120
+ # Settings for interruptions and how the assistant decides the user has finished
121
+ # speaking. These timings are most relevant when using non turn-taking
122
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
123
+ # behavior is controlled by the transcription end-of-turn settings under
124
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
125
+ # `eager_eot_threshold`).
126
+ #
127
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings, nil]
128
+ optional :interruption_settings, -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings }
129
+
94
130
  # @!attribute llm_api_key_ref
95
- # This is only needed when using third-party inference providers. The `identifier`
96
- # for an integration secret
131
+ # This is only needed when using third-party inference providers selected by
132
+ # `model`. The `identifier` for an integration secret
97
133
  # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
98
- # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
99
- # work with this integration.
134
+ # that refers to your LLM provider's API key. For bring-your-own endpoint
135
+ # authentication, use `external_llm.llm_api_key_ref` instead. Warning: Free plans
136
+ # are unlikely to work with this integration.
100
137
  #
101
138
  # @return [String, nil]
102
139
  optional :llm_api_key_ref, String
103
140
 
141
+ # @!attribute mcp_servers
142
+ # MCP servers attached to the assistant. Create MCP servers with
143
+ # `/ai/mcp_servers`, then reference them by `id` here.
144
+ #
145
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>, nil]
146
+ optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::McpServer] }
147
+
104
148
  # @!attribute messaging_settings
105
149
  #
106
150
  # @return [Telnyx::Models::AI::MessagingSettings, nil]
@@ -127,14 +171,28 @@ module Telnyx
127
171
  # @return [Telnyx::Models::AI::PrivacySettings, nil]
128
172
  optional :privacy_settings, -> { Telnyx::AI::PrivacySettings }
129
173
 
174
+ # @!attribute related_mission_ids
175
+ # IDs of missions related to this assistant.
176
+ #
177
+ # @return [Array<String>, nil]
178
+ optional :related_mission_ids, Telnyx::Internal::Type::ArrayOf[String]
179
+
180
+ # @!attribute tags
181
+ # Tags associated with the assistant. Tags can also be managed with the assistant
182
+ # tag endpoints.
183
+ #
184
+ # @return [Array<String>, nil]
185
+ optional :tags, Telnyx::Internal::Type::ArrayOf[String]
186
+
130
187
  # @!attribute telephony_settings
131
188
  #
132
189
  # @return [Telnyx::Models::AI::TelephonySettings, nil]
133
190
  optional :telephony_settings, -> { Telnyx::AI::TelephonySettings }
134
191
 
135
192
  # @!attribute tools
136
- # The tools that the assistant can use. These may be templated with
137
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
193
+ # Deprecated for new integrations. Inline tool definitions available to the
194
+ # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
195
+ # endpoints.
138
196
  #
139
197
  # @return [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>, nil]
140
198
  optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
@@ -144,6 +202,25 @@ module Telnyx
144
202
  # @return [Telnyx::Models::AI::TranscriptionSettings, nil]
145
203
  optional :transcription, -> { Telnyx::AI::TranscriptionSettings }
146
204
 
205
+ # @!attribute version_created_at
206
+ # Timestamp when this assistant version was created.
207
+ #
208
+ # @return [Time, nil]
209
+ optional :version_created_at, Time
210
+
211
+ # @!attribute version_id
212
+ # Identifier for the assistant version returned by version-aware assistant
213
+ # endpoints.
214
+ #
215
+ # @return [String, nil]
216
+ optional :version_id, String
217
+
218
+ # @!attribute version_name
219
+ # Human-readable name for the assistant version.
220
+ #
221
+ # @return [String, nil]
222
+ optional :version_name, String
223
+
147
224
  # @!attribute voice_settings
148
225
  #
149
226
  # @return [Telnyx::Models::AI::VoiceSettings, nil]
@@ -155,7 +232,7 @@ module Telnyx
155
232
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
156
233
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
157
234
 
158
- # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, import_metadata: 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, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
235
+ # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, import_metadata: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, related_mission_ids: nil, tags: nil, telephony_settings: nil, tools: nil, transcription: nil, version_created_at: nil, version_id: nil, version_name: nil, voice_settings: nil, widget_settings: nil)
159
236
  # Some parameter documentations has been truncated, see
160
237
  # {Telnyx::Models::AI::InferenceEmbedding} for more details.
161
238
  #
@@ -165,7 +242,7 @@ module Telnyx
165
242
  #
166
243
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
167
244
  #
168
- # @param model [String] ID of the model to use. You can use the [Get models API](https://developers.teln
245
+ # @param model [String] ID of the model to use when `external_llm` is not set. You can use the [Get mode
169
246
  #
170
247
  # @param name [String]
171
248
  #
@@ -173,7 +250,9 @@ module Telnyx
173
250
  #
174
251
  # @param dynamic_variables [Hash{Symbol=>Object}] Map of dynamic variables and their values
175
252
  #
176
- # @param dynamic_variables_webhook_url [String] If the dynamic_variables_webhook_url is set for the assistant, we will send a re
253
+ # @param dynamic_variables_webhook_timeout_ms [Integer] Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
254
+ #
255
+ # @param dynamic_variables_webhook_url [String] If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this U
177
256
  #
178
257
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
179
258
  #
@@ -187,7 +266,13 @@ module Telnyx
187
266
  #
188
267
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
189
268
  #
190
- # @param llm_api_key_ref [String] This is only needed when using third-party inference providers. The `identifier`
269
+ # @param integrations [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>] Connected integrations attached to the assistant. The catalog of available integ
270
+ #
271
+ # @param interruption_settings [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
272
+ #
273
+ # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
274
+ #
275
+ # @param mcp_servers [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
191
276
  #
192
277
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
193
278
  #
@@ -197,12 +282,22 @@ module Telnyx
197
282
  #
198
283
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
199
284
  #
285
+ # @param related_mission_ids [Array<String>] IDs of missions related to this assistant.
286
+ #
287
+ # @param tags [Array<String>] Tags associated with the assistant. Tags can also be managed with the assistant
288
+ #
200
289
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
201
290
  #
202
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] The tools that the assistant can use. These may be templated with [dynamic varia
291
+ # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] Deprecated for new integrations. Inline tool definitions available to the assist
203
292
  #
204
293
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
205
294
  #
295
+ # @param version_created_at [Time] Timestamp when this assistant version was created.
296
+ #
297
+ # @param version_id [String] Identifier for the assistant version returned by version-aware assistant endpoin
298
+ #
299
+ # @param version_name [String] Human-readable name for the assistant version.
300
+ #
206
301
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
207
302
  #
208
303
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
@@ -236,11 +331,13 @@ module Telnyx
236
331
  optional :certificate_ref, String
237
332
 
238
333
  # @!attribute forward_metadata
239
- # When enabled, Telnyx forwards the assistant's dynamic variables to the external
240
- # LLM endpoint. Defaults to false. The chat completion request includes a
241
- # top-level `extra_metadata` object when dynamic variables are available. For
242
- # example:
243
- # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
334
+ # When `true`, Telnyx forwards the assistant's dynamic variables to the external
335
+ # LLM endpoint as a top-level `extra_metadata` object on the chat completion
336
+ # request body. Defaults to `false`. Example payload sent to the external
337
+ # endpoint:
338
+ # `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
339
+ # Distinct from OpenAI's native `metadata` field, which has its own size and type
340
+ # limits.
244
341
  #
245
342
  # @return [Boolean, nil]
246
343
  optional :forward_metadata, Telnyx::Internal::Type::Boolean
@@ -269,7 +366,7 @@ module Telnyx
269
366
  #
270
367
  # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
271
368
  #
272
- # @param forward_metadata [Boolean] When enabled, Telnyx forwards the assistant's dynamic variables to the external
369
+ # @param forward_metadata [Boolean] When `true`, Telnyx forwards the assistant's dynamic variables to the external L
273
370
  #
274
371
  # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
275
372
  #
@@ -348,11 +445,13 @@ module Telnyx
348
445
  optional :certificate_ref, String
349
446
 
350
447
  # @!attribute forward_metadata
351
- # When enabled, Telnyx forwards the assistant's dynamic variables to the external
352
- # LLM endpoint. Defaults to false. The chat completion request includes a
353
- # top-level `extra_metadata` object when dynamic variables are available. For
354
- # example:
355
- # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
448
+ # When `true`, Telnyx forwards the assistant's dynamic variables to the external
449
+ # LLM endpoint as a top-level `extra_metadata` object on the chat completion
450
+ # request body. Defaults to `false`. Example payload sent to the external
451
+ # endpoint:
452
+ # `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
453
+ # Distinct from OpenAI's native `metadata` field, which has its own size and type
454
+ # limits.
356
455
  #
357
456
  # @return [Boolean, nil]
358
457
  optional :forward_metadata, Telnyx::Internal::Type::Boolean
@@ -382,7 +481,7 @@ module Telnyx
382
481
  #
383
482
  # @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
384
483
  #
385
- # @param forward_metadata [Boolean] When enabled, Telnyx forwards the assistant's dynamic variables to the external
484
+ # @param forward_metadata [Boolean] When `true`, Telnyx forwards the assistant's dynamic variables to the external L
386
485
  #
387
486
  # @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
388
487
  #
@@ -403,6 +502,165 @@ module Telnyx
403
502
  end
404
503
  end
405
504
 
505
+ class Integration < Telnyx::Internal::Type::BaseModel
506
+ # @!attribute integration_id
507
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
508
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
509
+ # entries returned by `/ai/integrations/connections`). It is **not** the
510
+ # connection-level `id` from `/ai/integrations/connections`.
511
+ #
512
+ # @return [String]
513
+ required :integration_id, String
514
+
515
+ # @!attribute allowed_list
516
+ # Optional per-assistant allowlist of integration tool names. When omitted or
517
+ # empty, all tools allowed by the connected integration are available to the
518
+ # assistant.
519
+ #
520
+ # @return [Array<String>, nil]
521
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
522
+
523
+ # @!method initialize(integration_id:, allowed_list: nil)
524
+ # Some parameter documentations has been truncated, see
525
+ # {Telnyx::Models::AI::InferenceEmbedding::Integration} for more details.
526
+ #
527
+ # Reference to a connected integration attached to an assistant. Discover
528
+ # available integrations with `/ai/integrations` and connected integrations with
529
+ # `/ai/integrations/connections`.
530
+ #
531
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
532
+ #
533
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
534
+ end
535
+
536
+ # @see Telnyx::Models::AI::InferenceEmbedding#interruption_settings
537
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
538
+ # @!attribute enable
539
+ # Whether users can interrupt the assistant while it is speaking.
540
+ #
541
+ # @return [Boolean, nil]
542
+ optional :enable, Telnyx::Internal::Type::Boolean
543
+
544
+ # @!attribute start_speaking_plan
545
+ # Controls when the assistant starts speaking after the user stops. These
546
+ # thresholds primarily apply to non turn-taking transcription models. For
547
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
548
+ # transcription end-of-turn settings under `transcription.settings` instead.
549
+ #
550
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan, nil]
551
+ optional :start_speaking_plan,
552
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan }
553
+
554
+ # @!method initialize(enable: nil, start_speaking_plan: nil)
555
+ # Some parameter documentations has been truncated, see
556
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings} for more details.
557
+ #
558
+ # Settings for interruptions and how the assistant decides the user has finished
559
+ # speaking. These timings are most relevant when using non turn-taking
560
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
561
+ # behavior is controlled by the transcription end-of-turn settings under
562
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
563
+ # `eager_eot_threshold`).
564
+ #
565
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
566
+ #
567
+ # @param start_speaking_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
568
+
569
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings#start_speaking_plan
570
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
571
+ # @!attribute transcription_endpointing_plan
572
+ # Endpointing thresholds used to decide when the user has finished speaking.
573
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
574
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
575
+ # `eager_eot_threshold`.
576
+ #
577
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
578
+ optional :transcription_endpointing_plan,
579
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
580
+
581
+ # @!attribute wait_seconds
582
+ # Minimum seconds to wait before the assistant starts speaking.
583
+ #
584
+ # @return [Float, nil]
585
+ optional :wait_seconds, Float
586
+
587
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
588
+ # Some parameter documentations has been truncated, see
589
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan}
590
+ # for more details.
591
+ #
592
+ # Controls when the assistant starts speaking after the user stops. These
593
+ # thresholds primarily apply to non turn-taking transcription models. For
594
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
595
+ # transcription end-of-turn settings under `transcription.settings` instead.
596
+ #
597
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
598
+ #
599
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
600
+
601
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
602
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
603
+ # @!attribute on_no_punctuation_seconds
604
+ # Seconds to wait after the transcript ends without punctuation.
605
+ #
606
+ # @return [Float, nil]
607
+ optional :on_no_punctuation_seconds, Float
608
+
609
+ # @!attribute on_number_seconds
610
+ # Seconds to wait after the transcript ends with a number.
611
+ #
612
+ # @return [Float, nil]
613
+ optional :on_number_seconds, Float
614
+
615
+ # @!attribute on_punctuation_seconds
616
+ # Seconds to wait after the transcript ends with punctuation.
617
+ #
618
+ # @return [Float, nil]
619
+ optional :on_punctuation_seconds, Float
620
+
621
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
622
+ # Endpointing thresholds used to decide when the user has finished speaking.
623
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
624
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
625
+ # `eager_eot_threshold`.
626
+ #
627
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
628
+ #
629
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
630
+ #
631
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
632
+ end
633
+ end
634
+ end
635
+
636
+ class McpServer < Telnyx::Internal::Type::BaseModel
637
+ # @!attribute id
638
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
639
+ # by the `/ai/mcp_servers` endpoints.
640
+ #
641
+ # @return [String]
642
+ required :id, String
643
+
644
+ # @!attribute allowed_tools
645
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
646
+ # uses the MCP server's configured `allowed_tools`.
647
+ #
648
+ # @return [Array<String>, nil]
649
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
650
+
651
+ # @!method initialize(id:, allowed_tools: nil)
652
+ # Some parameter documentations has been truncated, see
653
+ # {Telnyx::Models::AI::InferenceEmbedding::McpServer} for more details.
654
+ #
655
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
656
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
657
+ # ID.
658
+ #
659
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
660
+ #
661
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
662
+ end
663
+
406
664
  # @see Telnyx::Models::AI::InferenceEmbedding#post_conversation_settings
407
665
  class PostConversationSettings < Telnyx::Internal::Type::BaseModel
408
666
  # @!attribute enabled
@@ -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, 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: {})
46
+ # @overload update(version_id, assistant_id:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil, request_options: {})
47
47
  #
48
48
  # @param version_id [String] Path param
49
49
  #
@@ -53,7 +53,9 @@ module Telnyx
53
53
  #
54
54
  # @param dynamic_variables [Hash{Symbol=>Object}] Body param: Map of dynamic variables and their default values
55
55
  #
56
- # @param dynamic_variables_webhook_url [String] Body param: If the dynamic_variables_webhook_url is set for the assistant, we wi
56
+ # @param dynamic_variables_webhook_timeout_ms [Integer] Body param: Timeout in milliseconds for the dynamic variables webhook. Must be b
57
+ #
58
+ # @param dynamic_variables_webhook_url [String] Body param: If `dynamic_variables_webhook_url` is set, Telnyx sends a POST reque
57
59
  #
58
60
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>] Body param
59
61
  #
@@ -67,11 +69,17 @@ module Telnyx
67
69
  #
68
70
  # @param instructions [String] Body param: System instructions for the assistant. These may be templated with [
69
71
  #
70
- # @param llm_api_key_ref [String] Body param: This is only needed when using third-party inference providers. The
72
+ # @param integrations [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>] Body param: Connected integrations attached to the assistant. The catalog of ava
73
+ #
74
+ # @param interruption_settings [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings] Body param: Settings for interruptions and how the assistant decides the user ha
75
+ #
76
+ # @param llm_api_key_ref [String] Body param: This is only needed when using third-party inference providers selec
77
+ #
78
+ # @param mcp_servers [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>] Body param: MCP servers attached to the assistant. Create MCP servers with `/ai/
71
79
  #
72
80
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings] Body param
73
81
  #
74
- # @param model [String] Body param: ID of the model to use. You can use the [Get models API](https://dev
82
+ # @param model [String] Body param: ID of the model to use when `external_llm` is not set. You can use t
75
83
  #
76
84
  # @param name [String] Body param
77
85
  #
@@ -81,14 +89,18 @@ module Telnyx
81
89
  #
82
90
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings] Body param
83
91
  #
92
+ # @param tags [Array<String>] Body param: Tags associated with the assistant. Tags can also be managed with th
93
+ #
84
94
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings] Body param
85
95
  #
86
- # @param tool_ids [Array<String>] Body param
96
+ # @param tool_ids [Array<String>] Body param: IDs of shared tools to attach to the assistant. New integrations sho
87
97
  #
88
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] Body param: The tools that the assistant can use. These may be templated with [d
98
+ # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] Body param: Deprecated for new integrations. Inline tool definitions available t
89
99
  #
90
100
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings] Body param
91
101
  #
102
+ # @param version_name [String] Body param: Human-readable name for the assistant version.
103
+ #
92
104
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings] Body param
93
105
  #
94
106
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Body param: Configuration settings for the assistant's web widget.
@@ -34,19 +34,19 @@ 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, 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: {})
37
+ # @overload create(instructions:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: 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
  #
41
- # @param model [String] ID of the model to use. You can use the [Get models API](https://developers.teln
42
- #
43
41
  # @param name [String]
44
42
  #
45
43
  # @param description [String]
46
44
  #
47
45
  # @param dynamic_variables [Hash{Symbol=>Object}] Map of dynamic variables and their default values
48
46
  #
49
- # @param dynamic_variables_webhook_url [String] If the dynamic_variables_webhook_url is set for the assistant, we will send a re
47
+ # @param dynamic_variables_webhook_timeout_ms [Integer] Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
48
+ #
49
+ # @param dynamic_variables_webhook_url [String] If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this U
50
50
  #
51
51
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
52
52
  #
@@ -58,21 +58,31 @@ module Telnyx
58
58
  #
59
59
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
60
60
  #
61
- # @param llm_api_key_ref [String] This is only needed when using third-party inference providers. The `identifier`
61
+ # @param integrations [Array<Telnyx::Models::AI::AssistantCreateParams::Integration>] Connected integrations attached to the assistant. The catalog of available integ
62
+ #
63
+ # @param interruption_settings [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
64
+ #
65
+ # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
66
+ #
67
+ # @param mcp_servers [Array<Telnyx::Models::AI::AssistantCreateParams::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
62
68
  #
63
69
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
64
70
  #
71
+ # @param model [String] ID of the model to use when `external_llm` is not set. You can use the [Get mode
72
+ #
65
73
  # @param observability_settings [Telnyx::Models::AI::ObservabilityReq]
66
74
  #
67
75
  # @param post_conversation_settings [Telnyx::Models::AI::AssistantCreateParams::PostConversationSettings] Configuration for post-conversation processing. When enabled, the assistant rece
68
76
  #
69
77
  # @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
70
78
  #
79
+ # @param tags [Array<String>] Tags associated with the assistant. Tags can also be managed with the assistant
80
+ #
71
81
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
72
82
  #
73
- # @param tool_ids [Array<String>]
83
+ # @param tool_ids [Array<String>] IDs of shared tools to attach to the assistant. New integrations should prefer `
74
84
  #
75
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] The tools that the assistant can use. These may be templated with [dynamic varia
85
+ # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] Deprecated for new integrations. Inline tool definitions available to the assist
76
86
  #
77
87
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
78
88
  #
@@ -127,7 +137,7 @@ module Telnyx
127
137
  #
128
138
  # Update an AI Assistant's attributes.
129
139
  #
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: {})
140
+ # @overload update(assistant_id, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, promote_to_main: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil, request_options: {})
131
141
  #
132
142
  # @param assistant_id [String]
133
143
  #
@@ -135,7 +145,9 @@ module Telnyx
135
145
  #
136
146
  # @param dynamic_variables [Hash{Symbol=>Object}] Map of dynamic variables and their default values
137
147
  #
138
- # @param dynamic_variables_webhook_url [String] If the dynamic_variables_webhook_url is set for the assistant, we will send a re
148
+ # @param dynamic_variables_webhook_timeout_ms [Integer] Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
149
+ #
150
+ # @param dynamic_variables_webhook_url [String] If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this U
139
151
  #
140
152
  # @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
141
153
  #
@@ -149,11 +161,17 @@ module Telnyx
149
161
  #
150
162
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
151
163
  #
152
- # @param llm_api_key_ref [String] This is only needed when using third-party inference providers. The `identifier`
164
+ # @param integrations [Array<Telnyx::Models::AI::AssistantUpdateParams::Integration>] Connected integrations attached to the assistant. The catalog of available integ
165
+ #
166
+ # @param interruption_settings [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
167
+ #
168
+ # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
169
+ #
170
+ # @param mcp_servers [Array<Telnyx::Models::AI::AssistantUpdateParams::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
153
171
  #
154
172
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
155
173
  #
156
- # @param model [String] ID of the model to use. You can use the [Get models API](https://developers.teln
174
+ # @param model [String] ID of the model to use when `external_llm` is not set. You can use the [Get mode
157
175
  #
158
176
  # @param name [String]
159
177
  #
@@ -165,14 +183,18 @@ module Telnyx
165
183
  #
166
184
  # @param promote_to_main [Boolean] Indicates whether the assistant should be promoted to the main version. Defaults
167
185
  #
186
+ # @param tags [Array<String>] Tags associated with the assistant. Tags can also be managed with the assistant
187
+ #
168
188
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
169
189
  #
170
- # @param tool_ids [Array<String>]
190
+ # @param tool_ids [Array<String>] IDs of shared tools to attach to the assistant. New integrations should prefer `
171
191
  #
172
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] The tools that the assistant can use. These may be templated with [dynamic varia
192
+ # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn>] Deprecated for new integrations. Inline tool definitions available to the assist
173
193
  #
174
194
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
175
195
  #
196
+ # @param version_name [String] Human-readable name for the assistant version.
197
+ #
176
198
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
177
199
  #
178
200
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.92.0"
4
+ VERSION = "5.93.0"
5
5
  end