telnyx 5.112.0 → 5.113.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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -178
  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 -178
  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 -179
  17. data/lib/telnyx/models/ai/inference_embedding.rb +9 -177
  18. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +47 -0
  19. data/lib/telnyx/models/ai/openai_create_response_params.rb +3 -3
  20. data/lib/telnyx/models/ai/openai_list_models_response.rb +3 -210
  21. data/lib/telnyx/models/ai/start_speaking_plan.rb +37 -0
  22. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +39 -0
  23. data/lib/telnyx/models/ai/transfer_tool.rb +7 -9
  24. data/lib/telnyx/models/ai_create_response_params.rb +4 -4
  25. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -210
  26. data/lib/telnyx/models/call_conversation_ended.rb +13 -1
  27. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  28. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  29. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  30. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  31. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +169 -118
  32. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  33. data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +100 -0
  34. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  35. data/lib/telnyx/models/calls/transcription_start_request.rb +8 -167
  36. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  37. data/lib/telnyx/models/fax.rb +7 -5
  38. data/lib/telnyx/models/fax_create_params.rb +7 -5
  39. data/lib/telnyx/models/fax_delivered.rb +3 -2
  40. data/lib/telnyx/models/fax_failed.rb +3 -2
  41. data/lib/telnyx/models/fax_media_processed.rb +3 -2
  42. data/lib/telnyx/models/fax_queued.rb +3 -2
  43. data/lib/telnyx/models/fax_sending_started.rb +3 -2
  44. data/lib/telnyx/models/model_metadata.rb +212 -0
  45. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  46. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  47. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  48. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  49. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  50. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +62 -12
  51. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +18 -4
  52. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  53. data/lib/telnyx/models/uac_connection.rb +412 -0
  54. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  55. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  56. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  57. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  58. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  59. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  60. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  61. data/lib/telnyx/models/uac_inbound.rb +210 -0
  62. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  63. data/lib/telnyx/models/uac_outbound.rb +131 -0
  64. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  65. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  66. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  67. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  68. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  69. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  70. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  71. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  72. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  73. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  74. data/lib/telnyx/models.rb +20 -0
  75. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  76. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  77. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  78. data/lib/telnyx/resources/ai/openai.rb +1 -1
  79. data/lib/telnyx/resources/ai.rb +3 -3
  80. data/lib/telnyx/resources/calls/actions.rb +15 -17
  81. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  82. data/lib/telnyx/resources/faxes.rb +13 -1
  83. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  84. data/lib/telnyx/resources/texml.rb +4 -2
  85. data/lib/telnyx/resources/uac_connections.rb +8 -8
  86. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  87. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  88. data/lib/telnyx/version.rb +1 -1
  89. data/lib/telnyx.rb +23 -4
  90. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -352
  91. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  92. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  93. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  94. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -352
  95. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  96. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  97. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  98. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  99. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  100. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  101. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  102. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -366
  103. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -351
  104. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +83 -0
  105. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +4 -4
  106. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -315
  107. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  108. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  109. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  110. data/rbi/telnyx/models/ai_create_response_params.rbi +4 -4
  111. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -310
  112. data/rbi/telnyx/models/call_conversation_ended.rbi +10 -0
  113. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  114. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  115. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  116. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  117. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +371 -254
  118. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  119. data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +289 -0
  120. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  121. data/rbi/telnyx/models/calls/transcription_start_request.rbi +20 -480
  122. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  123. data/rbi/telnyx/models/fax.rbi +12 -8
  124. data/rbi/telnyx/models/fax_create_params.rbi +12 -8
  125. data/rbi/telnyx/models/fax_delivered.rbi +6 -4
  126. data/rbi/telnyx/models/fax_failed.rbi +6 -4
  127. data/rbi/telnyx/models/fax_media_processed.rbi +6 -4
  128. data/rbi/telnyx/models/fax_queued.rbi +6 -4
  129. data/rbi/telnyx/models/fax_sending_started.rbi +6 -4
  130. data/rbi/telnyx/models/model_metadata.rbi +272 -0
  131. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  132. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  133. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  134. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  135. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  136. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +81 -9
  137. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +27 -3
  138. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  139. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  140. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  141. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  142. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  143. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  144. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  145. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  146. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  147. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  148. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  149. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  150. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  151. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  152. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  153. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  154. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  155. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  156. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  157. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  158. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  159. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  160. data/rbi/telnyx/models.rbi +20 -0
  161. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  162. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  163. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  164. data/rbi/telnyx/resources/ai/openai.rbi +1 -1
  165. data/rbi/telnyx/resources/ai.rbi +2 -2
  166. data/rbi/telnyx/resources/calls/actions.rbi +24 -24
  167. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  168. data/rbi/telnyx/resources/faxes.rbi +18 -4
  169. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  170. data/rbi/telnyx/resources/texml.rbi +7 -1
  171. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  172. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  173. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  174. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -149
  175. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  176. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  177. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  178. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -149
  179. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  180. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  181. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  182. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  183. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  184. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  185. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  186. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -152
  187. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -149
  188. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +40 -0
  189. data/sig/telnyx/models/ai/openai_create_response_params.rbs +5 -5
  190. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -149
  191. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  192. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  193. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  194. data/sig/telnyx/models/ai_create_response_params.rbs +5 -4
  195. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -149
  196. data/sig/telnyx/models/call_conversation_ended.rbs +5 -0
  197. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  198. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  199. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  200. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  201. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +141 -102
  202. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  203. data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +114 -0
  204. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  205. data/sig/telnyx/models/calls/transcription_start_request.rbs +13 -185
  206. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  207. data/sig/telnyx/models/model_metadata.rbs +142 -0
  208. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  209. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  210. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  211. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  212. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  213. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +27 -3
  214. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +9 -1
  215. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  216. data/sig/telnyx/models/uac_connection.rbs +338 -0
  217. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  218. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  219. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  220. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  221. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  222. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  223. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  224. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  225. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  226. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  227. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  228. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  229. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  230. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  231. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  232. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  233. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  234. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  235. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  236. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  237. data/sig/telnyx/models.rbs +20 -0
  238. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  239. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  240. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  241. data/sig/telnyx/resources/ai/openai.rbs +1 -1
  242. data/sig/telnyx/resources/ai.rbs +1 -1
  243. data/sig/telnyx/resources/calls/actions.rbs +2 -4
  244. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  245. data/sig/telnyx/resources/texml.rbs +1 -0
  246. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  247. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  248. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  249. metadata +71 -14
  250. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  251. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  252. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  253. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  254. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  255. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  256. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  257. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  258. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  259. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  260. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  261. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -90,9 +90,8 @@ 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::AssistantUpdateParams::Integration>, nil]
