telnyx 5.103.0 → 5.103.1

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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -170
  5. data/lib/telnyx/models/ai/assistant_integration.rb +38 -0
  6. data/lib/telnyx/models/ai/assistant_mcp_server.rb +35 -0
  7. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -170
  9. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +3 -123
  10. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +3 -125
  11. data/lib/telnyx/models/ai/assistants/clause.rb +54 -0
  12. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +27 -0
  13. data/lib/telnyx/models/ai/assistants/rule_input.rb +40 -0
  14. data/lib/telnyx/models/ai/assistants/rule_output.rb +40 -0
  15. data/lib/telnyx/models/ai/assistants/serve.rb +33 -0
  16. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -171
  17. data/lib/telnyx/models/ai/inference_embedding.rb +9 -169
  18. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +39 -0
  19. data/lib/telnyx/models/ai/openai_list_models_response.rb +3 -31
  20. data/lib/telnyx/models/ai/start_speaking_plan.rb +37 -0
  21. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +39 -0
  22. data/lib/telnyx/models/ai/transfer_tool.rb +7 -9
  23. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -31
  24. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  25. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  26. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  27. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  28. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  29. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  30. data/lib/telnyx/models/calls/transcription_start_request.rb +5 -167
  31. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  32. data/lib/telnyx/models/model_metadata.rb +33 -0
  33. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  34. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  35. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  36. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  37. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  38. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  39. data/lib/telnyx/models/uac_connection.rb +412 -0
  40. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  41. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  42. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  43. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  44. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  45. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  46. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  47. data/lib/telnyx/models/uac_inbound.rb +210 -0
  48. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  49. data/lib/telnyx/models/uac_outbound.rb +131 -0
  50. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  51. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  52. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  53. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  54. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  55. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  56. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  57. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  58. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  59. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  60. data/lib/telnyx/models.rb +20 -0
  61. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  62. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  63. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  64. data/lib/telnyx/resources/calls/actions.rb +5 -5
  65. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  66. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  67. data/lib/telnyx/resources/uac_connections.rb +8 -8
  68. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  69. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  70. data/lib/telnyx/version.rb +1 -1
  71. data/lib/telnyx.rb +22 -4
  72. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -341
  73. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  74. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  75. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  76. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -341
  77. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  78. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  79. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  80. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  81. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  82. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  83. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  84. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -355
  85. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -340
  86. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +72 -0
  87. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -56
  88. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  89. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  90. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  91. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -51
  92. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  93. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  94. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  95. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  96. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  97. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  98. data/rbi/telnyx/models/calls/transcription_start_request.rbi +10 -480
  99. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  100. data/rbi/telnyx/models/model_metadata.rbi +44 -0
  101. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  102. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  103. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  104. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  105. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  106. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  107. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  108. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  109. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  110. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  111. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  112. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  113. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  114. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  115. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  116. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  117. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  118. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  119. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  120. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  121. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  122. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  123. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  124. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  125. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  126. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  127. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  128. data/rbi/telnyx/models.rbi +20 -0
  129. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  130. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  131. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  132. data/rbi/telnyx/resources/calls/actions.rbi +6 -6
  133. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  134. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  135. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  136. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  137. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  138. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -142
  139. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  140. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  141. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  142. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -142
  143. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  144. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  145. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  146. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  147. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  148. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  149. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  150. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -145
  151. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -142
  152. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +30 -0
  153. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -39
  154. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  155. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  156. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  157. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -39
  158. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  159. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  160. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  161. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  162. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  163. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  164. data/sig/telnyx/models/calls/transcription_start_request.rbs +2 -184
  165. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  166. data/sig/telnyx/models/model_metadata.rbs +32 -0
  167. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  168. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  169. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  170. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  171. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  172. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  173. data/sig/telnyx/models/uac_connection.rbs +338 -0
  174. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  175. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  176. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  177. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  178. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  179. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  180. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  181. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  182. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  183. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  184. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  185. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  186. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  187. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  188. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  189. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  190. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  191. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  192. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  193. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  194. data/sig/telnyx/models.rbs +20 -0
  195. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  196. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  197. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  198. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  199. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  200. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  201. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  202. metadata +67 -13
  203. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  204. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  205. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  206. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  207. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  208. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  209. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  210. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  211. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  212. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  213. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  214. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -110,21 +110,12 @@ module Telnyx
