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
@@ -112,8 +112,9 @@ module Telnyx
112
112
  # `/ai/integrations/connections`. Each item references a catalog integration by
113
113
  # `integration_id`.
114
114
  #
115
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
116
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
115
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>, nil]
116
+ optional :integrations,
117
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::Integration] }
117
118
 
118
119
  # @!attribute interruption_settings
119
120
  # Settings for interruptions and how the assistant decides the user has finished
@@ -123,8 +124,8 @@ module Telnyx
123
124
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
124
125
  # `eager_eot_threshold`).
125
126
  #
126
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
127
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
127
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings, nil]
128
+ optional :interruption_settings, -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings }
128
129
 
129
130
  # @!attribute llm_api_key_ref
130
131
  # This is only needed when using third-party inference providers selected by
@@ -141,8 +142,8 @@ module Telnyx
141
142
  # MCP servers attached to the assistant. Create MCP servers with
142
143
  # `/ai/mcp_servers`, then reference them by `id` here.
143
144
  #
144
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
145
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
145
+ # @return [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>, nil]
146
+ optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::InferenceEmbedding::McpServer] }
146
147
 
147
148
  # @!attribute messaging_settings
148
149
  #
@@ -265,13 +266,13 @@ module Telnyx
265
266
  #
266
267
  # @param insight_settings [Telnyx::Models::AI::InsightSettings]
267
268
  #
268
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
269
+ # @param integrations [Array<Telnyx::Models::AI::InferenceEmbedding::Integration>] Connected integrations attached to the assistant. The catalog of available integ
269
270
  #
270
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
271
+ # @param interruption_settings [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
271
272
  #
272
273
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
273
274
  #
274
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
275
+ # @param mcp_servers [Array<Telnyx::Models::AI::InferenceEmbedding::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
275
276
  #
276
277
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
277
278
  #
@@ -300,6 +301,173 @@ module Telnyx
300
301
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
301
302
  #