94
- optional :integrations,
95
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantUpdateParams::Integration] }
93
+ # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
94
+ optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
96
95
 
97
96
  # @!attribute interruption_settings
98
97
  # Settings for interruptions and how the assistant decides the user has finished
@@ -102,8 +101,8 @@ module Telnyx
102
101
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
103
102
  # `eager_eot_threshold`).
104
103
  #
105
- # @return [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings, nil]
106
- optional :interruption_settings, -> { Telnyx::AI::AssistantUpdateParams::InterruptionSettings }
104
+ # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
105
+ optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
107
106
 
108
107
  # @!attribute llm_api_key_ref
109
108
  # This is only needed when using third-party inference providers selected by
@@ -120,9 +119,8 @@ module Telnyx
120
119
  # MCP servers attached to the assistant. Create MCP servers with
121
120
  # `/ai/mcp_servers`, then reference them by `id` here.
122
121
  #
123
- # @return [Array<Telnyx::Models::AI::AssistantUpdateParams::McpServer>, nil]
124
- optional :mcp_servers,
125
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantUpdateParams::McpServer] }
122
+ # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
123
+ optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
126
124
 
127
125
  # @!attribute messaging_settings
128
126
  #
@@ -247,13 +245,13 @@ module Telnyx
247
245
  #
248
246
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
249
247
  #
250
- # @param integrations [Array<Telnyx::Models::AI::AssistantUpdateParams::Integration>] Connected integrations attached to the assistant. The catalog of available integ
248
+ # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
251
249
  #
252
- # @param interruption_settings [Telnyx::Models::AI::AssistantUpdateParams::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
250
+ # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
253
251
  #
254
252
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
255
253
  #
256
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantUpdateParams::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
254
+ # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
257
255
  #
258
256
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
259
257
  #
@@ -286,173 +284,6 @@ module Telnyx
286
284
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
287
285
  #
288
286
  # @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
456
287
  end
457
288
  end
458
289
  end
@@ -7,135 +7,15 @@ module Telnyx
7
7
  class CanaryDeploy < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute rules
9
9
  #
10
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule>, nil]
11
- optional :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeploy::Rule] }
10
+ # @return [Array<Telnyx::Models::AI::Assistants::RuleInput>, nil]
11
+ optional :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::RuleInput] }
12
12
 
