telnyx 5.111.0 → 5.112.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +178 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +178 -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/update_assistant.rb +179 -9
  10. data/lib/telnyx/models/ai/inference_embedding.rb +177 -9
  11. data/lib/telnyx/models/ai/openai_list_models_response.rb +210 -3
  12. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  13. data/lib/telnyx/models/ai_retrieve_models_response.rb +210 -3
  14. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  15. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  16. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +491 -0
  19. data/lib/telnyx/models/calls/action_start_conversation_relay_response.rb +37 -0
  20. data/lib/telnyx/models/calls/action_stop_conversation_relay_params.rb +44 -0
  21. data/lib/telnyx/models/calls/action_stop_conversation_relay_response.rb +18 -0
  22. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  23. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  24. data/lib/telnyx/models/network_list_interfaces_response.rb +2 -112
  25. data/lib/telnyx/models/public_internet_gateway_create_response.rb +8 -3
  26. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +8 -3
  27. data/lib/telnyx/models/public_internet_gateway_list_response.rb +10 -0
  28. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +8 -3
  29. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  30. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  31. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  32. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  33. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  34. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  35. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  36. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  37. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +8 -3
  38. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +8 -3
  39. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +10 -0
  40. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +8 -3
  41. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +8 -3
  42. data/lib/telnyx/models/wireguard_interface_create_response.rb +8 -3
  43. data/lib/telnyx/models/wireguard_interface_delete_response.rb +8 -3
  44. data/lib/telnyx/models/wireguard_interface_list_response.rb +10 -0
  45. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +8 -3
  46. data/lib/telnyx/models.rb +0 -20
  47. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  48. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  49. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  50. data/lib/telnyx/resources/calls/actions.rb +101 -5
  51. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  52. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  53. data/lib/telnyx/resources/uac_connections.rb +8 -8
  54. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  55. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  56. data/lib/telnyx/version.rb +1 -1
  57. data/lib/telnyx.rb +8 -22
  58. data/rbi/telnyx/models/ai/assistant_create_params.rbi +352 -12
  59. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  60. data/rbi/telnyx/models/ai/assistant_update_params.rbi +352 -12
  61. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  62. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  63. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +366 -12
  64. data/rbi/telnyx/models/ai/inference_embedding.rbi +351 -12
  65. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +315 -3
  66. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  67. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +310 -3
  68. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  69. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  70. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  71. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  72. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1075 -0
  73. data/rbi/telnyx/models/calls/action_start_conversation_relay_response.rbi +95 -0
  74. data/rbi/telnyx/models/calls/action_stop_conversation_relay_params.rbi +72 -0
  75. data/rbi/telnyx/models/calls/action_stop_conversation_relay_response.rbi +39 -0
  76. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  77. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  78. data/rbi/telnyx/models/network_list_interfaces_response.rbi +4 -181
  79. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +38 -6
  80. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +38 -6
  81. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +23 -0
  82. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +38 -6
  83. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  84. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  85. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  86. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  87. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  88. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  89. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  90. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  91. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +36 -6
  92. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +36 -6
  93. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +23 -0
  94. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +38 -6
  95. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +36 -6
  96. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +36 -6
  97. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +36 -6
  98. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +23 -0
  99. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +36 -6
  100. data/rbi/telnyx/models.rbi +0 -20
  101. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  102. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  103. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  104. data/rbi/telnyx/resources/calls/actions.rbi +152 -6
  105. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  106. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  107. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  108. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  109. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  110. data/sig/telnyx/models/ai/assistant_create_params.rbs +149 -18
  111. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  112. data/sig/telnyx/models/ai/assistant_update_params.rbs +149 -18
  113. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  114. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  115. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +152 -18
  116. data/sig/telnyx/models/ai/inference_embedding.rbs +149 -18
  117. data/sig/telnyx/models/ai/openai_list_models_response.rbs +149 -4
  118. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  119. data/sig/telnyx/models/ai_retrieve_models_response.rbs +149 -4
  120. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  121. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  122. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  123. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  124. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +416 -0
  125. data/sig/telnyx/models/calls/action_start_conversation_relay_response.rbs +45 -0
  126. data/sig/telnyx/models/calls/action_stop_conversation_relay_params.rbs +38 -0
  127. data/sig/telnyx/models/calls/action_stop_conversation_relay_response.rbs +20 -0
  128. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  129. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  130. data/sig/telnyx/models/network_list_interfaces_response.rbs +4 -106
  131. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +18 -6
  132. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +18 -6
  133. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +11 -0
  134. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +18 -6
  135. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  136. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  137. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  138. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  139. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  140. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  141. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  142. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  143. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +18 -6
  144. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +18 -6
  145. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +11 -0
  146. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +18 -6
  147. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +18 -6
  148. data/sig/telnyx/models/wireguard_interface_create_response.rbs +18 -6
  149. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +18 -6
  150. data/sig/telnyx/models/wireguard_interface_list_response.rbs +11 -0
  151. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +18 -6
  152. data/sig/telnyx/models.rbs +0 -20
  153. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  154. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  155. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  156. data/sig/telnyx/resources/calls/actions.rbs +29 -0
  157. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  158. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  159. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  160. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  161. metadata +26 -68
  162. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  163. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  164. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  165. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  166. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  167. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  168. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  169. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -47
  170. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  171. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  172. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  173. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  174. data/lib/telnyx/models/model_metadata.rb +0 -212
  175. data/lib/telnyx/models/public_internet_gateway_read.rb +0 -83
  176. data/lib/telnyx/models/uac_connection.rb +0 -412
  177. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  178. data/lib/telnyx/models/uac_inbound.rb +0 -210
  179. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  180. data/lib/telnyx/models/uac_outbound.rb +0 -131
  181. data/lib/telnyx/models/virtual_cross_connect_combined.rb +0 -212
  182. data/lib/telnyx/models/wireguard_interface_read.rb +0 -136
  183. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  184. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  185. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  186. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  187. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  188. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  189. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  190. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  191. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -83
  192. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  193. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  194. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  195. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  196. data/rbi/telnyx/models/model_metadata.rbi +0 -272
  197. data/rbi/telnyx/models/public_internet_gateway_read.rbi +0 -128
  198. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  199. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  200. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  201. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  202. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  203. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +0 -345
  204. data/rbi/telnyx/models/wireguard_interface_read.rbi +0 -213
  205. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  206. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  207. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  208. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  209. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  210. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  211. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  212. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  213. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -40
  214. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  215. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  216. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  217. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  218. data/sig/telnyx/models/model_metadata.rbs +0 -142
  219. data/sig/telnyx/models/public_internet_gateway_read.rbs +0 -80
  220. data/sig/telnyx/models/uac_connection.rbs +0 -338
  221. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  222. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  223. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  224. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  225. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +0 -190
  226. data/sig/telnyx/models/wireguard_interface_read.rbs +0 -127
  227. 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: be2cf4e9be3cdaa6185fcb76deeb5d0d85ea5168492480b35878e8809c24eca8