302
303
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
304
+
305
+ class Integration < Telnyx::Internal::Type::BaseModel
306
+ # @!attribute integration_id
307
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
308
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
309
+ # entries returned by `/ai/integrations/connections`). It is **not** the
310
+ # connection-level `id` from `/ai/integrations/connections`.
311
+ #
312
+ # @return [String]
313
+ required :integration_id, String
314
+
315
+ # @!attribute allowed_list
316
+ # Optional per-assistant allowlist of integration tool names. When omitted or
317
+ # empty, all tools allowed by the connected integration are available to the
318
+ # assistant.
319
+ #
320
+ # @return [Array<String>, nil]
321
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
322
+
323
+ # @!method initialize(integration_id:, allowed_list: nil)
324
+ # Some parameter documentations has been truncated, see
325
+ # {Telnyx::Models::AI::InferenceEmbedding::Integration} for more details.
326
+ #
327
+ # Reference to a connected integration attached to an assistant. Discover
328
+ # available integrations with `/ai/integrations` and connected integrations with
329
+ # `/ai/integrations/connections`.
330
+ #
331
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
332
+ #
333
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
334
+ end
335
+
336
+ # @see Telnyx::Models::AI::InferenceEmbedding#interruption_settings
337
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
338
+ # @!attribute disable_greeting_interruption
339
+ # When true, disables user interruptions while the assistant greeting is playing.
340
+ #
341
+ # @return [Boolean, nil]
342
+ optional :disable_greeting_interruption, Telnyx::Internal::Type::Boolean
343
+
344
+ # @!attribute enable
345
+ # Whether users can interrupt the assistant while it is speaking.
346
+ #
347
+ # @return [Boolean, nil]
348
+ optional :enable, Telnyx::Internal::Type::Boolean
349
+
350
+ # @!attribute start_speaking_plan
351
+ # Controls when the assistant starts speaking after the user stops. These
352
+ # thresholds primarily apply to non turn-taking transcription models. For
353
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
354
+ # transcription end-of-turn settings under `transcription.settings` instead.
355
+ #
356
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan, nil]
357
+ optional :start_speaking_plan,
358
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan }
359
+
360
+ # @!method initialize(disable_greeting_interruption: nil, enable: nil, start_speaking_plan: nil)
361
+ # Some parameter documentations has been truncated, see
362
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings} for more details.
363
+ #
364
+ # Settings for interruptions and how the assistant decides the user has finished
365
+ # speaking. These timings are most relevant when using non turn-taking
366
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
367
+ # behavior is controlled by the transcription end-of-turn settings under
368
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
369
+ # `eager_eot_threshold`).
370
+ #
371
+ # @param disable_greeting_interruption [Boolean] When true, disables user interruptions while the assistant greeting is playing.
372
+ #
373
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
374
+ #
375
+ # @param start_speaking_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
376
+
377
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings#start_speaking_plan
378
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
379
+ # @!attribute transcription_endpointing_plan
380
+ # Endpointing thresholds used to decide when the user has finished speaking.
381
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
382
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
383
+ # `eager_eot_threshold`.
384
+ #
385
+ # @return [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
386
+ optional :transcription_endpointing_plan,
387
+ -> { Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
388
+
389
+ # @!attribute wait_seconds
390
+ # Minimum seconds to wait before the assistant starts speaking.
391
+ #
392
+ # @return [Float, nil]
393
+ optional :wait_seconds, Float
394
+
395
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
396
+ # Some parameter documentations has been truncated, see
397
+ # {Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan}
398
+ # for more details.
399
+ #
400
+ # Controls when the assistant starts speaking after the user stops. These
401
+ # thresholds primarily apply to non turn-taking transcription models. For
402
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
403
+ # transcription end-of-turn settings under `transcription.settings` instead.
404
+ #
405
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
406
+ #
407
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
408
+
409
+ # @see Telnyx::Models::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
410
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
411
+ # @!attribute on_no_punctuation_seconds
412
+ # Seconds to wait after the transcript ends without punctuation.
413
+ #
414
+ # @return [Float, nil]
415
+ optional :on_no_punctuation_seconds, Float
416
+
417
+ # @!attribute on_number_seconds
418
+ # Seconds to wait after the transcript ends with a number.
419
+ #
420
+ # @return [Float, nil]
421
+ optional :on_number_seconds, Float
422
+
423
+ # @!attribute on_punctuation_seconds
424
+ # Seconds to wait after the transcript ends with punctuation.
425
+ #
426
+ # @return [Float, nil]
427
+ optional :on_punctuation_seconds, Float
428
+
429
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
430
+ # Endpointing thresholds used to decide when the user has finished speaking.
431
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
432
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
433
+ # `eager_eot_threshold`.
434
+ #
435
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
436
+ #
437
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
438
+ #
439
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
440
+ end
441
+ end
442
+ end
443
+
444
+ class McpServer < Telnyx::Internal::Type::BaseModel
445
+ # @!attribute id
446
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
447
+ # by the `/ai/mcp_servers` endpoints.
448
+ #
449
+ # @return [String]
450
+ required :id, String
451
+
452
+ # @!attribute allowed_tools
453
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
454
+ # uses the MCP server's configured `allowed_tools`.
455
+ #
456
+ # @return [Array<String>, nil]
457
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
458
+
459
+ # @!method initialize(id:, allowed_tools: nil)
460
+ # Some parameter documentations has been truncated, see
461
+ # {Telnyx::Models::AI::InferenceEmbedding::McpServer} for more details.
462
+ #
463
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
464
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
465
+ # ID.
466
+ #
467
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
468
+ #
469
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
470
+ end
303
471
  end
304
472
  end
305
473
  end
@@ -7,8 +7,8 @@ module Telnyx
7
7
  class OpenAIListModelsResponse < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
- # @return [Array<Telnyx::Models::ModelMetadata>]
11
- required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::ModelMetadata] }
10
+ # @return [Array<Telnyx::Models::AI::OpenAIListModelsResponse::Data>]
11
+ required :data, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::AI::OpenAIListModelsResponse::Data] }
12
12
 
