telnyx 5.103.0 → 5.104.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -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 +47 -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 +83 -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 +40 -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 +68 -14
  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
@@ -411,17 +411,17 @@ module Telnyx
411
411
  T.type_alias do
412
412
  T.any(
413
413
  T::Array[
414
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
414
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
415
415
  ],
416
416
  String
417
417
  )
418
418
  end
419
419
 
420
- class UnionMember0 < Telnyx::Internal::Type::BaseModel
420
+ class TargetsList < Telnyx::Internal::Type::BaseModel
421
421
  OrHash =
422
422
  T.type_alias do
423
423
  T.any(
424
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0,
424
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList,
425
425
  Telnyx::Internal::AnyHash
426
426
  )
427
427
  end
@@ -463,10 +463,10 @@ module Telnyx
463
463
  def self.variants
464
464
  end
465
465
 
466
- UnionMember0Array =
466
+ TargetsListArray =
467
467
  T.let(
468
468
  Telnyx::Internal::Type::ArrayOf[
469
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
469
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
470
470
  ],
471
471
  Telnyx::Internal::Type::Converter
472
472
  )
@@ -1253,17 +1253,17 @@ module Telnyx
1253
1253
  T.type_alias do
1254
1254
  T.any(
1255
1255
  T::Array[
1256
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1256
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1257
1257
  ],
1258
1258
  String
1259
1259
  )
1260
1260
  end
1261
1261
 
1262
- class UnionMember0 < Telnyx::Internal::Type::BaseModel
1262
+ class TargetsList < Telnyx::Internal::Type::BaseModel
1263
1263
  OrHash =
1264
1264
  T.type_alias do
1265
1265
  T.any(
1266
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0,
1266
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList,
1267
1267
  Telnyx::Internal::AnyHash
1268
1268
  )
1269
1269
  end
@@ -1305,10 +1305,10 @@ module Telnyx
1305
1305
  def self.variants
1306
1306
  end
1307
1307
 
1308
- UnionMember0Array =
1308
+ TargetsListArray =
1309
1309
  T.let(
1310
1310
  Telnyx::Internal::Type::ArrayOf[
1311
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1311
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1312
1312
  ],
1313
1313
  Telnyx::Internal::Type::Converter
1314
1314
  )
@@ -110,17 +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(T::Array[Telnyx::AI::AssistantUpdateParams::Integration])
116
- )
117
- end
113
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
118
114
  attr_reader :integrations
119
115
 
120
116
  sig do
121
117
  params(
122
- integrations:
123
- T::Array[Telnyx::AI::AssistantUpdateParams::Integration::OrHash]
118
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
124
119
  ).void
125
120
  end
126
121
  attr_writer :integrations
@@ -132,16 +127,14 @@ module Telnyx
132
127
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
133
128
  # `eager_eot_threshold`).
134
129
  sig do
135
- returns(
136
- T.nilable(Telnyx::AI::AssistantUpdateParams::InterruptionSettings)
137
- )
130
+ returns(T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings))
138
131
  end
139
132
  attr_reader :interruption_settings
140
133
 
141
134
  sig do
142
135
  params(
143
136
  interruption_settings:
144
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::OrHash
137
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
145
138
  ).void
146
139
  end
147
140
  attr_writer :interruption_settings
@@ -160,17 +153,12 @@ module Telnyx
160
153
 
161
154
  # MCP servers attached to the assistant. Create MCP servers with
162
155
  # `/ai/mcp_servers`, then reference them by `id` here.
163
- sig do
164
- returns(
165
- T.nilable(T::Array[Telnyx::AI::AssistantUpdateParams::McpServer])
166
- )
167
- end
156
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
168
157
  attr_reader :mcp_servers
169
158
 
170
159
  sig do
171
160
  params(
172
- mcp_servers:
173
- T::Array[Telnyx::AI::AssistantUpdateParams::McpServer::OrHash]
161
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
174
162
  ).void
175
163
  end
176
164
  attr_writer :mcp_servers
@@ -354,13 +342,11 @@ module Telnyx
354
342
  greeting: String,
355
343
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
356
344
  instructions: String,
357
- integrations:
358
- T::Array[Telnyx::AI::AssistantUpdateParams::Integration::OrHash],
345
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
359
346
  interruption_settings:
360
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::OrHash,
347
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
361
348
  llm_api_key_ref: String,
362
- mcp_servers:
363
- T::Array[Telnyx::AI::AssistantUpdateParams::McpServer::OrHash],
349
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
364
350
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
365
351
  model: String,
366
352
  name: String,
@@ -504,13 +490,11 @@ module Telnyx
504
490
  greeting: String,
505
491
  insight_settings: Telnyx::AI::InsightSettings,
506
492
  instructions: String,
507
- integrations:
508
- T::Array[Telnyx::AI::AssistantUpdateParams::Integration],
493
+ integrations: T::Array[Telnyx::AI::AssistantIntegration],
509
494
  interruption_settings:
510
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings,
495
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
511
496
  llm_api_key_ref: String,
512
- mcp_servers:
513
- T::Array[Telnyx::AI::AssistantUpdateParams::McpServer],
497
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
514
498
  messaging_settings: Telnyx::AI::MessagingSettings,
515
499
  model: String,
516
500
  name: String,
@@ -547,319 +531,6 @@ module Telnyx
547
531
  end
548
532
  def to_hash
549
533
  end
550
-
551
- class Integration < Telnyx::Internal::Type::BaseModel
552
- OrHash =
553
- T.type_alias do
554
- T.any(
555
- Telnyx::AI::AssistantUpdateParams::Integration,
556
- Telnyx::Internal::AnyHash
557
- )
558
- end
559
-
560
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
561
- # at `/ai/integrations` (the same value also appears as `integration_id` on
562
- # entries returned by `/ai/integrations/connections`). It is **not** the
563
- # connection-level `id` from `/ai/integrations/connections`.
564
- sig { returns(String) }
565
- attr_accessor :integration_id
566
-
567
- # Optional per-assistant allowlist of integration tool names. When omitted or
568
- # empty, all tools allowed by the connected integration are available to the
569
- # assistant.
570
- sig { returns(T.nilable(T::Array[String])) }
571
- attr_reader :allowed_list
572
-
573
- sig { params(allowed_list: T::Array[String]).void }
574
- attr_writer :allowed_list
575
-
576
- # Reference to a connected integration attached to an assistant. Discover
577
- # available integrations with `/ai/integrations` and connected integrations with
578
- # `/ai/integrations/connections`.
579
- sig do
580
- params(
581
- integration_id: String,
582
- allowed_list: T::Array[String]
583
- ).returns(T.attached_class)
584
- end
585
- def self.new(
586
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
587
- # at `/ai/integrations` (the same value also appears as `integration_id` on
588
- # entries returned by `/ai/integrations/connections`). It is **not** the
589
- # connection-level `id` from `/ai/integrations/connections`.
590
- integration_id:,
591
- # Optional per-assistant allowlist of integration tool names. When omitted or
592
- # empty, all tools allowed by the connected integration are available to the
593
- # assistant.
594
- allowed_list: nil
595
- )
596
- end
597
-
598
- sig do
599
- override.returns(
600
- { integration_id: String, allowed_list: T::Array[String] }
601
- )
602
- end
603
- def to_hash
604
- end
605
- end
606
-
607
- class InterruptionSettings < Telnyx::Internal::Type::BaseModel
608
- OrHash =
609
- T.type_alias do
610
- T.any(
611
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings,
612
- Telnyx::Internal::AnyHash
613
- )
614
- end
615
-
616
- # Whether users can interrupt the assistant while it is speaking.
617
- sig { returns(T.nilable(T::Boolean)) }
618
- attr_reader :enable
619
-
620
- sig { params(enable: T::Boolean).void }
621
- attr_writer :enable
622
-
623
- # Controls when the assistant starts speaking after the user stops. These
624
- # thresholds primarily apply to non turn-taking transcription models. For
625
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
626
- # transcription end-of-turn settings under `transcription.settings` instead.
627
- sig do
628
- returns(
629
- T.nilable(
630
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan
631
- )
632
- )
633
- end
634
- attr_reader :start_speaking_plan
635
-
636
- sig do
637
- params(
638
- start_speaking_plan:
639
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::OrHash
640
- ).void
641
- end
642
- attr_writer :start_speaking_plan
643
-
644
- # Settings for interruptions and how the assistant decides the user has finished
645
- # speaking. These timings are most relevant when using non turn-taking
646
- # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
647
- # behavior is controlled by the transcription end-of-turn settings under
648
- # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
649
- # `eager_eot_threshold`).
650
- sig do
651
- params(
652
- enable: T::Boolean,
653
- start_speaking_plan:
654
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::OrHash
655
- ).returns(T.attached_class)
656
- end
657
- def self.new(
658
- # Whether users can interrupt the assistant while it is speaking.
659
- enable: nil,
660
- # Controls when the assistant starts speaking after the user stops. These
661
- # thresholds primarily apply to non turn-taking transcription models. For
662
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
663
- # transcription end-of-turn settings under `transcription.settings` instead.
664
- start_speaking_plan: nil
665
- )
666
- end
667
-
668
- sig do
669
- override.returns(
670
- {
671
- enable: T::Boolean,
672
- start_speaking_plan:
673
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan
674
- }
675
- )
676
- end
677
- def to_hash
678
- end
679
-
680
- class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
681
- OrHash =
682
- T.type_alias do
683
- T.any(
684
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan,
685
- Telnyx::Internal::AnyHash
686
- )
687
- end
688
-
689
- # Endpointing thresholds used to decide when the user has finished speaking.
690
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
691
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
692
- # `eager_eot_threshold`.
693
- sig do
694
- returns(
695
- T.nilable(
696
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
697
- )
698
- )
699
- end
700
- attr_reader :transcription_endpointing_plan
701
-
702
- sig do
703
- params(
704
- transcription_endpointing_plan:
705
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
706
- ).void
707
- end
708
- attr_writer :transcription_endpointing_plan
709
-
710
- # Minimum seconds to wait before the assistant starts speaking.
711
- sig { returns(T.nilable(Float)) }
712
- attr_reader :wait_seconds
713
-
714
- sig { params(wait_seconds: Float).void }
715
- attr_writer :wait_seconds
716
-
717
- # Controls when the assistant starts speaking after the user stops. These
718
- # thresholds primarily apply to non turn-taking transcription models. For
719
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
720
- # transcription end-of-turn settings under `transcription.settings` instead.
721
- sig do
722
- params(
723
- transcription_endpointing_plan:
724
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
725
- wait_seconds: Float
726
- ).returns(T.attached_class)
727
- end
728
- def self.new(
729
- # Endpointing thresholds used to decide when the user has finished speaking.
730
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
731
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
732
- # `eager_eot_threshold`.
733
- transcription_endpointing_plan: nil,
734
- # Minimum seconds to wait before the assistant starts speaking.
735
- wait_seconds: nil
736
- )
737
- end
738
-
739
- sig do
740
- override.returns(
741
- {
742
- transcription_endpointing_plan:
743
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
744
- wait_seconds: Float
745
- }
746
- )
747
- end
748
- def to_hash
749
- end
750
-
751
- class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
752
- OrHash =
753
- T.type_alias do
754
- T.any(
755
- Telnyx::AI::AssistantUpdateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
756
- Telnyx::Internal::AnyHash
757
- )
758
- end
759
-
760
- # Seconds to wait after the transcript ends without punctuation.
761
- sig { returns(T.nilable(Float)) }
762
- attr_reader :on_no_punctuation_seconds
763
-
764
- sig { params(on_no_punctuation_seconds: Float).void }
765
- attr_writer :on_no_punctuation_seconds
766
-
767
- # Seconds to wait after the transcript ends with a number.
768
- sig { returns(T.nilable(Float)) }
769
- attr_reader :on_number_seconds
770
-
771
- sig { params(on_number_seconds: Float).void }
772
- attr_writer :on_number_seconds
773
-
774
- # Seconds to wait after the transcript ends with punctuation.
775
- sig { returns(T.nilable(Float)) }
776
- attr_reader :on_punctuation_seconds
777
-
778
- sig { params(on_punctuation_seconds: Float).void }
779
- attr_writer :on_punctuation_seconds
780
-
781
- # Endpointing thresholds used to decide when the user has finished speaking.
782
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
783
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
784
- # `eager_eot_threshold`.
785
- sig do
786
- params(
787
- on_no_punctuation_seconds: Float,
788
- on_number_seconds: Float,
789
- on_punctuation_seconds: Float
790
- ).returns(T.attached_class)
791
- end
792
- def self.new(
793
- # Seconds to wait after the transcript ends without punctuation.
794
- on_no_punctuation_seconds: nil,
795
- # Seconds to wait after the transcript ends with a number.
796
- on_number_seconds: nil,
797
- # Seconds to wait after the transcript ends with punctuation.
798
- on_punctuation_seconds: nil
799
- )
800
- end
801
-
802
- sig do
803
- override.returns(
804
- {
805
- on_no_punctuation_seconds: Float,
806
- on_number_seconds: Float,
807
- on_punctuation_seconds: Float
808
- }
809
- )
810
- end
811
- def to_hash
812
- end
813
- end
814
- end
815
- end
816
-
817
- class McpServer < Telnyx::Internal::Type::BaseModel
818
- OrHash =
819
- T.type_alias do
820
- T.any(
821
- Telnyx::AI::AssistantUpdateParams::McpServer,
822
- Telnyx::Internal::AnyHash
823
- )
824
- end
825
-
826
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
827
- # by the `/ai/mcp_servers` endpoints.
828
- sig { returns(String) }
829
- attr_accessor :id
830
-
831
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
832
- # uses the MCP server's configured `allowed_tools`.
833
- sig { returns(T.nilable(T::Array[String])) }
834
- attr_reader :allowed_tools
835
-
836
- sig { params(allowed_tools: T::Array[String]).void }
837
- attr_writer :allowed_tools
838
-
839
- # Reference to an MCP server attached to an assistant. Create and manage MCP
840
- # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
841
- # ID.
842
- sig do
843
- params(id: String, allowed_tools: T::Array[String]).returns(
844
- T.attached_class
845
- )
846
- end
847
- def self.new(
848
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
849
- # by the `/ai/mcp_servers` endpoints.
850
- id:,
851
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
852
- # uses the MCP server's configured `allowed_tools`.
853
- allowed_tools: nil
854
- )
855
- end
856
-
857
- sig do
858
- override.returns({ id: String, allowed_tools: T::Array[String] })
859
- end
860
- def to_hash
861
- end
862
- end
863
534
  end
864
535
  end
865
536
  end