telnyx 5.102.1 → 5.103.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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +170 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +170 -9
  7. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +123 -3
  8. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +125 -3
  9. data/lib/telnyx/models/ai/assistants/scheduled_event_create_params.rb +17 -1
  10. data/lib/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rb +91 -1
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +171 -9
  12. data/lib/telnyx/models/ai/inference_embedding.rb +169 -9
  13. data/lib/telnyx/models/ai/openai_list_models_response.rb +31 -3
  14. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  15. data/lib/telnyx/models/ai_retrieve_models_response.rb +31 -3
  16. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  19. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  20. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  21. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  22. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  23. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  24. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  25. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  26. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  27. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  28. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  29. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  30. data/lib/telnyx/models.rb +0 -14
  31. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  32. data/lib/telnyx/resources/ai/assistants/scheduled_events.rb +5 -1
  33. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  34. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  35. data/lib/telnyx/resources/calls/actions.rb +5 -5
  36. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  37. data/lib/telnyx/resources/uac_connections.rb +8 -8
  38. data/lib/telnyx/version.rb +1 -1
  39. data/lib/telnyx.rb +1 -19
  40. data/rbi/telnyx/models/ai/assistant_create_params.rbi +341 -12
  41. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  42. data/rbi/telnyx/models/ai/assistant_update_params.rbi +341 -12
  43. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  44. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  45. data/rbi/telnyx/models/ai/assistants/scheduled_event_create_params.rbi +22 -0
  46. data/rbi/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbi +153 -0
  47. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +355 -12
  48. data/rbi/telnyx/models/ai/inference_embedding.rbi +340 -12
  49. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +56 -3
  50. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  51. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +51 -3
  52. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  53. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  54. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  55. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  56. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  57. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  58. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  59. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  60. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  61. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  62. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  63. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  64. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  65. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  66. data/rbi/telnyx/models.rbi +0 -14
  67. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  68. data/rbi/telnyx/resources/ai/assistants/scheduled_events.rbi +6 -0
  69. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  70. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  71. data/rbi/telnyx/resources/calls/actions.rbi +6 -6
  72. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  73. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  74. data/sig/telnyx/models/ai/assistant_create_params.rbs +142 -18
  75. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  76. data/sig/telnyx/models/ai/assistant_update_params.rbs +142 -18
  77. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  78. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  79. data/sig/telnyx/models/ai/assistants/scheduled_event_create_params.rbs +14 -0
  80. data/sig/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbs +85 -0
  81. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +145 -18
  82. data/sig/telnyx/models/ai/inference_embedding.rbs +142 -18
  83. data/sig/telnyx/models/ai/openai_list_models_response.rbs +39 -4
  84. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  85. data/sig/telnyx/models/ai_retrieve_models_response.rbs +39 -4
  86. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  87. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  88. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  89. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  90. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  91. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  92. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  93. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  94. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  95. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  96. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  97. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  98. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  99. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  100. data/sig/telnyx/models.rbs +0 -14
  101. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  102. data/sig/telnyx/resources/ai/assistants/scheduled_events.rbs +2 -0
  103. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  104. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  105. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  106. metadata +4 -58
  107. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  108. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  109. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  110. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  111. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  112. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  113. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  114. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -39
  115. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  116. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  117. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  118. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  119. data/lib/telnyx/models/model_metadata.rb +0 -33
  120. data/lib/telnyx/models/uac_connection.rb +0 -412
  121. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  122. data/lib/telnyx/models/uac_inbound.rb +0 -210
  123. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  124. data/lib/telnyx/models/uac_outbound.rb +0 -131
  125. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  126. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  127. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  128. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  129. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  130. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  131. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  132. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  133. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -72
  134. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  135. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  136. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  137. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  138. data/rbi/telnyx/models/model_metadata.rbi +0 -44
  139. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  140. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  141. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  142. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  143. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  144. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  145. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  146. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  147. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  148. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  149. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  150. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  151. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  152. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -30
  153. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  154. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  155. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  156. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  157. data/sig/telnyx/models/model_metadata.rbs +0 -32
  158. data/sig/telnyx/models/uac_connection.rbs +0 -338
  159. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  160. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  161. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  162. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  163. data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a38a37205d27e81d864e271691c4119c3a10064609ac9d01a2221c29794d960