110
110
  # integrations is at `/ai/integrations`; the user's connected integrations are at
111
111
  # `/ai/integrations/connections`. Each item references a catalog integration by
112
112
  # `integration_id`.
113
- sig do
114
- returns(
115
- T.nilable(
116
- T::Array[Telnyx::AI::Assistants::UpdateAssistant::Integration]
117
- )
118
- )
119
- end
113
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
120
114
  attr_reader :integrations
121
115
 
122
116
  sig do
123
117
  params(
124
- integrations:
125
- T::Array[
126
- Telnyx::AI::Assistants::UpdateAssistant::Integration::OrHash
127
- ]
118
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
128
119
  ).void
129
120
  end
130
121
  attr_writer :integrations
@@ -137,9 +128,7 @@ module Telnyx
137
128
  # `eager_eot_threshold`).
138
129
  sig do
139
130
  returns(
140
- T.nilable(
141
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings
142
- )
131
+ T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings)
143
132
  )
144
133
  end
145
134
  attr_reader :interruption_settings
@@ -147,7 +136,7 @@ module Telnyx
147
136
  sig do
148
137
  params(
149
138
  interruption_settings:
150
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::OrHash
139
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
151
140
  ).void
152
141
  end
153
142
  attr_writer :interruption_settings
@@ -166,21 +155,12 @@ module Telnyx
166
155
 
167
156
  # MCP servers attached to the assistant. Create MCP servers with
168
157
  # `/ai/mcp_servers`, then reference them by `id` here.
169
- sig do
170
- returns(
171
- T.nilable(
172
- T::Array[Telnyx::AI::Assistants::UpdateAssistant::McpServer]
173
- )
174
- )
175
- end
158
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
176
159
  attr_reader :mcp_servers
177
160
 
178
161
  sig do
179
162
  params(
180
- mcp_servers:
181
- T::Array[
182
- Telnyx::AI::Assistants::UpdateAssistant::McpServer::OrHash
183
- ]
163
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
184
164
  ).void
185
165
  end
186
166
  attr_writer :mcp_servers
@@ -363,17 +343,11 @@ module Telnyx
363
343
  greeting: String,
364
344
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
365
345
  instructions: String,
366
- integrations:
367
- T::Array[
368
- Telnyx::AI::Assistants::UpdateAssistant::Integration::OrHash
369
- ],
346
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
370
347
  interruption_settings:
371
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::OrHash,
348
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
372
349
  llm_api_key_ref: String,
373
- mcp_servers:
374
- T::Array[
375
- Telnyx::AI::Assistants::UpdateAssistant::McpServer::OrHash
376
- ],
350
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
377
351
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
378
352
  model: String,
379
353
  name: String,
@@ -510,15 +484,11 @@ module Telnyx
510
484
  greeting: String,
511
485
  insight_settings: Telnyx::AI::InsightSettings,
512
486
  instructions: String,
513
- integrations:
514
- T::Array[
515
- Telnyx::AI::Assistants::UpdateAssistant::Integration
516
- ],
487
+ integrations: T::Array[Telnyx::AI::AssistantIntegration],
517
488
  interruption_settings:
518
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings,
489
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
519
490
  llm_api_key_ref: String,
520
- mcp_servers:
521
- T::Array[Telnyx::AI::Assistants::UpdateAssistant::McpServer],
491
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
522
492
  messaging_settings: Telnyx::AI::MessagingSettings,
523
493
  model: String,
524
494
  name: String,
@@ -553,319 +523,6 @@ module Telnyx
553
523
  end
554
524
  def to_hash
555
525
  end