13
13
  # @!attribute object
14
14
  #
@@ -16,8 +16,215 @@ module Telnyx
16
16
  optional :object, String
17
17
 
18
18
  # @!method initialize(data:, object: nil)
19
- # @param data [Array<Telnyx::Models::ModelMetadata>]
19
+ # @param data [Array<Telnyx::Models::AI::OpenAIListModelsResponse::Data>]
20
20
  # @param object [String]
21
+
22
+ class Data < Telnyx::Internal::Type::BaseModel
23
+ # @!attribute id
24
+ # Model identifier. For open-source models, follows the
25
+ # `{organization}/{model_name}` convention from Hugging Face (e.g.
26
+ # `moonshotai/Kimi-K2.6`).
27
+ #
28
+ # @return [String]
29
+ required :id, String
30
+
31
+ # @!attribute context_length
32
+ # Maximum total tokens (prompt + completion) supported by the model in a single
33
+ # request.
34
+ #
35
+ # @return [Integer]
36
+ required :context_length, Integer
37
+
38
+ # @!attribute created
39
+ # Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
40
+ #
41
+ # @return [Time]
42
+ required :created, Time
43
+
44
+ # @!attribute languages
45
+ # ISO language codes the model supports (e.g. `en`, `es`).
46
+ #
47
+ # @return [Array<String>]
48
+ required :languages, Telnyx::Internal::Type::ArrayOf[String]
49
+
50
+ # @!attribute license
51
+ # License the model is distributed under, e.g. `Apache 2.0`, `MIT`,
52
+ # `Llama 3 Community License`.
53
+ #
54
+ # @return [String]
55
+ required :license, String
56
+
57
+ # @!attribute organization
58
+ # Organization that originally published the model, matching the prefix of `id`
59
+ # for open-source models.
60
+ #
61
+ # @return [String]
62
+ required :organization, String
63
+
64
+ # @!attribute owned_by
65
+ # Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
66
+ # provider name for proxied models, or the Telnyx organization id for fine-tuned
67
+ # models.
68
+ #
69
+ # @return [String]
70
+ required :owned_by, String
71
+
72
+ # @!attribute parameters
73
+ # Total parameter count of the model.
74
+ #
75
+ # @return [Integer]
76
+ required :parameters, Integer
77
+
78
+ # @!attribute tier
79
+ # Billing tier the model belongs to. Used together with `pricing` to determine
80
+ # cost per 1M tokens.
81
+ #
82
+ # @return [Symbol, Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier]
83
+ required :tier, enum: -> { Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier }
84
+
85
+ # @!attribute base_model
86
+ # Base model the fine-tuned model was trained from. Only set for fine-tuned
87
+ # models.
88
+ #
89
+ # @return [String, nil]
90
+ optional :base_model, String, nil?: true
91
+
92
+ # @!attribute description
93
+ # Short, human-readable summary of what the model is best suited for.
94
+ #
95
+ # @return [String, nil]
96
+ optional :description, String, nil?: true
97
+
98
+ # @!attribute is_fine_tunable
99
+ # Whether the model can be used as a base for a fine-tuning job via
100
+ # `POST /v2/ai/fine_tuning/jobs`.
101
+ #
102
+ # @return [Boolean, nil]
103
+ optional :is_fine_tunable, Telnyx::Internal::Type::Boolean
104
+
105
+ # @!attribute is_vision_supported
106
+ # Whether the model accepts image inputs in chat completions (multimodal vision
107
+ # support).
108
+ #
109
+ # @return [Boolean, nil]
110
+ optional :is_vision_supported, Telnyx::Internal::Type::Boolean
111
+
112
+ # @!attribute max_completion_tokens
113
+ # Maximum number of completion (output) tokens the model will generate per
114
+ # request. `null` if unconstrained beyond `context_length`.
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :max_completion_tokens, Integer, nil?: true
118
+
119
+ # @!attribute object
120
+ # Object type. Always `model`.
121
+ #
122
+ # @return [String, nil]
123
+ optional :object, String
124
+
125
+ # @!attribute parameters_str
126
+ # Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
127
+ #
128
+ # @return [String, nil]
129
+ optional :parameters_str, String, nil?: true
130
+
131
+ # @!attribute pricing
132
+ # Mapping of token kind to price, as strings to preserve precision. Typical keys
133
+ # are `prompt`, `cached_prompt`, and `completion`. When pricing is available the
134
+ # block also includes `currency` (ISO 4217 code matching the account's configured
135
+ # billing currency) and `unit` (the denomination the prices are quoted in,
136
+ # currently always `1M_tokens` for token-priced models).
137
+ #
138
+ # @return [Hash{Symbol=>String}, nil]
139
+ optional :pricing, Telnyx::Internal::Type::HashOf[String]
140
+
141
+ # @!attribute recommended_for_assistants
142
+ # Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI
143
+ # Assistant.
144
+ #
145
+ # @return [Boolean, nil]
146
+ optional :recommended_for_assistants, Telnyx::Internal::Type::Boolean
147
+
148
+ # @!attribute regions
149
+ # Public region names where the model is currently deployed (e.g. `us-central-1`,
150
+ # `eu-central-1`).
151
+ #
152
+ # @return [Array<String>, nil]
153
+ optional :regions, Telnyx::Internal::Type::ArrayOf[String]
154
+
155
+ # @!attribute task
156
+ # Primary task the model is intended for, e.g. `text-generation`,
157
+ # `audio-text-to-text`, `feature-extraction` (embeddings).
158
+ #
159
+ # @return [String, nil]
160
+ optional :task, String
161
+
162
+ # @!method initialize(id:, context_length:, created:, languages:, license:, organization:, owned_by:, parameters:, tier:, base_model: nil, description: nil, is_fine_tunable: nil, is_vision_supported: nil, max_completion_tokens: nil, object: nil, parameters_str: nil, pricing: nil, recommended_for_assistants: nil, regions: nil, task: nil)
163
+ # Some parameter documentations has been truncated, see
164
+ # {Telnyx::Models::AI::OpenAIListModelsResponse::Data} for more details.
165
+ #
166
+ # Metadata for a model available on Telnyx Inference. Returned by
167
+ # `GET /v2/ai/openai/models` (and the deprecated `GET /v2/ai/models`). Open-source
168
+ # models live under their Hugging Face organization (e.g. `moonshotai/Kimi-K2.6`,
169
+ # `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`); fine-tuned models are owned by
170
+ # the Telnyx organization that trained them.
171
+ #
172
+ # @param id [String] Model identifier. For open-source models, follows the `{organization}/{model_nam
173
+ #
174
+ # @param context_length [Integer] Maximum total tokens (prompt + completion) supported by the model in a single re
175
+ #
176
+ # @param created [Time] Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
177
+ #
178
+ # @param languages [Array<String>] ISO language codes the model supports (e.g. `en`, `es`).
179
+ #
180
+ # @param license [String] License the model is distributed under, e.g. `Apache 2.0`, `MIT`, `Llama 3 Commu
181
+ #
182
+ # @param organization [String] Organization that originally published the model, matching the prefix of `id` fo
183
+ #
184
+ # @param owned_by [String] Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
185
+ #
186
+ # @param parameters [Integer] Total parameter count of the model.
187
+ #
188
+ # @param tier [Symbol, Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier] Billing tier the model belongs to. Used together with `pricing` to determine cos
189
+ #
190
+ # @param base_model [String, nil] Base model the fine-tuned model was trained from. Only set for fine-tuned models
191
+ #
192
+ # @param description [String, nil] Short, human-readable summary of what the model is best suited for.
193
+ #
194
+ # @param is_fine_tunable [Boolean] Whether the model can be used as a base for a fine-tuning job via `POST /v2/ai/f
195
+ #
196
+ # @param is_vision_supported [Boolean] Whether the model accepts image inputs in chat completions (multimodal vision su
197
+ #
198
+ # @param max_completion_tokens [Integer, nil] Maximum number of completion (output) tokens the model will generate per request
199
+ #
200
+ # @param object [String] Object type. Always `model`.
201
+ #
202
+ # @param parameters_str [String, nil] Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
203
+ #
204
+ # @param pricing [Hash{Symbol=>String}] Mapping of token kind to price, as strings to preserve precision. Typical keys a
205
+ #
206
+ # @param recommended_for_assistants [Boolean] Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI A
207
+ #
208
+ # @param regions [Array<String>] Public region names where the model is currently deployed (e.g. `us-central-1`,
209
+ #
210
+ # @param task [String] Primary task the model is intended for, e.g. `text-generation`, `audio-text-to-t
211
+
212
+ # Billing tier the model belongs to. Used together with `pricing` to determine
213
+ # cost per 1M tokens.
214
+ #
215
+ # @see Telnyx::Models::AI::OpenAIListModelsResponse::Data#tier
216
+ module Tier
217
+ extend Telnyx::Internal::Type::Enum
218
+
219
+ SMALL = :small
220
+ MEDIUM = :medium
221
+ LARGE = :large
222
+ UNLISTED = :unlisted
223
+
224
+ # @!method self.values
225
+ # @return [Array<Symbol>]
226
+ end
227
+ end
21
228
  end