4
- data.tar.gz: e9dbc5bed0fa3e262e8158bdcfdb8dc7ef4403a13cd399af1e451e8727385dda
3
+ metadata.gz: 227cffe8a91ada4d396e150181ae2abe4bc8f1aeb7366b0824fe8abf6d70243f
4
+ data.tar.gz: 699b34aae78eb87cd7cac27c25e1e7e87042efe7de03aa89d70a95665bedfb8b
5
5
  SHA512:
6
- metadata.gz: 548c8922b3d2d5dc946b296661e74e56860fdaef7b870e36ef13183a1adba679f3b417f5c8c81f74215a2e680a67b7f51ef73c60fecbb5f24bdae283684b000f
7
- data.tar.gz: 53181edd738e99468409dc9c5036f95b02357b9650ac2c2a326e6a7fecb55b8925f2663adf826151935c02583c946f928ed61dc3d93d98696557830e9d06fb77
6
+ metadata.gz: b9a64eae98a8fb407c8b48ef325a786de24fa3e2fd4bded2247ebd81354e04a99afa172703acf1f676ab6b673af22d0bf28d320c137c8fc752226dedf5e1e02c
7
+ data.tar.gz: 7c91d76c00085e73b62087d093856bc7a0bbe09d1f3a16432c09a051907df14267c3e488afa568e8839754eafd8ec64318cf259c79a32b2e6c5c46a9ff6c2be0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.103.0 (2026-05-07)
4
+
5
+ Full Changelog: [v5.102.1...v5.103.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.102.1...v5.103.0)
6
+
7
+ ### Features
8
+
9
+ * Add Speechmatics provider to standalone STT spec ([ca94503](https://github.com/team-telnyx/telnyx-ruby/commit/ca945036fb52cf72d6cbcdf3a683b77e56aacdf3))
10
+ * Ai-assistant: update scheduled events api ([5567900](https://github.com/team-telnyx/telnyx-ruby/commit/5567900fe1aed9caa1d74188807ef9ec3e15459c))
11
+ * **api:** manual updates ([0261568](https://github.com/team-telnyx/telnyx-ruby/commit/02615682257dfa6d243127d9e1eae6938268a8eb))
12
+ * **api:** manual updates ([044e221](https://github.com/team-telnyx/telnyx-ruby/commit/044e22120a5676d514af5442d913064fc5fa9789))
13
+
14
+
15
+ ### Reverts
16
+
17
+ * restore stainless.yml from before 9853597 ([89c9cfd](https://github.com/team-telnyx/telnyx-ruby/commit/89c9cfdd1ea3879f32247bf59822e38eb870b9cd))
18
+
3
19
  ## 5.102.1 (2026-05-07)
4
20
 
5
21
  Full Changelog: [v5.102.0...v5.102.1](https://github.com/team-telnyx/telnyx-ruby/compare/v5.102.0...v5.102.1)
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.102.1"
27
+ gem "telnyx", "~> 5.103.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -90,8 +90,9 @@ module Telnyx
90
90
  # `/ai/integrations/connections`. Each item references a catalog integration by
91
91
  # `integration_id`.
92
92
  #
93
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
94
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
93
+ # @return [Array<Telnyx::Models::AI::AssistantCreateParams::Integration>, nil]
94
+ optional :integrations,
95
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantCreateParams::Integration] }
95
96
 
96
97
  # @!attribute interruption_settings
97
98
  # Settings for interruptions and how the assistant decides the user has finished
@@ -101,8 +102,8 @@ module Telnyx
101
102
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
102
103
  # `eager_eot_threshold`).
103
104
  #
104
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
105
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
105
+ # @return [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings, nil]
106
+ optional :interruption_settings, -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings }
106
107
 
107
108
  # @!attribute llm_api_key_ref
108
109
  # This is only needed when using third-party inference providers selected by
@@ -119,8 +120,9 @@ module Telnyx
119
120
  # MCP servers attached to the assistant. Create MCP servers with
120
121
  # `/ai/mcp_servers`, then reference them by `id` here.
121
122
  #
122
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
123
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
123
+ # @return [Array<Telnyx::Models::AI::AssistantCreateParams::McpServer>, nil]
124
+ optional :mcp_servers,
125
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantCreateParams::McpServer] }
124
126
 
125
127
  # @!attribute messaging_settings
126
128
  #
@@ -227,13 +229,13 @@ module Telnyx
227
229
  #
228
230
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
229
231
  #
230
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
232
+ # @param integrations [Array<Telnyx::Models::AI::AssistantCreateParams::Integration>] Connected integrations attached to the assistant. The catalog of available integ
231
233
  #
232
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
234
+ # @param interruption_settings [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
233
235
  #
234
236
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
235
237
  #
236
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
238
+ # @param mcp_servers [Array<Telnyx::Models::AI::AssistantCreateParams::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
237
239
  #
238
240
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
239
241
  #
@@ -260,6 +262,165 @@ module Telnyx
260
262
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
261
263
  #
262
264
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
265
+
266
+ class Integration < Telnyx::Internal::Type::BaseModel
267
+ # @!attribute integration_id
268
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
269
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
270
+ # entries returned by `/ai/integrations/connections`). It is **not** the
271
+ # connection-level `id` from `/ai/integrations/connections`.
272
+ #
273
+ # @return [String]
274
+ required :integration_id, String
275
+
276
+ # @!attribute allowed_list
277
+ # Optional per-assistant allowlist of integration tool names. When omitted or
278
+ # empty, all tools allowed by the connected integration are available to the
279
+ # assistant.
280
+ #
281
+ # @return [Array<String>, nil]
282
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
283
+
284
+ # @!method initialize(integration_id:, allowed_list: nil)
285
+ # Some parameter documentations has been truncated, see
286
+ # {Telnyx::Models::AI::AssistantCreateParams::Integration} for more details.
287
+ #
288
+ # Reference to a connected integration attached to an assistant. Discover
289
+ # available integrations with `/ai/integrations` and connected integrations with
290
+ # `/ai/integrations/connections`.
291
+ #
292
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
293
+ #
294
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
295
+ end
296
+
297
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
298
+ # @!attribute enable
299
+ # Whether users can interrupt the assistant while it is speaking.
300
+ #
301
+ # @return [Boolean, nil]
302
+ optional :enable, Telnyx::Internal::Type::Boolean
303
+
304
+ # @!attribute start_speaking_plan
305
+ # Controls when the assistant starts speaking after the user stops. These
306
+ # thresholds primarily apply to non turn-taking transcription models. For
307
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
308
+ # transcription end-of-turn settings under `transcription.settings` instead.
309
+ #
310
+ # @return [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan, nil]
311
+ optional :start_speaking_plan,
312
+ -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan }
313
+
314
+ # @!method initialize(enable: nil, start_speaking_plan: nil)
315
+ # Some parameter documentations has been truncated, see
316
+ # {Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings} for more
317
+ # details.
318
+ #
319
+ # Settings for interruptions and how the assistant decides the user has finished
320
+ # speaking. These timings are most relevant when using non turn-taking
321
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
322
+ # behavior is controlled by the transcription end-of-turn settings under
323
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
324
+ # `eager_eot_threshold`).
325
+ #
326
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
327
+ #
328
+ # @param start_speaking_plan [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
329
+
330
+ # @see Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings#start_speaking_plan
331
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
332
+ # @!attribute transcription_endpointing_plan
333
+ # Endpointing thresholds used to decide when the user has finished speaking.
334
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
335
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
336
+ # `eager_eot_threshold`.
337
+ #
338
+ # @return [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
339
+ optional :transcription_endpointing_plan,
340
+ -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
341
+
342
+ # @!attribute wait_seconds
343
+ # Minimum seconds to wait before the assistant starts speaking.
344
+ #
345
+ # @return [Float, nil]
346
+ optional :wait_seconds, Float
347
+
348
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
349
+ # Some parameter documentations has been truncated, see
350
+ # {Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan}
351
+ # for more details.
352
+ #
353
+ # Controls when the assistant starts speaking after the user stops. These
354
+ # thresholds primarily apply to non turn-taking transcription models. For
355
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
356
+ # transcription end-of-turn settings under `transcription.settings` instead.
357
+ #
358
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
359
+ #
360
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
361
+
362
+ # @see Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
363
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
364
+ # @!attribute on_no_punctuation_seconds
365
+ # Seconds to wait after the transcript ends without punctuation.
366
+ #
367
+ # @return [Float, nil]
368
+ optional :on_no_punctuation_seconds, Float
369
+
370
+ # @!attribute on_number_seconds
371
+ # Seconds to wait after the transcript ends with a number.
372
+ #
373
+ # @return [Float, nil]
374
+ optional :on_number_seconds, Float
375
+
376
+ # @!attribute on_punctuation_seconds
377
+ # Seconds to wait after the transcript ends with punctuation.
378
+ #
379
+ # @return [Float, nil]
380
+ optional :on_punctuation_seconds, Float
381
+
382
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
383
+ # Endpointing thresholds used to decide when the user has finished speaking.
384
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
385
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
386
+ # `eager_eot_threshold`.
387
+ #
388
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
389
+ #
390
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
391
+ #
392
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
393
+ end
394
+ end
395
+ end
396
+
397
+ class McpServer < Telnyx::Internal::Type::BaseModel
398
+ # @!attribute id
399
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
400
+ # by the `/ai/mcp_servers` endpoints.
401
+ #
402
+ # @return [String]
403
+ required :id, String
404
+
405
+ # @!attribute allowed_tools
406
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
407
+ # uses the MCP server's configured `allowed_tools`.
408
+ #
409
+ # @return [Array<String>, nil]
410
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
411
+
412
+ # @!method initialize(id:, allowed_tools: nil)
413
+ # Some parameter documentations has been truncated, see
414
+ # {Telnyx::Models::AI::AssistantCreateParams::McpServer} for more details.
415
+ #
416
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
417
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
418
+ # ID.
419
+ #
420
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
421
+ #
422
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
423
+ end
263
424
  end
264
425
  end
265
426
  end
@@ -144,7 +144,7 @@ module Telnyx
144
144
  # variable string like `{{ targets }}` where `targets` is returned by the dynamic
145
145
  # variables webhook and resolves to an array of target objects at runtime.
146
146
  #
147
- # @return [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList>, String]
147
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0>, String]
148
148
  required :targets, union: -> { Telnyx::AI::AssistantTool::Transfer::Transfer::Targets }
149
149
 
150
150
  # @!attribute custom_headers
@@ -184,7 +184,7 @@ module Telnyx
184
184
  #
185
185
  # @param from [String] Number or SIP URI placing the call.
186
186
  #
187
- # @param targets [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList>, String] The different possible targets of the transfer. The assistant will be able to ch
187
+ # @param targets [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0>, String] The different possible targets of the transfer. The assistant will be able to ch
188
188
  #
189
189
  # @param custom_headers [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader>] Custom headers to be added to the SIP INVITE for the transfer command.
190
190
  #
@@ -203,12 +203,12 @@ module Telnyx
203
203
  module Targets
204
204
  extend Telnyx::Internal::Type::Union
205
205
 
206
- variant -> { Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::TargetsListArray }
206
+ variant -> { Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0Array }
207
207
 
208
208
  # A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.
209
209
  variant String
210
210
 
211
- class TargetsList < Telnyx::Internal::Type::BaseModel
211
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
212
212
  # @!attribute to
213
213
  # The destination number or SIP URI of the call.
214
214
  #
@@ -228,12 +228,12 @@ module Telnyx
228
228
  end
229
229
 
230
230
  # @!method self.variants
231
- # @return [Array(Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList>, String)]
231
+ # @return [Array(Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0>, String)]
232
232
 
233
233
  # @type [Telnyx::Internal::Type::Converter]
234
- TargetsListArray =
234
+ UnionMember0Array =
235
235
  Telnyx::Internal::Type::ArrayOf[-> {
236
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
236
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
237
237
  }]
238
238
  end
239
239
 
@@ -545,7 +545,7 @@ module Telnyx
545
545
  # omitted or null, the invite tool can still be configured and targets may be
546
546
  # supplied dynamically at runtime.
547
547
  #
548
- # @return [Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::TargetsList>, String, nil]
548
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::UnionMember0>, String, nil]
549
549
  optional :targets, union: -> { Telnyx::AI::AssistantTool::Invite::Invite::Targets }, nil?: true
550
550
 
551
551
  # @!attribute voicemail_detection
@@ -563,7 +563,7 @@ module Telnyx
563
563
  #
564
564
  # @param custom_headers [Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::CustomHeader>] Custom headers to be added to the SIP INVITE for the invite command.
565
565
  #
566
- # @param targets [Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::TargetsList>, String, nil] The different possible targets of the invite. The assistant will be able to choo
566
+ # @param targets [Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::UnionMember0>, String, nil] The different possible targets of the invite. The assistant will be able to choo
567
567
  #
568
568
  # @param voicemail_detection [Telnyx::Models::AI::AssistantTool::Invite::Invite::VoicemailDetection] Configuration for voicemail detection (AMD - Answering Machine Detection) on the
569
569
 
@@ -603,12 +603,12 @@ module Telnyx
603
603
  module Targets
604
604
  extend Telnyx::Internal::Type::Union
605
605
 
606
- variant -> { Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::TargetsListArray }
606
+ variant -> { Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::UnionMember0Array }
607
607
 
608
608
  # A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.
609
609
  variant String
610
610
 
611
- class TargetsList < Telnyx::Internal::Type::BaseModel
611
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
612
612
  # @!attribute to
613
613
  # The destination number or SIP URI of the call.
614
614
  #
@@ -628,12 +628,12 @@ module Telnyx
628
628
  end
629
629
 
630
630
  # @!method self.variants
631
- # @return [Array(Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::TargetsList>, String)]
631
+ # @return [Array(Array<Telnyx::Models::AI::AssistantTool::Invite::Invite::Targets::UnionMember0>, String)]
632
632
 
633
633
  # @type [Telnyx::Internal::Type::Converter]
634
- TargetsListArray =
634
+ UnionMember0Array =
635
635
  Telnyx::Internal::Type::ArrayOf[-> {
636
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
636
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
637
637
  }]
638
638
  end
639
639
 
@@ -90,8 +90,9 @@ module Telnyx
90
90
  # `/ai/integrations/connections`. Each item references a catalog integration by
91
91
  # `integration_id`.
92
92
  #
93
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
94
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
93
+ # @return [Array<Telnyx::Models::AI::AssistantUpdateParams::Integration>, nil]
94
+ optional :integrations,
95
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantUpdateParams::Integration] }
95
96
 
96
97
  # @!attribute interruption_settings
97
98
  # Settings for interruptions and how the assistant decides the user has finished
@@ -101,8 +102,8 @@ module Telnyx
101
102
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
102
103
  # `eager_eot_threshold`).
103
104
  #
104
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
105
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
105
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings, nil]
106
+ optional :interruption_settings, -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings }
106
107
 