556
-
557
- class Integration < Telnyx::Internal::Type::BaseModel
558
- OrHash =
559
- T.type_alias do
560
- T.any(
561
- Telnyx::AI::Assistants::UpdateAssistant::Integration,
562
- Telnyx::Internal::AnyHash
563
- )
564
- end
565
-
566
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
567
- # at `/ai/integrations` (the same value also appears as `integration_id` on
568
- # entries returned by `/ai/integrations/connections`). It is **not** the
569
- # connection-level `id` from `/ai/integrations/connections`.
570
- sig { returns(String) }
571
- attr_accessor :integration_id
572
-
573
- # Optional per-assistant allowlist of integration tool names. When omitted or
574
- # empty, all tools allowed by the connected integration are available to the
575
- # assistant.
576
- sig { returns(T.nilable(T::Array[String])) }
577
- attr_reader :allowed_list
578
-
579
- sig { params(allowed_list: T::Array[String]).void }
580
- attr_writer :allowed_list
581
-
582
- # Reference to a connected integration attached to an assistant. Discover
583
- # available integrations with `/ai/integrations` and connected integrations with
584
- # `/ai/integrations/connections`.
585
- sig do
586
- params(
587
- integration_id: String,
588
- allowed_list: T::Array[String]
589
- ).returns(T.attached_class)
590
- end
591
- def self.new(
592
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
593
- # at `/ai/integrations` (the same value also appears as `integration_id` on
594
- # entries returned by `/ai/integrations/connections`). It is **not** the
595
- # connection-level `id` from `/ai/integrations/connections`.
596
- integration_id:,
597
- # Optional per-assistant allowlist of integration tool names. When omitted or
598
- # empty, all tools allowed by the connected integration are available to the
599
- # assistant.
600
- allowed_list: nil
601
- )
602
- end
603
-
604
- sig do
605
- override.returns(
606
- { integration_id: String, allowed_list: T::Array[String] }
607
- )
608
- end
609
- def to_hash
610
- end
611
- end
612
-
613
- class InterruptionSettings < Telnyx::Internal::Type::BaseModel
614
- OrHash =
615
- T.type_alias do
616
- T.any(
617
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings,
618
- Telnyx::Internal::AnyHash
619
- )
620
- end
621
-
622
- # Whether users can interrupt the assistant while it is speaking.
623
- sig { returns(T.nilable(T::Boolean)) }
624
- attr_reader :enable
625
-
626
- sig { params(enable: T::Boolean).void }
627
- attr_writer :enable
628
-
629
- # Controls when the assistant starts speaking after the user stops. These
630
- # thresholds primarily apply to non turn-taking transcription models. For
631
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
632
- # transcription end-of-turn settings under `transcription.settings` instead.
633
- sig do
634
- returns(
635
- T.nilable(
636
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan
637
- )
638
- )
639
- end
640
- attr_reader :start_speaking_plan
641
-
642
- sig do
643
- params(
644
- start_speaking_plan:
645
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::OrHash
646
- ).void
647
- end
648
- attr_writer :start_speaking_plan
649
-
650
- # Settings for interruptions and how the assistant decides the user has finished
651
- # speaking. These timings are most relevant when using non turn-taking
652
- # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
653
- # behavior is controlled by the transcription end-of-turn settings under
654
- # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
655
- # `eager_eot_threshold`).
656
- sig do
657
- params(
658
- enable: T::Boolean,
659
- start_speaking_plan:
660
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::OrHash
661
- ).returns(T.attached_class)
662
- end
663
- def self.new(
664
- # Whether users can interrupt the assistant while it is speaking.
665
- enable: nil,
666
- # Controls when the assistant starts speaking after the user stops. These
667
- # thresholds primarily apply to non turn-taking transcription models. For
668
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
669
- # transcription end-of-turn settings under `transcription.settings` instead.
670
- start_speaking_plan: nil
671
- )
672
- end
673
-
674
- sig do
675
- override.returns(
676
- {
677
- enable: T::Boolean,
678
- start_speaking_plan:
679
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan
680
- }
681
- )
682
- end
683
- def to_hash
684
- end
685
-
686
- class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
687
- OrHash =
688
- T.type_alias do
689
- T.any(
690
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan,
691
- Telnyx::Internal::AnyHash
692
- )
693
- end
694
-
695
- # Endpointing thresholds used to decide when the user has finished speaking.
696
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
697
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
698
- # `eager_eot_threshold`.
699
- sig do
700
- returns(
701
- T.nilable(
702
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
703
- )
704
- )
705
- end
706
- attr_reader :transcription_endpointing_plan
707
-
708
- sig do
709
- params(
710
- transcription_endpointing_plan:
711
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
712
- ).void
713
- end
714
- attr_writer :transcription_endpointing_plan
715
-
716
- # Minimum seconds to wait before the assistant starts speaking.
717
- sig { returns(T.nilable(Float)) }
718
- attr_reader :wait_seconds
719
-
720
- sig { params(wait_seconds: Float).void }
721
- attr_writer :wait_seconds
722
-
723
- # Controls when the assistant starts speaking after the user stops. These
724
- # thresholds primarily apply to non turn-taking transcription models. For
725
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
726
- # transcription end-of-turn settings under `transcription.settings` instead.
727
- sig do
728
- params(
729
- transcription_endpointing_plan:
730
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
731
- wait_seconds: Float
732
- ).returns(T.attached_class)
733
- end
734
- def self.new(
735
- # Endpointing thresholds used to decide when the user has finished speaking.
736
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
737
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
738
- # `eager_eot_threshold`.
739
- transcription_endpointing_plan: nil,
740
- # Minimum seconds to wait before the assistant starts speaking.
741
- wait_seconds: nil
742
- )
743
- end
744
-
745
- sig do
746
- override.returns(
747
- {
748
- transcription_endpointing_plan:
749
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
750
- wait_seconds: Float
751
- }
752
- )
753
- end
754
- def to_hash
755
- end
756
-
757
- class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
758
- OrHash =
759
- T.type_alias do
760
- T.any(
761
- Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
762
- Telnyx::Internal::AnyHash
763
- )
764
- end
765
-
766
- # Seconds to wait after the transcript ends without punctuation.
767
- sig { returns(T.nilable(Float)) }
768
- attr_reader :on_no_punctuation_seconds
769
-
770
- sig { params(on_no_punctuation_seconds: Float).void }
771
- attr_writer :on_no_punctuation_seconds
772
-
773
- # Seconds to wait after the transcript ends with a number.
774
- sig { returns(T.nilable(Float)) }
775
- attr_reader :on_number_seconds
776
-
777
- sig { params(on_number_seconds: Float).void }
778
- attr_writer :on_number_seconds
779
-
780
- # Seconds to wait after the transcript ends with punctuation.
781
- sig { returns(T.nilable(Float)) }
782
- attr_reader :on_punctuation_seconds
783
-
784
- sig { params(on_punctuation_seconds: Float).void }
785
- attr_writer :on_punctuation_seconds
786
-
787
- # Endpointing thresholds used to decide when the user has finished speaking.
788
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
789
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
790
- # `eager_eot_threshold`.
791
- sig do
792
- params(
793
- on_no_punctuation_seconds: Float,
794
- on_number_seconds: Float,
795
- on_punctuation_seconds: Float
796
- ).returns(T.attached_class)
797
- end
798
- def self.new(
799
- # Seconds to wait after the transcript ends without punctuation.
800
- on_no_punctuation_seconds: nil,
801
- # Seconds to wait after the transcript ends with a number.
802
- on_number_seconds: nil,
803
- # Seconds to wait after the transcript ends with punctuation.
804
- on_punctuation_seconds: nil
805
- )
806
- end
807
-
808
- sig do
809
- override.returns(
810
- {
811
- on_no_punctuation_seconds: Float,
812
- on_number_seconds: Float,
813
- on_punctuation_seconds: Float
814
- }
815
- )
816
- end
817
- def to_hash
818
- end
819
- end
820
- end
821
- end
822
-
823
- class McpServer < Telnyx::Internal::Type::BaseModel
824
- OrHash =
825
- T.type_alias do
826
- T.any(
827
- Telnyx::AI::Assistants::UpdateAssistant::McpServer,
828
- Telnyx::Internal::AnyHash
829
- )
830
- end
831
-
832
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
833
- # by the `/ai/mcp_servers` endpoints.
834
- sig { returns(String) }
835
- attr_accessor :id
836
-
837
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
838
- # uses the MCP server's configured `allowed_tools`.
839
- sig { returns(T.nilable(T::Array[String])) }
840
- attr_reader :allowed_tools
841
-
842
- sig { params(allowed_tools: T::Array[String]).void }
843
- attr_writer :allowed_tools
844
-
845
- # Reference to an MCP server attached to an assistant. Create and manage MCP
846
- # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
847
- # ID.
848
- sig do
849
- params(id: String, allowed_tools: T::Array[String]).returns(
850
- T.attached_class
851
- )
852
- end
853
- def self.new(
854
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
855
- # by the `/ai/mcp_servers` endpoints.
856
- id:,
857
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
858
- # uses the MCP server's configured `allowed_tools`.
859
- allowed_tools: nil
860
- )
861
- end
862
-
863
- sig do
864
- override.returns({ id: String, allowed_tools: T::Array[String] })
865
- end
866
- def to_hash
867
- end
868
- end
869
526
  end
870
527
  end
871
528
  end