telnyx 5.112.0 → 5.114.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 (264) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -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/voice_settings.rb +14 -1
  25. data/lib/telnyx/models/ai_create_response_params.rb +4 -4
  26. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -210
  27. data/lib/telnyx/models/call_conversation_ended.rb +13 -1
  28. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  29. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  30. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  31. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  32. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +169 -118
  33. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  34. data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +100 -0
  35. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  36. data/lib/telnyx/models/calls/transcription_start_request.rb +8 -167
  37. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  38. data/lib/telnyx/models/fax.rb +7 -5
  39. data/lib/telnyx/models/fax_create_params.rb +7 -5
  40. data/lib/telnyx/models/fax_delivered.rb +3 -2
  41. data/lib/telnyx/models/fax_failed.rb +3 -2
  42. data/lib/telnyx/models/fax_media_processed.rb +3 -2
  43. data/lib/telnyx/models/fax_queued.rb +3 -2
  44. data/lib/telnyx/models/fax_sending_started.rb +3 -2
  45. data/lib/telnyx/models/model_metadata.rb +212 -0
  46. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  47. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  48. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  49. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  50. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  51. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +62 -12
  52. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +18 -4
  53. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  54. data/lib/telnyx/models/uac_connection.rb +412 -0
  55. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  56. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  57. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  58. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  59. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  60. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  61. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  62. data/lib/telnyx/models/uac_inbound.rb +210 -0
  63. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  64. data/lib/telnyx/models/uac_outbound.rb +131 -0
  65. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  66. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  67. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  68. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  69. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  70. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  71. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  72. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  73. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  74. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  75. data/lib/telnyx/models.rb +20 -0
  76. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  77. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  78. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  79. data/lib/telnyx/resources/ai/openai.rb +1 -1
  80. data/lib/telnyx/resources/ai.rb +3 -3
  81. data/lib/telnyx/resources/calls/actions.rb +15 -17
  82. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  83. data/lib/telnyx/resources/faxes.rb +13 -1
  84. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  85. data/lib/telnyx/resources/texml.rb +4 -2
  86. data/lib/telnyx/resources/uac_connections.rb +8 -8
  87. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  88. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  89. data/lib/telnyx/version.rb +1 -1
  90. data/lib/telnyx.rb +23 -4
  91. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -352
  92. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  93. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  94. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  95. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -352
  96. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  97. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  98. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  99. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  100. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  101. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  102. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  103. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -366
  104. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -351
  105. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +83 -0
  106. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +4 -4
  107. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -315
  108. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  109. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  110. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  111. data/rbi/telnyx/models/ai/voice_settings.rbi +14 -1
  112. data/rbi/telnyx/models/ai_create_response_params.rbi +4 -4
  113. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -310
  114. data/rbi/telnyx/models/call_conversation_ended.rbi +10 -0
  115. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  116. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  117. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  118. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  119. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +371 -254
  120. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  121. data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +289 -0
  122. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  123. data/rbi/telnyx/models/calls/transcription_start_request.rbi +20 -480
  124. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  125. data/rbi/telnyx/models/fax.rbi +12 -8
  126. data/rbi/telnyx/models/fax_create_params.rbi +12 -8
  127. data/rbi/telnyx/models/fax_delivered.rbi +6 -4
  128. data/rbi/telnyx/models/fax_failed.rbi +6 -4
  129. data/rbi/telnyx/models/fax_media_processed.rbi +6 -4
  130. data/rbi/telnyx/models/fax_queued.rbi +6 -4
  131. data/rbi/telnyx/models/fax_sending_started.rbi +6 -4
  132. data/rbi/telnyx/models/model_metadata.rbi +272 -0
  133. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  134. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  135. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  136. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  137. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  138. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +81 -9
  139. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +27 -3
  140. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  141. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  142. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  143. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  144. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  145. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  146. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  147. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  148. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  149. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  150. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  151. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  152. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  153. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  154. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  155. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  156. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  157. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  158. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  159. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  160. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  161. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  162. data/rbi/telnyx/models.rbi +20 -0
  163. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  164. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  165. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  166. data/rbi/telnyx/resources/ai/openai.rbi +1 -1
  167. data/rbi/telnyx/resources/ai.rbi +2 -2
  168. data/rbi/telnyx/resources/calls/actions.rbi +24 -24
  169. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  170. data/rbi/telnyx/resources/faxes.rbi +18 -4
  171. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  172. data/rbi/telnyx/resources/texml.rbi +7 -1
  173. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  174. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  175. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  176. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -149
  177. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  178. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  179. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  180. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -149
  181. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  182. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  183. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  184. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  185. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  186. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  187. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  188. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -152
  189. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -149
  190. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +40 -0
  191. data/sig/telnyx/models/ai/openai_create_response_params.rbs +5 -5
  192. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -149
  193. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  194. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  195. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  196. data/sig/telnyx/models/ai/voice_settings.rbs +9 -2
  197. data/sig/telnyx/models/ai_create_response_params.rbs +5 -4
  198. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -149
  199. data/sig/telnyx/models/call_conversation_ended.rbs +5 -0
  200. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  201. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  202. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  203. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  204. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +141 -102
  205. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  206. data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +114 -0
  207. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  208. data/sig/telnyx/models/calls/transcription_start_request.rbs +13 -185
  209. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  210. data/sig/telnyx/models/model_metadata.rbs +142 -0
  211. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  212. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  213. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  214. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  215. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  216. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +27 -3
  217. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +9 -1
  218. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  219. data/sig/telnyx/models/uac_connection.rbs +338 -0
  220. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  221. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  222. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  223. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  224. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  225. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  226. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  227. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  228. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  229. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  230. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  231. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  232. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  233. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  234. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  235. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  236. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  237. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  238. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  239. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  240. data/sig/telnyx/models.rbs +20 -0
  241. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  242. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  243. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  244. data/sig/telnyx/resources/ai/openai.rbs +1 -1
  245. data/sig/telnyx/resources/ai.rbs +1 -1
  246. data/sig/telnyx/resources/calls/actions.rbs +2 -4
  247. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  248. data/sig/telnyx/resources/texml.rbs +1 -0
  249. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  250. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  251. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  252. metadata +71 -14
  253. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  254. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  255. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  256. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  257. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  258. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  259. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  260. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  261. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  262. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  263. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  264. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -0,0 +1,91 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class Clause < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(Telnyx::AI::Assistants::Clause, Telnyx::Internal::AnyHash)
