telnyx 5.92.0 → 5.94.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/telnyx/models/ai/assistant_create_params.rb +265 -37
- data/lib/telnyx/models/ai/assistant_tool.rb +108 -21
- data/lib/telnyx/models/ai/assistant_update_params.rb +266 -30
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +267 -30
- data/lib/telnyx/models/ai/inference_embedding.rb +287 -29
- data/lib/telnyx/models/ai/transfer_tool.rb +48 -22
- data/lib/telnyx/resources/ai/assistants/versions.rb +18 -6
- data/lib/telnyx/resources/ai/assistants.rb +35 -13
- data/lib/telnyx/version.rb +1 -1
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +510 -52
- data/rbi/telnyx/models/ai/assistant_tool.rbi +171 -32
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +510 -44
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +526 -44
- data/rbi/telnyx/models/ai/inference_embedding.rbi +540 -44
- data/rbi/telnyx/models/ai/transfer_tool.rbi +64 -30
- data/rbi/telnyx/resources/ai/assistants/versions.rbi +61 -13
- data/rbi/telnyx/resources/ai/assistants.rbi +112 -27
- data/sig/telnyx/models/ai/assistant_create_params.rbs +172 -5
- data/sig/telnyx/models/ai/assistant_tool.rbs +53 -12
- data/sig/telnyx/models/ai/assistant_update_params.rbs +172 -0
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +175 -0
- data/sig/telnyx/models/ai/inference_embedding.rbs +193 -0
- data/sig/telnyx/models/ai/transfer_tool.rbs +22 -12
- data/sig/telnyx/resources/ai/assistants/versions.rbs +6 -0
- data/sig/telnyx/resources/ai/assistants.rbs +12 -1
- metadata +2 -2
|
@@ -16,11 +16,24 @@ module Telnyx
|
|
|
16
16
|
# @return [Hash{Symbol=>Object}, nil]
|
|
17
17
|
optional :dynamic_variables, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
|
|
18
18
|
|
|
19
|
+
# @!attribute dynamic_variables_webhook_timeout_ms
|
|
20
|
+
# Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
|
|
21
|
+
# 10000 ms. If the webhook does not respond within this timeout, the call proceeds
|
|
22
|
+
# with default values. See the
|
|
23
|
+
# [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
|
|
24
|
+
#
|
|
25
|
+
# @return [Integer, nil]
|
|
26
|
+
optional :dynamic_variables_webhook_timeout_ms, Integer
|
|
27
|
+
|
|
19
28
|
# @!attribute dynamic_variables_webhook_url
|
|
20
|
-
# If
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
29
|
+
# If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this
|
|
30
|
+
# URL at the start of the conversation to resolve dynamic variables. **Gotcha:**
|
|
31
|
+
# the webhook response must wrap variables under a top-level `dynamic_variables`
|
|
32
|
+
# object, e.g. `{"dynamic_variables": {"customer_name": "Jane"}}`. Returning a
|
|
33
|
+
# flat object will be ignored and variables will fall back to their defaults. See
|
|
34
|
+
# the
|
|
35
|
+
# [dynamic variables guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
36
|
+
# for the full request/response format and timeout behavior.
|
|
24
37
|
#
|
|
25
38
|
# @return [String, nil]
|
|
26
39
|
optional :dynamic_variables_webhook_url, String
|
|
@@ -63,25 +76,57 @@ module Telnyx
|
|
|
63
76
|
# @return [String, nil]
|
|
64
77
|
optional :instructions, String
|
|
65
78
|
|
|
79
|
+
# @!attribute integrations
|
|
80
|
+
# Connected integrations attached to the assistant. The catalog of available
|
|
81
|
+
# integrations is at `/ai/integrations`; the user's connected integrations are at
|
|
82
|
+
# `/ai/integrations/connections`. Each item references a catalog integration by
|
|
83
|
+
# `integration_id`.
|
|
84
|
+
#
|
|
85
|
+
# @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>, nil]
|
|
86
|
+
optional :integrations,
|
|
87
|
+
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::Integration] }
|
|
88
|
+
|
|
89
|
+
# @!attribute interruption_settings
|
|
90
|
+
# Settings for interruptions and how the assistant decides the user has finished
|
|
91
|
+
# speaking. These timings are most relevant when using non turn-taking
|
|
92
|
+
# transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
|
|
93
|
+
# behavior is controlled by the transcription end-of-turn settings under
|
|
94
|
+
# `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
|
|
95
|
+
# `eager_eot_threshold`).
|
|
96
|
+
#
|
|
97
|
+
# @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings, nil]
|
|
98
|
+
optional :interruption_settings, -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings }
|
|
99
|
+
|
|
66
100
|
# @!attribute llm_api_key_ref
|
|
67
|
-
# This is only needed when using third-party inference providers
|
|
68
|
-
# for an integration secret
|
|
101
|
+
# This is only needed when using third-party inference providers selected by
|
|
102
|
+
# `model`. The `identifier` for an integration secret
|
|
69
103
|
# [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
|
|
70
|
-
# that refers to your LLM provider's API key.
|
|
71
|
-
#
|
|
104
|
+
# that refers to your LLM provider's API key. For bring-your-own endpoint
|
|
105
|
+
# authentication, use `external_llm.llm_api_key_ref` instead. Warning: Free plans
|
|
106
|
+
# are unlikely to work with this integration.
|
|
72
107
|
#
|
|
73
108
|
# @return [String, nil]
|
|
74
109
|
optional :llm_api_key_ref, String
|
|
75
110
|
|
|
111
|
+
# @!attribute mcp_servers
|
|
112
|
+
# MCP servers attached to the assistant. Create MCP servers with
|
|
113
|
+
# `/ai/mcp_servers`, then reference them by `id` here.
|
|
114
|
+
#
|
|
115
|
+
# @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>, nil]
|
|
116
|
+
optional :mcp_servers,
|
|
117
|
+
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::McpServer] }
|
|
118
|
+
|
|
76
119
|
# @!attribute messaging_settings
|
|
77
120
|
#
|
|
78
121
|
# @return [Telnyx::Models::AI::MessagingSettings, nil]
|
|
79
122
|
optional :messaging_settings, -> { Telnyx::AI::MessagingSettings }
|
|
80
123
|
|
|
81
124
|
# @!attribute model
|
|
82
|
-
# ID of the model to use. You can use the
|
|
125
|
+
# ID of the model to use when `external_llm` is not set. You can use the
|
|
83
126
|
# [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
|
|
84
|
-
# to see
|
|
127
|
+
# to see available models. If `external_llm` is provided, the assistant uses
|
|
128
|
+
# `external_llm` instead of this field. If neither `model` nor `external_llm` is
|
|
129
|
+
# provided, Telnyx applies the default model.
|
|
85
130
|
#
|
|
86
131
|
# @return [String, nil]
|
|
87
132
|
optional :model, String
|
|
@@ -113,19 +158,29 @@ module Telnyx
|
|
|
113
158
|
# @return [Telnyx::Models::AI::PrivacySettings, nil]
|
|
114
159
|
optional :privacy_settings, -> { Telnyx::AI::PrivacySettings }
|
|
115
160
|
|
|
161
|
+
# @!attribute tags
|
|
162
|
+
# Tags associated with the assistant. Tags can also be managed with the assistant
|
|
163
|
+
# tag endpoints.
|
|
164
|
+
#
|
|
165
|
+
# @return [Array<String>, nil]
|
|
166
|
+
optional :tags, Telnyx::Internal::Type::ArrayOf[String]
|
|
167
|
+
|
|
116
168
|
# @!attribute telephony_settings
|
|
117
169
|
#
|
|
118
170
|
# @return [Telnyx::Models::AI::TelephonySettings, nil]
|
|
119
171
|
optional :telephony_settings, -> { Telnyx::AI::TelephonySettings }
|
|
120
172
|
|
|
121
173
|
# @!attribute tool_ids
|
|
174
|
+
# IDs of shared tools to attach to the assistant. New integrations should prefer
|
|
175
|
+
# `tool_ids` over inline `tools`.
|
|
122
176
|
#
|
|
123
177
|
# @return [Array<String>, nil]
|
|
124
178
|
optional :tool_ids, Telnyx::Internal::Type::ArrayOf[String]
|
|
125
179
|
|
|
126
180
|
# @!attribute tools
|
|
127
|
-
#
|
|
128
|
-
#
|
|
181
|
+
# Deprecated for new integrations. Inline tool definitions available to the
|
|
182
|
+
# assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
|
|
183
|
+
# endpoints.
|
|
129
184
|
#
|
|
130
185
|
# @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]
|
|
131
186
|
optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
|
|
@@ -135,6 +190,12 @@ module Telnyx
|
|
|
135
190
|
# @return [Telnyx::Models::AI::TranscriptionSettings, nil]
|
|
136
191
|
optional :transcription, -> { Telnyx::AI::TranscriptionSettings }
|
|
137
192
|
|
|
193
|
+
# @!attribute version_name
|
|
194
|
+
# Human-readable name for the assistant version.
|
|
195
|
+
#
|
|
196
|
+
# @return [String, nil]
|
|
197
|
+
optional :version_name, String
|
|
198
|
+
|
|
138
199
|
# @!attribute voice_settings
|
|
139
200
|
#
|
|
140
201
|
# @return [Telnyx::Models::AI::VoiceSettings, nil]
|
|
@@ -146,7 +207,7 @@ module Telnyx
|
|
|
146
207
|
# @return [Telnyx::Models::AI::WidgetSettings, nil]
|
|
147
208
|
optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
|
|
148
209
|
|
|
149
|
-
# @!method initialize(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)
|
|
210
|
+
# @!method initialize(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)
|
|
150
211
|
# Some parameter documentations has been truncated, see
|
|
151
212
|
# {Telnyx::Models::AI::Assistants::UpdateAssistant} for more details.
|
|
152
213
|
#
|
|
@@ -154,7 +215,9 @@ module Telnyx
|
|
|
154
215
|
#
|
|
155
216
|
# @param dynamic_variables [Hash{Symbol=>Object}] Map of dynamic variables and their default values
|
|
156
217
|
#
|
|
157
|
-
# @param
|
|
218
|
+
# @param dynamic_variables_webhook_timeout_ms [Integer] Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and
|
|
219
|
+
#
|
|
220
|
+
# @param dynamic_variables_webhook_url [String] If `dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this U
|
|
158
221
|
#
|
|
159
222
|
# @param enabled_features [Array<Symbol, Telnyx::Models::AI::EnabledFeatures>]
|
|
160
223
|
#
|
|
@@ -168,11 +231,17 @@ module Telnyx
|
|
|
168
231
|
#
|
|
169
232
|
# @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
|
|
170
233
|
#
|
|
171
|
-
# @param
|
|
234
|
+
# @param integrations [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>] Connected integrations attached to the assistant. The catalog of available integ
|
|
235
|
+
#
|
|
236
|
+
# @param interruption_settings [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
|
|
237
|
+
#
|
|
238
|
+
# @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
|
|
239
|
+
#
|
|
240
|
+
# @param mcp_servers [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
|
|
172
241
|
#
|
|
173
242
|
# @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
|
|
174
243
|
#
|
|
175
|
-
# @param model [String] ID of the model to use. You can use the [Get
|
|
244
|
+
# @param model [String] ID of the model to use when `external_llm` is not set. You can use the [Get mode
|
|
176
245
|
#
|
|
177
246
|
# @param name [String]
|
|
178
247
|
#
|
|
@@ -182,14 +251,18 @@ module Telnyx
|
|
|
182
251
|
#
|
|
183
252
|
# @param privacy_settings [Telnyx::Models::AI::PrivacySettings]
|
|
184
253
|
#
|
|
254
|
+
# @param tags [Array<String>] Tags associated with the assistant. Tags can also be managed with the assistant
|
|
255
|
+
#
|
|
185
256
|
# @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
|
|
186
257
|
#
|
|
187
|
-
# @param tool_ids [Array<String>]
|
|
258
|
+
# @param tool_ids [Array<String>] IDs of shared tools to attach to the assistant. New integrations should prefer `
|
|
188
259
|
#
|
|
189
|
-
# @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>]
|
|
260
|
+
# @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
|
|
190
261
|
#
|
|
191
262
|
# @param transcription [Telnyx::Models::AI::TranscriptionSettings]
|
|
192
263
|
#
|
|
264
|
+
# @param version_name [String] Human-readable name for the assistant version.
|
|
265
|
+
#
|
|
193
266
|
# @param voice_settings [Telnyx::Models::AI::VoiceSettings]
|
|
194
267
|
#
|
|
195
268
|
# @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
|
|
@@ -223,11 +296,13 @@ module Telnyx
|
|
|
223
296
|
optional :certificate_ref, String
|
|
224
297
|
|
|
225
298
|
# @!attribute forward_metadata
|
|
226
|
-
# When
|
|
227
|
-
# LLM endpoint
|
|
228
|
-
#
|
|
229
|
-
#
|
|
230
|
-
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
299
|
+
# When `true`, Telnyx forwards the assistant's dynamic variables to the external
|
|
300
|
+
# LLM endpoint as a top-level `extra_metadata` object on the chat completion
|
|
301
|
+
# request body. Defaults to `false`. Example payload sent to the external
|
|
302
|
+
# endpoint:
|
|
303
|
+
# `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
|
|
304
|
+
# Distinct from OpenAI's native `metadata` field, which has its own size and type
|
|
305
|
+
# limits.
|
|
231
306
|
#
|
|
232
307
|
# @return [Boolean, nil]
|
|
233
308
|
optional :forward_metadata, Telnyx::Internal::Type::Boolean
|
|
@@ -256,7 +331,7 @@ module Telnyx
|
|
|
256
331
|
#
|
|
257
332
|
# @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
|
|
258
333
|
#
|
|
259
|
-
# @param forward_metadata [Boolean] When
|
|
334
|
+
# @param forward_metadata [Boolean] When `true`, Telnyx forwards the assistant's dynamic variables to the external L
|
|
260
335
|
#
|
|
261
336
|
# @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
|
|
262
337
|
#
|
|
@@ -336,11 +411,13 @@ module Telnyx
|
|
|
336
411
|
optional :certificate_ref, String
|
|
337
412
|
|
|
338
413
|
# @!attribute forward_metadata
|
|
339
|
-
# When
|
|
340
|
-
# LLM endpoint
|
|
341
|
-
#
|
|
342
|
-
#
|
|
343
|
-
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
414
|
+
# When `true`, Telnyx forwards the assistant's dynamic variables to the external
|
|
415
|
+
# LLM endpoint as a top-level `extra_metadata` object on the chat completion
|
|
416
|
+
# request body. Defaults to `false`. Example payload sent to the external
|
|
417
|
+
# endpoint:
|
|
418
|
+
# `{"extra_metadata": {"customer_name": "Jane", "account_id": "acct_789", "telnyx_agent_target": "+13125550100", "telnyx_end_user_target": "+13125550123"}}`.
|
|
419
|
+
# Distinct from OpenAI's native `metadata` field, which has its own size and type
|
|
420
|
+
# limits.
|
|
344
421
|
#
|
|
345
422
|
# @return [Boolean, nil]
|
|
346
423
|
optional :forward_metadata, Telnyx::Internal::Type::Boolean
|
|
@@ -370,7 +447,7 @@ module Telnyx
|
|
|
370
447
|
#
|
|
371
448
|
# @param certificate_ref [String] Integration secret identifier for the client certificate used with certificate a
|
|
372
449
|
#
|
|
373
|
-
# @param forward_metadata [Boolean] When
|
|
450
|
+
# @param forward_metadata [Boolean] When `true`, Telnyx forwards the assistant's dynamic variables to the external L
|
|
374
451
|
#
|
|
375
452
|
# @param llm_api_key_ref [String] Integration secret identifier for the external LLM API key.
|
|
376
453
|
#
|
|
@@ -391,6 +468,166 @@ module Telnyx
|
|
|
391
468
|
end
|
|
392
469
|
end
|
|
393
470
|
|
|
471
|
+
class Integration < Telnyx::Internal::Type::BaseModel
|
|
472
|
+
# @!attribute integration_id
|
|
473
|
+
# Catalog integration ID to attach. This is the `id` from the integrations catalog
|
|
474
|
+
# at `/ai/integrations` (the same value also appears as `integration_id` on
|
|
475
|
+
# entries returned by `/ai/integrations/connections`). It is **not** the
|
|
476
|
+
# connection-level `id` from `/ai/integrations/connections`.
|
|
477
|
+
#
|
|
478
|
+
# @return [String]
|
|
479
|
+
required :integration_id, String
|
|
480
|
+
|
|
481
|
+
# @!attribute allowed_list
|
|
482
|
+
# Optional per-assistant allowlist of integration tool names. When omitted or
|
|
483
|
+
# empty, all tools allowed by the connected integration are available to the
|
|
484
|
+
# assistant.
|
|
485
|
+
#
|
|
486
|
+
# @return [Array<String>, nil]
|
|
487
|
+
optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
|
|
488
|
+
|
|
489
|
+
# @!method initialize(integration_id:, allowed_list: nil)
|
|
490
|
+
# Some parameter documentations has been truncated, see
|
|
491
|
+
# {Telnyx::Models::AI::Assistants::UpdateAssistant::Integration} for more details.
|
|
492
|
+
#
|
|
493
|
+
# Reference to a connected integration attached to an assistant. Discover
|
|
494
|
+
# available integrations with `/ai/integrations` and connected integrations with
|
|
495
|
+
# `/ai/integrations/connections`.
|
|
496
|
+
#
|
|
497
|
+
# @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
|
|
498
|
+
#
|
|
499
|
+
# @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
# @see Telnyx::Models::AI::Assistants::UpdateAssistant#interruption_settings
|
|
503
|
+
class InterruptionSettings < Telnyx::Internal::Type::BaseModel
|
|
504
|
+
# @!attribute enable
|
|
505
|
+
# Whether users can interrupt the assistant while it is speaking.
|
|
506
|
+
#
|
|
507
|
+
# @return [Boolean, nil]
|
|
508
|
+
optional :enable, Telnyx::Internal::Type::Boolean
|
|
509
|
+
|
|
510
|
+
# @!attribute start_speaking_plan
|
|
511
|
+
# Controls when the assistant starts speaking after the user stops. These
|
|
512
|
+
# thresholds primarily apply to non turn-taking transcription models. For
|
|
513
|
+
# turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
|
|
514
|
+
# transcription end-of-turn settings under `transcription.settings` instead.
|
|
515
|
+
#
|
|
516
|
+
# @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan, nil]
|
|
517
|
+
optional :start_speaking_plan,
|
|
518
|
+
-> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan }
|
|
519
|
+
|
|
520
|
+
# @!method initialize(enable: nil, start_speaking_plan: nil)
|
|
521
|
+
# Some parameter documentations has been truncated, see
|
|
522
|
+
# {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings} for more
|
|
523
|
+
# details.
|
|
524
|
+
#
|
|
525
|
+
# Settings for interruptions and how the assistant decides the user has finished
|
|
526
|
+
# speaking. These timings are most relevant when using non turn-taking
|
|
527
|
+
# transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
|
|
528
|
+
# behavior is controlled by the transcription end-of-turn settings under
|
|
529
|
+
# `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
|
|
530
|
+
# `eager_eot_threshold`).
|
|
531
|
+
#
|
|
532
|
+
# @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
|
|
533
|
+
#
|
|
534
|
+
# @param start_speaking_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
|
|
535
|
+
|
|
536
|
+
# @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings#start_speaking_plan
|
|
537
|
+
class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
|
|
538
|
+
# @!attribute transcription_endpointing_plan
|
|
539
|
+
# Endpointing thresholds used to decide when the user has finished speaking.
|
|
540
|
+
# Applies to non turn-taking transcription models. For `deepgram/flux`, use
|
|
541
|
+
# `transcription.settings.eot_threshold` / `eot_timeout_ms` /
|
|
542
|
+
# `eager_eot_threshold`.
|
|
543
|
+
#
|
|
544
|
+
# @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
|
|
545
|
+
optional :transcription_endpointing_plan,
|
|
546
|
+
-> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
|
|
547
|
+
|
|
548
|
+
# @!attribute wait_seconds
|
|
549
|
+
# Minimum seconds to wait before the assistant starts speaking.
|
|
550
|
+
#
|
|
551
|
+
# @return [Float, nil]
|
|
552
|
+
optional :wait_seconds, Float
|
|
553
|
+
|
|
554
|
+
# @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
|
|
555
|
+
# Some parameter documentations has been truncated, see
|
|
556
|
+
# {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan}
|
|
557
|
+
# for more details.
|
|
558
|
+
#
|
|
559
|
+
# Controls when the assistant starts speaking after the user stops. These
|
|
560
|
+
# thresholds primarily apply to non turn-taking transcription models. For
|
|
561
|
+
# turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
|
|
562
|
+
# transcription end-of-turn settings under `transcription.settings` instead.
|
|
563
|
+
#
|
|
564
|
+
# @param transcription_endpointing_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
|
|
565
|
+
#
|
|
566
|
+
# @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
|
|
567
|
+
|
|
568
|
+
# @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
|
|
569
|
+
class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
|
|
570
|
+
# @!attribute on_no_punctuation_seconds
|
|
571
|
+
# Seconds to wait after the transcript ends without punctuation.
|
|
572
|
+
#
|
|
573
|
+
# @return [Float, nil]
|
|
574
|
+
optional :on_no_punctuation_seconds, Float
|
|
575
|
+
|
|
576
|
+
# @!attribute on_number_seconds
|
|
577
|
+
# Seconds to wait after the transcript ends with a number.
|
|
578
|
+
#
|
|
579
|
+
# @return [Float, nil]
|
|
580
|
+
optional :on_number_seconds, Float
|
|
581
|
+
|
|
582
|
+
# @!attribute on_punctuation_seconds
|
|
583
|
+
# Seconds to wait after the transcript ends with punctuation.
|
|
584
|
+
#
|
|
585
|
+
# @return [Float, nil]
|
|
586
|
+
optional :on_punctuation_seconds, Float
|
|
587
|
+
|
|
588
|
+
# @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
|
|
589
|
+
# Endpointing thresholds used to decide when the user has finished speaking.
|
|
590
|
+
# Applies to non turn-taking transcription models. For `deepgram/flux`, use
|
|
591
|
+
# `transcription.settings.eot_threshold` / `eot_timeout_ms` /
|
|
592
|
+
# `eager_eot_threshold`.
|
|
593
|
+
#
|
|
594
|
+
# @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
|
|
595
|
+
#
|
|
596
|
+
# @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
|
|
597
|
+
#
|
|
598
|
+
# @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
|
|
599
|
+
end
|
|
600
|
+
end
|
|
601
|
+
end
|
|
602
|
+
|
|
603
|
+
class McpServer < Telnyx::Internal::Type::BaseModel
|
|
604
|
+
# @!attribute id
|
|
605
|
+
# ID of the MCP server to attach. This must be the `id` of an MCP server returned
|
|
606
|
+
# by the `/ai/mcp_servers` endpoints.
|
|
607
|
+
#
|
|
608
|
+
# @return [String]
|
|
609
|
+
required :id, String
|
|
610
|
+
|
|
611
|
+
# @!attribute allowed_tools
|
|
612
|
+
# Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
|
|
613
|
+
# uses the MCP server's configured `allowed_tools`.
|
|
614
|
+
#
|
|
615
|
+
# @return [Array<String>, nil]
|
|
616
|
+
optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
|
|
617
|
+
|
|
618
|
+
# @!method initialize(id:, allowed_tools: nil)
|
|
619
|
+
# Some parameter documentations has been truncated, see
|
|
620
|
+
# {Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer} for more details.
|
|
621
|
+
#
|
|
622
|
+
# Reference to an MCP server attached to an assistant. Create and manage MCP
|
|
623
|
+
# servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
|
|
624
|
+
# ID.
|
|
625
|
+
#
|
|
626
|
+
# @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
|
|
627
|
+
#
|
|
628
|
+
# @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
|
|
629
|
+
end
|
|
630
|
+
|
|
394
631
|
# @see Telnyx::Models::AI::Assistants::UpdateAssistant#post_conversation_settings
|
|
395
632
|
class PostConversationSettings < Telnyx::Internal::Type::BaseModel
|
|
396
633
|
# @!attribute enabled
|