13
13
  # @!method initialize(rules: nil)
14
14
  # Create/update request body. Accepts:
15
15
  #
16
16
  # - `rules` — canonical ordered list of routing rules
17
17
  #
18
- # @param rules [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule>]
19
-
20
- class Rule < Telnyx::Internal::Type::BaseModel
21
- # @!attribute serve
22
- # What a rule serves when matched.
23
- #
24
- # Exactly one of:
25
- #
26
- # - `version_id` — serve a specific version
27
- # - `rollout` — weighted random across versions; weights must sum to less than
28
- # 100, with the leftover routing to the main version
29
- #
30
- # @return [Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Serve]
31
- required :serve, -> { Telnyx::AI::Assistants::CanaryDeploy::Rule::Serve }
32
-
33
- # @!attribute match
34
- #
35
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Match>, nil]
36
- optional :match, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeploy::Rule::Match] }
37
-
38
- # @!method initialize(serve:, match: nil)
39
- # Some parameter documentations has been truncated, see
40
- # {Telnyx::Models::AI::Assistants::CanaryDeploy::Rule} for more details.
41
- #
42
- # A targeting rule: `match` clauses (AND) gate `serve`.
43
- #
44
- # An empty `match` is a catch-all (always fires).
45
- #
46
- # @param serve [Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Serve] What a rule serves when matched.
47
- #
48
- # @param match [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Match>]
49
-
50
- # @see Telnyx::Models::AI::Assistants::CanaryDeploy::Rule#serve
51
- class Serve < Telnyx::Internal::Type::BaseModel
52
- # @!attribute rollout
53
- #
54
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Serve::Rollout>, nil]
55
- optional :rollout,
56
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeploy::Rule::Serve::Rollout] }
57
-
58
- # @!attribute version_id
59
- #
60
- # @return [String, nil]
61
- optional :version_id, String
62
-
63
- # @!method initialize(rollout: nil, version_id: nil)
64
- # What a rule serves when matched.
65
- #
66
- # Exactly one of:
67
- #
68
- # - `version_id` — serve a specific version
69
- # - `rollout` — weighted random across versions; weights must sum to less than
70
- # 100, with the leftover routing to the main version
71
- #
72
- # @param rollout [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Serve::Rollout>]
73
- # @param version_id [String]
74
-
75
- class Rollout < Telnyx::Internal::Type::BaseModel
76
- # @!attribute version_id
77
- #
78
- # @return [String]
79
- required :version_id, String
80
-
81
- # @!attribute weight
82
- #
83
- # @return [Float]
84
- required :weight, Float
85
-
86
- # @!method initialize(version_id:, weight:)
87
- # One slot in a percentage rollout.
88
- #
89
- # @param version_id [String]
90
- # @param weight [Float]
91
- end
92
- end
93
-
94
- class Match < Telnyx::Internal::Type::BaseModel
95
- # @!attribute attribute
96
- # Attribute name from the routing context
97
- #
98
- # @return [String]
99
- required :attribute, String
100
-
101
- # @!attribute operator
102
- # Match operator
103
- #
104
- # @return [Symbol, Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Match::Operator]
105
- required :operator, enum: -> { Telnyx::AI::Assistants::CanaryDeploy::Rule::Match::Operator }
106
-
107
- # @!attribute values
108
- #
109
- # @return [Array<String>]
110
- required :values, Telnyx::Internal::Type::ArrayOf[String]
111
-
112
- # @!method initialize(attribute:, operator:, values:)
113
- # A single attribute/operator/values check.
114
- #
115
- # A clause matches when the routing context's value for `attribute` satisfies
116
- # `operator` against any of `values`.
117
- #
118
- # @param attribute [String] Attribute name from the routing context
119
- #
120
- # @param operator [Symbol, Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Match::Operator] Match operator
121
- #
122
- # @param values [Array<String>]
123
-
124
- # Match operator
125
- #
126
- # @see Telnyx::Models::AI::Assistants::CanaryDeploy::Rule::Match#operator
127
- module Operator
128
- extend Telnyx::Internal::Type::Enum
129
-
130
- IN = :in
131
- NOT_IN = :not_in
132
- STARTS_WITH = :starts_with
133
-
134
- # @!method self.values
135
- # @return [Array<Symbol>]
136
- end
137
- end
138
- end
18
+ # @param rules [Array<Telnyx::Models::AI::Assistants::RuleInput>]
139
19
  end
140
20
  end
141
21
  end
@@ -18,9 +18,8 @@ module Telnyx
18
18
 