107
108
  # @!attribute llm_api_key_ref
108
109
  # This is only needed when using third-party inference providers selected by
@@ -119,8 +120,9 @@ module Telnyx
119
120
  # MCP servers attached to the assistant. Create MCP servers with
120
121
  # `/ai/mcp_servers`, then reference them by `id` here.
121
122
  #
122
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
123
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
123
+ # @return [Array<Telnyx::Models::AI::AssistantUpdateParams::McpServer>, nil]
124
+ optional :mcp_servers,
125
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantUpdateParams::McpServer] }
124
126
 
125
127
  # @!attribute messaging_settings
126
128
  #
@@ -245,13 +247,13 @@ module Telnyx
245
247
  #
246
248
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
247
249
  #
248
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
250
+ # @param integrations [Array<Telnyx::Models::AI::AssistantUpdateParams::Integration>] Connected integrations attached to the assistant. The catalog of available integ
249
251
  #
250
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
252
+ # @param interruption_settings [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
251
253
  #
252
254
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
253
255
  #
254
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
256
+ # @param mcp_servers [Array<Telnyx::Models::AI::AssistantUpdateParams::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
255
257
  #
256
258
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
257
259
  #
@@ -284,6 +286,165 @@ module Telnyx
284
286
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
285
287
  #
286
288
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
289
+
290
+ class Integration < Telnyx::Internal::Type::BaseModel
291
+ # @!attribute integration_id
292
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
293
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
294
+ # entries returned by `/ai/integrations/connections`). It is **not** the
295
+ # connection-level `id` from `/ai/integrations/connections`.
296
+ #
297
+ # @return [String]
298
+ required :integration_id, String
299
+
300
+ # @!attribute allowed_list
301
+ # Optional per-assistant allowlist of integration tool names. When omitted or
302
+ # empty, all tools allowed by the connected integration are available to the
303
+ # assistant.
304
+ #
305
+ # @return [Array<String>, nil]
306
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
307
+
308
+ # @!method initialize(integration_id:, allowed_list: nil)
309
+ # Some parameter documentations has been truncated, see
310
+ # {Telnyx::Models::AI::AssistantUpdateParams::Integration} for more details.
311
+ #
312
+ # Reference to a connected integration attached to an assistant. Discover
313
+ # available integrations with `/ai/integrations` and connected integrations with
314
+ # `/ai/integrations/connections`.
315
+ #
316
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
317
+ #
318
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
319
+ end
320
+
321
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
322
+ # @!attribute enable
323
+ # Whether users can interrupt the assistant while it is speaking.
324
+ #
325
+ # @return [Boolean, nil]
326
+ optional :enable, Telnyx::Internal::Type::Boolean
327
+
328
+ # @!attribute start_speaking_plan
329
+ # Controls when the assistant starts speaking after the user stops. These
330
+ # thresholds primarily apply to non turn-taking transcription models. For
331
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
332
+ # transcription end-of-turn settings under `transcription.settings` instead.
333
+ #
334
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan, nil]
335
+ optional :start_speaking_plan,
336
+ -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan }
337
+
338
+ # @!method initialize(enable: nil, start_speaking_plan: nil)
339
+ # Some parameter documentations has been truncated, see
340
+ # {Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings} for more
341
+ # details.
342
+ #
343
+ # Settings for interruptions and how the assistant decides the user has finished
344
+ # speaking. These timings are most relevant when using non turn-taking
345
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
346
+ # behavior is controlled by the transcription end-of-turn settings under
347
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
348
+ # `eager_eot_threshold`).
349
+ #
350
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
351
+ #
352
+ # @param start_speaking_plan [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
353
+
354
+ # @see Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings#start_speaking_plan
355
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
356
+ # @!attribute transcription_endpointing_plan
357
+ # Endpointing thresholds used to decide when the user has finished speaking.
358
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
359
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
360
+ # `eager_eot_threshold`.
361
+ #
362
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
363
+ optional :transcription_endpointing_plan,
364
+ -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
365
+
366
+ # @!attribute wait_seconds
367
+ # Minimum seconds to wait before the assistant starts speaking.
368
+ #
369
+ # @return [Float, nil]
370
+ optional :wait_seconds, Float
371
+
372
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
373
+ # Some parameter documentations has been truncated, see
374
+ # {Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan}
375
+ # for more details.
376
+ #
377
+ # Controls when the assistant starts speaking after the user stops. These
378
+ # thresholds primarily apply to non turn-taking transcription models. For
379
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
380
+ # transcription end-of-turn settings under `transcription.settings` instead.
381
+ #
382
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
383
+ #
384
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
385
+
386
+ # @see Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
387
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
388
+ # @!attribute on_no_punctuation_seconds
389
+ # Seconds to wait after the transcript ends without punctuation.
390
+ #
391
+ # @return [Float, nil]
392
+ optional :on_no_punctuation_seconds, Float
393
+
394
+ # @!attribute on_number_seconds
395
+ # Seconds to wait after the transcript ends with a number.
396
+ #
397
+ # @return [Float, nil]
398
+ optional :on_number_seconds, Float
399
+
400
+ # @!attribute on_punctuation_seconds
401
+ # Seconds to wait after the transcript ends with punctuation.
402
+ #
403
+ # @return [Float, nil]
404
+ optional :on_punctuation_seconds, Float
405
+
406
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
407
+ # Endpointing thresholds used to decide when the user has finished speaking.
408
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
409
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
410
+ # `eager_eot_threshold`.
411
+ #
412
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
413
+ #
414
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
415
+ #
416
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
417
+ end
418
+ end
419
+ end
420
+
421
+ class McpServer < Telnyx::Internal::Type::BaseModel
422
+ # @!attribute id
423
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
424
+ # by the `/ai/mcp_servers` endpoints.
425
+ #
426
+ # @return [String]
427
+ required :id, String
428
+
429
+ # @!attribute allowed_tools
430
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
431
+ # uses the MCP server's configured `allowed_tools`.
432
+ #
433
+ # @return [Array<String>, nil]
434
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
435
+
436
+ # @!method initialize(id:, allowed_tools: nil)
437
+ # Some parameter documentations has been truncated, see
438
+ # {Telnyx::Models::AI::AssistantUpdateParams::McpServer} for more details.
439
+ #
440
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
441
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
442
+ # ID.
443
+ #
444
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
445
+ #
446
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
447
+ end
287
448
  end
288
449
  end
289
450
  end