22
229
  end
23
230
  end
@@ -32,7 +32,7 @@ module Telnyx
32
32
  # variable string like `{{ targets }}` where `targets` is returned by the dynamic
33
33
  # variables webhook and resolves to an array of target objects at runtime.
34
34
  #
35
- # @return [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String]
35
+ # @return [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String]
36
36
  required :targets, union: -> { Telnyx::AI::TransferTool::Transfer::Targets }
37
37
 
38
38
  # @!method initialize(from:, targets:)
@@ -41,7 +41,7 @@ module Telnyx
41
41
  #
42
42
  # @param from [String] Number or SIP URI placing the call.
43
43
  #
44
- # @param targets [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String] The different possible targets of the transfer. The assistant will be able to ch
44
+ # @param targets [Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String] The different possible targets of the transfer. The assistant will be able to ch
45
45
 
46
46
  # The different possible targets of the transfer. The assistant will be able to
47
47
  # choose one of the targets to transfer the call to. This can also be a dynamic
@@ -52,12 +52,12 @@ module Telnyx
52
52
  module Targets
53
53
  extend Telnyx::Internal::Type::Union
54
54
 
55
- variant -> { Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsListArray }
55
+ variant -> { Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0Array }
56
56
 
57
57
  # 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.
58
58
  variant String
59
59
 
60
- class TargetsList < Telnyx::Internal::Type::BaseModel
60
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
61
61
  # @!attribute to
62
62
  # The destination number or SIP URI of the call.
63
63
  #
@@ -77,11 +77,13 @@ module Telnyx
77
77
  end
78
78
 
79
79
  # @!method self.variants
80
- # @return [Array(Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::TargetsList>, String)]
80
+ # @return [Array(Array<Telnyx::Models::AI::TransferTool::Transfer::Targets::UnionMember0>, String)]
81
81
 
82
82
  # @type [Telnyx::Internal::Type::Converter]
83
- TargetsListArray =
84
- Telnyx::Internal::Type::ArrayOf[-> { Telnyx::AI::TransferTool::Transfer::Targets::TargetsList }]
83
+ UnionMember0Array =
84
+ Telnyx::Internal::Type::ArrayOf[-> {
85
+ Telnyx::AI::TransferTool::Transfer::Targets::UnionMember0
86
+ }]
85
87
  end
86
88
  end
87
89