19
19
  # @!attribute rules
20
20
  #
21
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule>]
22
- required :rules,
23
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeployResponse::Rule] }
21
+ # @return [Array<Telnyx::Models::AI::Assistants::RuleOutput>]
22
+ required :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::RuleOutput] }
24
23
 
25
24
  # @!attribute updated_at
26
25
  #
@@ -34,129 +33,8 @@ module Telnyx
34
33
  #
35
34
  # @param assistant_id [String]
36
35
  # @param created_at [Time]
37
- # @param rules [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule>]
36
+ # @param rules [Array<Telnyx::Models::AI::Assistants::RuleOutput>]
38
37
  # @param updated_at [Time]
39
-
40
- class Rule < Telnyx::Internal::Type::BaseModel
41
- # @!attribute serve
42
- # What a rule serves when matched.
43
- #
44
- # Exactly one of:
45
- #
46
- # - `version_id` — serve a specific version
47
- # - `rollout` — weighted random across versions; weights must sum to less than
48
- # 100, with the leftover routing to the main version
49
- #
50
- # @return [Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Serve]
51
- required :serve, -> { Telnyx::AI::Assistants::CanaryDeployResponse::Rule::Serve }
52
-
53
- # @!attribute match
54
- #
55
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Match>, nil]
56
- optional :match,
57
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeployResponse::Rule::Match] }
58
-
59
- # @!method initialize(serve:, match: nil)
60
- # Some parameter documentations has been truncated, see
61
- # {Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule} for more details.
62
- #
63
- # A targeting rule: `match` clauses (AND) gate `serve`.
64
- #
65
- # An empty `match` is a catch-all (always fires).
66
- #
67
- # @param serve [Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Serve] What a rule serves when matched.
68
- #
69
- # @param match [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Match>]
70
-
71
- # @see Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule#serve
72
- class Serve < Telnyx::Internal::Type::BaseModel
73
- # @!attribute rollout
74
- #
75
- # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Serve::Rollout>, nil]
76
- optional :rollout,
77
- -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeployResponse::Rule::Serve::Rollout] }
78
-
79
- # @!attribute version_id
80
- #
81
- # @return [String, nil]
82
- optional :version_id, String
83
-
84
- # @!method initialize(rollout: nil, version_id: nil)
85
- # What a rule serves when matched.
86
- #
87
- # Exactly one of:
88
- #
89
- # - `version_id` — serve a specific version
90
- # - `rollout` — weighted random across versions; weights must sum to less than
91
- # 100, with the leftover routing to the main version
92
- #
93
- # @param rollout [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Serve::Rollout>]
94
- # @param version_id [String]
95
-
96
- class Rollout < Telnyx::Internal::Type::BaseModel
97
- # @!attribute version_id
98
- #
99
- # @return [String]
100
- required :version_id, String
101
-
102
- # @!attribute weight
103
- #
104
- # @return [Float]
105
- required :weight, Float
106
-
107
- # @!method initialize(version_id:, weight:)
108
- # One slot in a percentage rollout.
109
- #
110
- # @param version_id [String]
111
- # @param weight [Float]
112
- end
113
- end
114
-
115
- class Match < Telnyx::Internal::Type::BaseModel
116
- # @!attribute attribute
117
- # Attribute name from the routing context
118
- #
119
- # @return [String]
120
- required :attribute, String
121
-
122
- # @!attribute operator
123
- # Match operator
124
- #
125
- # @return [Symbol, Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Match::Operator]
126
- required :operator, enum: -> { Telnyx::AI::Assistants::CanaryDeployResponse::Rule::Match::Operator }
127
-
128
- # @!attribute values
129
- #
130
- # @return [Array<String>]
131
- required :values, Telnyx::Internal::Type::ArrayOf[String]
132
-
133
- # @!method initialize(attribute:, operator:, values:)
134
- # A single attribute/operator/values check.
135
- #
136
- # A clause matches when the routing context's value for `attribute` satisfies
137
- # `operator` against any of `values`.
138
- #
139
- # @param attribute [String] Attribute name from the routing context
140
- #
141
- # @param operator [Symbol, Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Match::Operator] Match operator
142
- #
143
- # @param values [Array<String>]
144
-
145
- # Match operator
146
- #
147
- # @see Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule::Match#operator
148
- module Operator
149
- extend Telnyx::Internal::Type::Enum
150
-
151
- IN = :in
152
- NOT_IN = :not_in
153
- STARTS_WITH = :starts_with
154
-
155
- # @!method self.values
156
- # @return [Array<Symbol>]
157
- end
158
- end
159
- end
160
38
  end