4
- data.tar.gz: a26e5c1c405399b8766093b9281a0597adb29ef0121001267e59c8d66f16798b
3
+ metadata.gz: 8b51efa53706aeda39911e05fb209f4af8cd52bd56c446ae66b8e7126187a21f
4
+ data.tar.gz: 6b5a248e77dfd947bc2731b9a4a2b041d89807fe3ad110eacc8a15dd33d61e5d
5
5
  SHA512:
6
- metadata.gz: 6503aaffe64f1962021b6b1f91327752f6dc60c014e606422e165ce40acb77fd09dc0e9eb83e8c9317670f98d60c6b5bd422793256be9d09a09c829c50ead42b
7
- data.tar.gz: 62dc3c4a7e0d4aed8851c548328640b9a2357c75cf408150306a4e651f817fd909b43477e7047ac2dc82bdaedf818d35208c1ad35b6d34b1d9163e0d76d8e2e6
6
+ metadata.gz: c9a6cdb24c8704343b71f8f02fb361c9bce86a9381edef0caba5f7f933ec83f52eb32081e5ef97e819fa9df09ccc1b970f6994b740eb45bd68c1723069f45599
7
+ data.tar.gz: 5604d3f27731eb2fcb754029bc45fa7d69ab7d7408fc635301c864184da960e13a64234d8e95d8f7dd08eeeb71316616d5399510f4943d408d3c335265442004
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.112.0 (2026-05-14)
4
+
5
+ Full Changelog: [v5.111.0...v5.112.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.111.0...v5.112.0)
6
+
7
+ ### Features
8
+
9
+ * Document Conversation Relay ([dc8eb44](https://github.com/team-telnyx/telnyx-ruby/commit/dc8eb44a33fec593d3a651cbe2553ded97e0e602))
10
+
3
11
  ## 5.111.0 (2026-05-13)
4
12
 
5
13
  Full Changelog: [v5.110.1...v5.111.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.110.1...v5.111.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.111.0"
27
+ gem "telnyx", "~> 5.112.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,173 @@ 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 disable_greeting_interruption
299
+ # When true, disables user interruptions while the assistant greeting is playing.
300
+ #
301
+ # @return [Boolean, nil]
302
+ optional :disable_greeting_interruption, Telnyx::Internal::Type::Boolean
303
+
304
+ # @!attribute enable
305
+ # Whether users can interrupt the assistant while it is speaking.
306
+ #
307
+ # @return [Boolean, nil]
308
+ optional :enable, Telnyx::Internal::Type::Boolean
309
+
310
+ # @!attribute start_speaking_plan
311
+ # Controls when the assistant starts speaking after the user stops. These
312
+ # thresholds primarily apply to non turn-taking transcription models. For
313
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
314
+ # transcription end-of-turn settings under `transcription.settings` instead.
315
+ #
316
+ # @return [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan, nil]
317
+ optional :start_speaking_plan,
318
+ -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan }
319
+
320
+ # @!method initialize(disable_greeting_interruption: nil, enable: nil, start_speaking_plan: nil)
321
+ # Some parameter documentations has been truncated, see
322
+ # {Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings} for more
323
+ # details.
324
+ #
325
+ # Settings for interruptions and how the assistant decides the user has finished
326
+ # speaking. These timings are most relevant when using non turn-taking
327
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
328
+ # behavior is controlled by the transcription end-of-turn settings under
329
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
330
+ # `eager_eot_threshold`).
331
+ #
332
+ # @param disable_greeting_interruption [Boolean] When true, disables user interruptions while the assistant greeting is playing.
333
+ #
334
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
335
+ #
336
+ # @param start_speaking_plan [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
337
+
338
+ # @see Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings#start_speaking_plan
339
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
340
+ # @!attribute transcription_endpointing_plan
341
+ # Endpointing thresholds used to decide when the user has finished speaking.
342
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
343
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
344
+ # `eager_eot_threshold`.
345
+ #
346
+ # @return [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
347
+ optional :transcription_endpointing_plan,
348
+ -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
349
+
350
+ # @!attribute wait_seconds
351
+ # Minimum seconds to wait before the assistant starts speaking.
352
+ #
353
+ # @return [Float, nil]
354
+ optional :wait_seconds, Float
355
+
356
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
357
+ # Some parameter documentations has been truncated, see
358
+ # {Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan}
359
+ # for more details.
360
+ #
361
+ # Controls when the assistant starts speaking after the user stops. These
362
+ # thresholds primarily apply to non turn-taking transcription models. For
363
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
364
+ # transcription end-of-turn settings under `transcription.settings` instead.
365
+ #
366
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
367
+ #
368
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
369
+
370
+ # @see Telnyx::Models::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
371
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
372
+ # @!attribute on_no_punctuation_seconds
373
+ # Seconds to wait after the transcript ends without punctuation.
374
+ #
375
+ # @return [Float, nil]
376
+ optional :on_no_punctuation_seconds, Float
377
+
378
+ # @!attribute on_number_seconds
379
+ # Seconds to wait after the transcript ends with a number.
380
+ #
381
+ # @return [Float, nil]
382
+ optional :on_number_seconds, Float
383
+
384
+ # @!attribute on_punctuation_seconds
385
+ # Seconds to wait after the transcript ends with punctuation.
386
+ #
387
+ # @return [Float, nil]
388
+ optional :on_punctuation_seconds, Float
389
+
390
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
391
+ # Endpointing thresholds used to decide when the user has finished speaking.
392
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
393
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
394
+ # `eager_eot_threshold`.
395
+ #
396
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
397
+ #
398
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
399
+ #
400
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
401
+ end
402
+ end
403
+ end
404
+
405
+ class McpServer < Telnyx::Internal::Type::BaseModel
406
+ # @!attribute id
407
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
408
+ # by the `/ai/mcp_servers` endpoints.
409
+ #
410
+ # @return [String]
411
+ required :id, String
412
+
413
+ # @!attribute allowed_tools
414
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
415
+ # uses the MCP server's configured `allowed_tools`.
416
+ #
417
+ # @return [Array<String>, nil]
418
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
419
+
420
+ # @!method initialize(id:, allowed_tools: nil)
421
+ # Some parameter documentations has been truncated, see
422
+ # {Telnyx::Models::AI::AssistantCreateParams::McpServer} for more details.
423
+ #
424
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
425
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
426
+ # ID.
427
+ #
428
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
429
+ #
430
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
431
+ end
263
432
  end
264
433
  end
265
434
  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,173 @@ 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 disable_greeting_interruption
323
+ # When true, disables user interruptions while the assistant greeting is playing.
324
+ #
325
+ # @return [Boolean, nil]
326
+ optional :disable_greeting_interruption, Telnyx::Internal::Type::Boolean
327
+
328
+ # @!attribute enable
329
+ # Whether users can interrupt the assistant while it is speaking.
330
+ #
331
+ # @return [Boolean, nil]
332
+ optional :enable, Telnyx::Internal::Type::Boolean
333
+
334
+ # @!attribute start_speaking_plan
335
+ # Controls when the assistant starts speaking after the user stops. These
336
+ # thresholds primarily apply to non turn-taking transcription models. For
337
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
338
+ # transcription end-of-turn settings under `transcription.settings` instead.
339
+ #
340
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan, nil]
341
+ optional :start_speaking_plan,
342
+ -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan }
343
+
344
+ # @!method initialize(disable_greeting_interruption: nil, enable: nil, start_speaking_plan: nil)
345
+ # Some parameter documentations has been truncated, see
346
+ # {Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings} for more
347
+ # details.
348
+ #
349
+ # Settings for interruptions and how the assistant decides the user has finished
350
+ # speaking. These timings are most relevant when using non turn-taking
351
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
352
+ # behavior is controlled by the transcription end-of-turn settings under
353
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
354
+ # `eager_eot_threshold`).
355
+ #
356
+ # @param disable_greeting_interruption [Boolean] When true, disables user interruptions while the assistant greeting is playing.
357
+ #
358
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
359
+ #
360
+ # @param start_speaking_plan [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
361
+
362
+ # @see Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings#start_speaking_plan
363
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
364
+ # @!attribute transcription_endpointing_plan
365
+ # Endpointing thresholds used to decide when the user has finished speaking.
366
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
367
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
368
+ # `eager_eot_threshold`.
369
+ #
370
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
371
+ optional :transcription_endpointing_plan,
372
+ -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
373
+
374
+ # @!attribute wait_seconds
375
+ # Minimum seconds to wait before the assistant starts speaking.
376
+ #
377
+ # @return [Float, nil]
378
+ optional :wait_seconds, Float
379
+
380
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
381
+ # Some parameter documentations has been truncated, see
382
+ # {Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan}
383
+ # for more details.
384
+ #
385
+ # Controls when the assistant starts speaking after the user stops. These
386
+ # thresholds primarily apply to non turn-taking transcription models. For
387
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
388
+ # transcription end-of-turn settings under `transcription.settings` instead.
389
+ #
390
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
391
+ #
392
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
393
+
394
+ # @see Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
395
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
396
+ # @!attribute on_no_punctuation_seconds
397
+ # Seconds to wait after the transcript ends without punctuation.
398
+ #
399
+ # @return [Float, nil]
400
+ optional :on_no_punctuation_seconds, Float
401
+
402
+ # @!attribute on_number_seconds
403
+ # Seconds to wait after the transcript ends with a number.
404
+ #
405
+ # @return [Float, nil]
406
+ optional :on_number_seconds, Float
407
+
408
+ # @!attribute on_punctuation_seconds
409
+ # Seconds to wait after the transcript ends with punctuation.
410
+ #
411
+ # @return [Float, nil]
412
+ optional :on_punctuation_seconds, Float
413
+
414
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
415
+ # Endpointing thresholds used to decide when the user has finished speaking.
416
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
417
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
418
+ # `eager_eot_threshold`.
419
+ #
420
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
421
+ #
422
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
423
+ #
424
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
425
+ end
426
+ end
427
+ end
428
+
429
+ class McpServer < Telnyx::Internal::Type::BaseModel
430
+ # @!attribute id
431
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
432
+ # by the `/ai/mcp_servers` endpoints.
433
+ #
434
+ # @return [String]
435
+ required :id, String
436
+
437
+ # @!attribute allowed_tools
438
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
439
+ # uses the MCP server's configured `allowed_tools`.
440
+ #
441
+ # @return [Array<String>, nil]
442
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
443
+
444
+ # @!method initialize(id:, allowed_tools: nil)
445
+ # Some parameter documentations has been truncated, see
446
+ # {Telnyx::Models::AI::AssistantUpdateParams::McpServer} for more details.
447
+ #
448
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
449
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
450
+ # ID.
451
+ #
452
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
453
+ #
454
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
455
+ end
287
456
  end
288
457
  end
289
458
  end