11
+ end
12
+
13
+ # Attribute name from the routing context
14
+ sig { returns(String) }
15
+ attr_accessor :attribute
16
+
17
+ # Match operator
18
+ sig { returns(Telnyx::AI::Assistants::Clause::Operator::OrSymbol) }
19
+ attr_accessor :operator
20
+
21
+ sig { returns(T::Array[String]) }
22
+ attr_accessor :values
23
+
24
+ # A single attribute/operator/values check.
25
+ #
26
+ # A clause matches when the routing context's value for `attribute` satisfies
27
+ # `operator` against any of `values`.
28
+ sig do
29
+ params(
30
+ attribute: String,
31
+ operator: Telnyx::AI::Assistants::Clause::Operator::OrSymbol,
32
+ values: T::Array[String]
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Attribute name from the routing context
37
+ attribute:,
38
+ # Match operator
39
+ operator:,
40
+ values:
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ attribute: String,
48
+ operator: Telnyx::AI::Assistants::Clause::Operator::OrSymbol,
49
+ values: T::Array[String]
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+
56
+ # Match operator
57
+ module Operator
58
+ extend Telnyx::Internal::Type::Enum
59
+
60
+ TaggedSymbol =
61
+ T.type_alias do
62
+ T.all(Symbol, Telnyx::AI::Assistants::Clause::Operator)
63
+ end
64
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
65
+
66
+ IN =
67
+ T.let(:in, Telnyx::AI::Assistants::Clause::Operator::TaggedSymbol)
68
+ NOT_IN =
69
+ T.let(
70
+ :not_in,
71
+ Telnyx::AI::Assistants::Clause::Operator::TaggedSymbol
72
+ )
73
+ STARTS_WITH =
74
+ T.let(
75
+ :starts_with,
76
+ Telnyx::AI::Assistants::Clause::Operator::TaggedSymbol
77
+ )
78
+
79
+ sig do
80
+ override.returns(
81
+ T::Array[Telnyx::AI::Assistants::Clause::Operator::TaggedSymbol]
82
+ )
83
+ end
84
+ def self.values
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,36 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RolloutSlot < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::AI::Assistants::RolloutSlot,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(String) }
17
+ attr_accessor :version_id
18
+
19
+ sig { returns(Float) }
20
+ attr_accessor :weight
21
+
22
+ # One slot in a percentage rollout.
23
+ sig do
24
+ params(version_id: String, weight: Float).returns(T.attached_class)
25
+ end
26
+ def self.new(version_id:, weight:)
27
+ end
28
+
29
+ sig { override.returns({ version_id: String, weight: Float }) }
30
+ def to_hash
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,73 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RuleInput < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::AI::Assistants::RuleInput,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # What a rule serves when matched.
17
+ #
18
+ # Exactly one of:
19
+ #
20
+ # - `version_id` — serve a specific version
21
+ # - `rollout` — weighted random across versions; weights must sum to less than
22
+ # 100, with the leftover routing to the main version
23
+ sig { returns(Telnyx::AI::Assistants::Serve) }
24
+ attr_reader :serve
25
+
26
+ sig { params(serve: Telnyx::AI::Assistants::Serve::OrHash).void }
27
+ attr_writer :serve
28
+
29
+ sig { returns(T.nilable(T::Array[Telnyx::AI::Assistants::Clause])) }
30
+ attr_reader :match
31
+
32
+ sig do
33
+ params(match: T::Array[Telnyx::AI::Assistants::Clause::OrHash]).void
34
+ end
35
+ attr_writer :match
36
+
37
+ # A targeting rule: `match` clauses (AND) gate `serve`.
38
+ #
39
+ # An empty `match` is a catch-all (always fires).
40
+ sig do
41
+ params(
42
+ serve: Telnyx::AI::Assistants::Serve::OrHash,
43
+ match: T::Array[Telnyx::AI::Assistants::Clause::OrHash]
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # What a rule serves when matched.
48
+ #
49
+ # Exactly one of:
50
+ #
51
+ # - `version_id` — serve a specific version
52
+ # - `rollout` — weighted random across versions; weights must sum to less than
53
+ # 100, with the leftover routing to the main version
54
+ serve:,
55
+ match: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ serve: Telnyx::AI::Assistants::Serve,
63
+ match: T::Array[Telnyx::AI::Assistants::Clause]
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,73 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class RuleOutput < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::AI::Assistants::RuleOutput,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # What a rule serves when matched.
17
+ #
18
+ # Exactly one of:
19
+ #
20
+ # - `version_id` — serve a specific version
21
+ # - `rollout` — weighted random across versions; weights must sum to less than
22
+ # 100, with the leftover routing to the main version
23
+ sig { returns(Telnyx::AI::Assistants::Serve) }
24
+ attr_reader :serve
25
+
26
+ sig { params(serve: Telnyx::AI::Assistants::Serve::OrHash).void }
27
+ attr_writer :serve
28
+
29
+ sig { returns(T.nilable(T::Array[Telnyx::AI::Assistants::Clause])) }
30
+ attr_reader :match
31
+
32
+ sig do
33
+ params(match: T::Array[Telnyx::AI::Assistants::Clause::OrHash]).void
34
+ end
35
+ attr_writer :match
36
+
37
+ # A targeting rule: `match` clauses (AND) gate `serve`.
38
+ #
39
+ # An empty `match` is a catch-all (always fires).
40
+ sig do
41
+ params(
42
+ serve: Telnyx::AI::Assistants::Serve::OrHash,
43
+ match: T::Array[Telnyx::AI::Assistants::Clause::OrHash]
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # What a rule serves when matched.
48
+ #
49
+ # Exactly one of:
50
+ #
51
+ # - `version_id` — serve a specific version
52
+ # - `rollout` — weighted random across versions; weights must sum to less than
53
+ # 100, with the leftover routing to the main version
54
+ serve:,
55
+ match: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ serve: Telnyx::AI::Assistants::Serve,
63
+ match: T::Array[Telnyx::AI::Assistants::Clause]
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Assistants
7
+ class Serve < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(Telnyx::AI::Assistants::Serve, Telnyx::Internal::AnyHash)
11
+ end
12
+
13
+ sig do
14
+ returns(T.nilable(T::Array[Telnyx::AI::Assistants::RolloutSlot]))
15
+ end
16
+ attr_reader :rollout
17
+
18
+ sig do
19
+ params(
20
+ rollout: T::Array[Telnyx::AI::Assistants::RolloutSlot::OrHash]
21
+ ).void
22
+ end
23
+ attr_writer :rollout
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :version_id
27
+
28
+ sig { params(version_id: String).void }
29
+ attr_writer :version_id
30
+
31
+ # What a rule serves when matched.
32
+ #
33
+ # Exactly one of:
34
+ #
35
+ # - `version_id` — serve a specific version
36
+ # - `rollout` — weighted random across versions; weights must sum to less than
37
+ # 100, with the leftover routing to the main version
38
+ sig do
39
+ params(
40
+ rollout: T::Array[Telnyx::AI::Assistants::RolloutSlot::OrHash],
41
+ version_id: String
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(rollout: nil, version_id: nil)
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ rollout: T::Array[Telnyx::AI::Assistants::RolloutSlot],
51
+ version_id: String
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end