161
39
  end
162
40
  end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class Clause < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute attribute
9
+ # Attribute name from the routing context
10
+ #
11
+ # @return [String]
12
+ required :attribute, String
13
+
14
+ # @!attribute operator
15
+ # Match operator
16
+ #
17
+ # @return [Symbol, Telnyx::Models::AI::Assistants::Clause::Operator]
18
+ required :operator, enum: -> { Telnyx::AI::Assistants::Clause::Operator }
19
+
20
+ # @!attribute values
21
+ #
22
+ # @return [Array<String>]
23
+ required :values, Telnyx::Internal::Type::ArrayOf[String]
24
+
25
+ # @!method initialize(attribute:, operator:, values:)
26
+ # A single attribute/operator/values check.
27
+ #
28
+ # A clause matches when the routing context's value for `attribute` satisfies
29
+ # `operator` against any of `values`.
30
+ #
31
+ # @param attribute [String] Attribute name from the routing context
32
+ #
33
+ # @param operator [Symbol, Telnyx::Models::AI::Assistants::Clause::Operator] Match operator
34
+ #
35
+ # @param values [Array<String>]
36
+
37
+ # Match operator
38
+ #
39
+ # @see Telnyx::Models::AI::Assistants::Clause#operator
40
+ module Operator
41
+ extend Telnyx::Internal::Type::Enum
42
+
43
+ IN = :in
44
+ NOT_IN = :not_in
45
+ STARTS_WITH = :starts_with
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RolloutSlot < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute version_id
9
+ #
10
+ # @return [String]
11
+ required :version_id, String
12
+
13
+ # @!attribute weight
14
+ #
15
+ # @return [Float]
16
+ required :weight, Float
17
+
18
+ # @!method initialize(version_id:, weight:)
19
+ # One slot in a percentage rollout.
20
+ #
21
+ # @param version_id [String]
22
+ # @param weight [Float]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RuleInput < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute serve
9
+ # What a rule serves when matched.
10
+ #
11
+ # Exactly one of:
12
+ #
13
+ # - `version_id` — serve a specific version
14
+ # - `rollout` — weighted random across versions; weights must sum to less than
15
+ # 100, with the leftover routing to the main version
16
+ #
17
+ # @return [Telnyx::Models::AI::Assistants::Serve]
18
+ required :serve, -> { Telnyx::AI::Assistants::Serve }
19
+
20
+ # @!attribute match
21
+ #
22
+ # @return [Array<Telnyx::Models::AI::Assistants::Clause>, nil]
23
+ optional :match, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::Clause] }
24
+
25
+ # @!method initialize(serve:, match: nil)
26
+ # Some parameter documentations has been truncated, see
27
+ # {Telnyx::Models::AI::Assistants::RuleInput} for more details.
28
+ #
29
+ # A targeting rule: `match` clauses (AND) gate `serve`.
30
+ #
31
+ # An empty `match` is a catch-all (always fires).
32
+ #
33
+ # @param serve [Telnyx::Models::AI::Assistants::Serve] What a rule serves when matched.
34
+ #
35
+ # @param match [Array<Telnyx::Models::AI::Assistants::Clause>]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RuleOutput < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute serve
9
+ # What a rule serves when matched.
10
+ #
11
+ # Exactly one of:
12
+ #
13
+ # - `version_id` — serve a specific version
14
+ # - `rollout` — weighted random across versions; weights must sum to less than
15
+ # 100, with the leftover routing to the main version
16
+ #
17
+ # @return [Telnyx::Models::AI::Assistants::Serve]
18
+ required :serve, -> { Telnyx::AI::Assistants::Serve }
19
+
20
+ # @!attribute match
21
+ #
22
+ # @return [Array<Telnyx::Models::AI::Assistants::Clause>, nil]
23
+ optional :match, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::Clause] }
24
+
25
+ # @!method initialize(serve:, match: nil)
26
+ # Some parameter documentations has been truncated, see
27
+ # {Telnyx::Models::AI::Assistants::RuleOutput} for more details.
28
+ #
29
+ # A targeting rule: `match` clauses (AND) gate `serve`.
30
+ #
31
+ # An empty `match` is a catch-all (always fires).
32
+ #
33
+ # @param serve [Telnyx::Models::AI::Assistants::Serve] What a rule serves when matched.
34
+ #
35
+ # @param match [Array<Telnyx::Models::AI::Assistants::Clause>]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end