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
@@ -7,15 +7,135 @@ module Telnyx
7
7
  class CanaryDeploy < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute rules
9
9
  #
10
- # @return [Array<Telnyx::Models::AI::Assistants::RuleInput>, nil]
11
- optional :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::RuleInput] }
10
+ # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeploy::Rule>, nil]
11
+ optional :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeploy::Rule] }
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::RuleInput>]
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
19
139
  end
20
140
  end
21
141
  end
@@ -18,8 +18,9 @@ module Telnyx
18
18
 
19
19
  # @!attribute rules
20
20
  #
21
- # @return [Array<Telnyx::Models::AI::Assistants::RuleOutput>]
22
- required :rules, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::RuleOutput] }
21
+ # @return [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule>]
22
+ required :rules,
23
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::CanaryDeployResponse::Rule] }
23
24
 
24
25
  # @!attribute updated_at
25
26
  #
@@ -33,8 +34,129 @@ module Telnyx
33
34
  #
34
35
  # @param assistant_id [String]
35
36
  # @param created_at [Time]
36
- # @param rules [Array<Telnyx::Models::AI::Assistants::RuleOutput>]
37
+ # @param rules [Array<Telnyx::Models::AI::Assistants::CanaryDeployResponse::Rule>]
37
38
  # @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
38
160
  end
39
161
  end
40
162
  end
@@ -82,8 +82,9 @@ module Telnyx
82
82
  # `/ai/integrations/connections`. Each item references a catalog integration by
83
83
  # `integration_id`.
84
84
  #
85
- # @return [Array<Telnyx::Models::AI::AssistantIntegration>, nil]
86
- optional :integrations, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantIntegration] }
85
+ # @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>, nil]
86
+ optional :integrations,
87
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::Integration] }
87
88
 
88
89
  # @!attribute interruption_settings
89
90
  # Settings for interruptions and how the assistant decides the user has finished
@@ -93,8 +94,8 @@ module Telnyx
93
94
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
94
95
  # `eager_eot_threshold`).
95
96
  #
96
- # @return [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings, nil]
97
- optional :interruption_settings, -> { Telnyx::AI::InferenceEmbeddingInterruptionSettings }
97
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings, nil]
98
+ optional :interruption_settings, -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings }
98
99
 
99
100
  # @!attribute llm_api_key_ref
100
101
  # This is only needed when using third-party inference providers selected by
@@ -111,8 +112,9 @@ module Telnyx
111
112
  # MCP servers attached to the assistant. Create MCP servers with
112
113
  # `/ai/mcp_servers`, then reference them by `id` here.
113
114
  #
114
- # @return [Array<Telnyx::Models::AI::AssistantMcpServer>, nil]
115
- optional :mcp_servers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantMcpServer] }
115
+ # @return [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>, nil]
116
+ optional :mcp_servers,
117
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::Assistants::UpdateAssistant::McpServer] }
116
118
 
117
119
  # @!attribute messaging_settings
118
120
  #
@@ -228,13 +230,13 @@ module Telnyx
228
230
  #
229
231
  # @param instructions [String] System instructions for the assistant. These may be templated with [dynamic vari
230
232
  #
231
- # @param integrations [Array<Telnyx::Models::AI::AssistantIntegration>] Connected integrations attached to the assistant. The catalog of available integ
233
+ # @param integrations [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::Integration>] Connected integrations attached to the assistant. The catalog of available integ
232
234
  #
233
- # @param interruption_settings [Telnyx::Models::AI::InferenceEmbeddingInterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
235
+ # @param interruption_settings [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings] Settings for interruptions and how the assistant decides the user has finished s
234
236
  #
235
237
  # @param llm_api_key_ref [String] This is only needed when using third-party inference providers selected by `mode
236
238
  #
237
- # @param mcp_servers [Array<Telnyx::Models::AI::AssistantMcpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
239
+ # @param mcp_servers [Array<Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer>] MCP servers attached to the assistant. Create MCP servers with `/ai/mcp_servers`
238
240
  #
239
241
  # @param messaging_settings [Telnyx::Models::AI::MessagingSettings]
240
242
  #
@@ -263,6 +265,174 @@ module Telnyx
263
265
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
264
266
  #
265
267
  # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
268
+
269
+ class Integration < Telnyx::Internal::Type::BaseModel
270
+ # @!attribute integration_id
271
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
272
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
273
+ # entries returned by `/ai/integrations/connections`). It is **not** the
274
+ # connection-level `id` from `/ai/integrations/connections`.
275
+ #
276
+ # @return [String]
277
+ required :integration_id, String
278
+
279
+ # @!attribute allowed_list
280
+ # Optional per-assistant allowlist of integration tool names. When omitted or
281
+ # empty, all tools allowed by the connected integration are available to the
282
+ # assistant.
283
+ #
284
+ # @return [Array<String>, nil]
285
+ optional :allowed_list, Telnyx::Internal::Type::ArrayOf[String]
286
+
287
+ # @!method initialize(integration_id:, allowed_list: nil)
288
+ # Some parameter documentations has been truncated, see
289
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::Integration} for more details.
290
+ #
291
+ # Reference to a connected integration attached to an assistant. Discover
292
+ # available integrations with `/ai/integrations` and connected integrations with
293
+ # `/ai/integrations/connections`.
294
+ #
295
+ # @param integration_id [String] Catalog integration ID to attach. This is the `id` from the integrations catalog
296
+ #
297
+ # @param allowed_list [Array<String>] Optional per-assistant allowlist of integration tool names. When omitted or empt
298
+ end
299
+
300
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant#interruption_settings
301
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
302
+ # @!attribute disable_greeting_interruption
303
+ # When true, disables user interruptions while the assistant greeting is playing.
304
+ #
305
+ # @return [Boolean, nil]
306
+ optional :disable_greeting_interruption, Telnyx::Internal::Type::Boolean
307
+
308
+ # @!attribute enable
309
+ # Whether users can interrupt the assistant while it is speaking.
310
+ #
311
+ # @return [Boolean, nil]
312
+ optional :enable, Telnyx::Internal::Type::Boolean
313
+
314
+ # @!attribute start_speaking_plan
315
+ # Controls when the assistant starts speaking after the user stops. These
316
+ # thresholds primarily apply to non turn-taking transcription models. For
317
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
318
+ # transcription end-of-turn settings under `transcription.settings` instead.
319
+ #
320
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan, nil]
321
+ optional :start_speaking_plan,
322
+ -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan }
323
+
324
+ # @!method initialize(disable_greeting_interruption: nil, enable: nil, start_speaking_plan: nil)
325
+ # Some parameter documentations has been truncated, see
326
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings} for more
327
+ # details.
328
+ #
329
+ # Settings for interruptions and how the assistant decides the user has finished
330
+ # speaking. These timings are most relevant when using non turn-taking
331
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
332
+ # behavior is controlled by the transcription end-of-turn settings under
333
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
334
+ # `eager_eot_threshold`).
335
+ #
336
+ # @param disable_greeting_interruption [Boolean] When true, disables user interruptions while the assistant greeting is playing.
337
+ #
338
+ # @param enable [Boolean] Whether users can interrupt the assistant while it is speaking.
339
+ #
340
+ # @param start_speaking_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan] Controls when the assistant starts speaking after the user stops. These threshol
341
+
342
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings#start_speaking_plan
343
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
344
+ # @!attribute transcription_endpointing_plan
345
+ # Endpointing thresholds used to decide when the user has finished speaking.
346
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
347
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
348
+ # `eager_eot_threshold`.
349
+ #
350
+ # @return [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan, nil]
351
+ optional :transcription_endpointing_plan,
352
+ -> { Telnyx::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan }
353
+
354
+ # @!attribute wait_seconds
355
+ # Minimum seconds to wait before the assistant starts speaking.
356
+ #
357
+ # @return [Float, nil]
358
+ optional :wait_seconds, Float
359
+
360
+ # @!method initialize(transcription_endpointing_plan: nil, wait_seconds: nil)
361
+ # Some parameter documentations has been truncated, see
362
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan}
363
+ # for more details.
364
+ #
365
+ # Controls when the assistant starts speaking after the user stops. These
366
+ # thresholds primarily apply to non turn-taking transcription models. For
367
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
368
+ # transcription end-of-turn settings under `transcription.settings` instead.
369
+ #
370
+ # @param transcription_endpointing_plan [Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan] Endpointing thresholds used to decide when the user has finished speaking. Appli
371
+ #
372
+ # @param wait_seconds [Float] Minimum seconds to wait before the assistant starts speaking.
373
+
374
+ # @see Telnyx::Models::AI::Assistants::UpdateAssistant::InterruptionSettings::StartSpeakingPlan#transcription_endpointing_plan
375
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
376
+ # @!attribute on_no_punctuation_seconds
377
+ # Seconds to wait after the transcript ends without punctuation.
378
+ #
379
+ # @return [Float, nil]
380
+ optional :on_no_punctuation_seconds, Float
381
+
382
+ # @!attribute on_number_seconds
383
+ # Seconds to wait after the transcript ends with a number.
384
+ #
385
+ # @return [Float, nil]
386
+ optional :on_number_seconds, Float
387
+
388
+ # @!attribute on_punctuation_seconds
389
+ # Seconds to wait after the transcript ends with punctuation.
390
+ #
391
+ # @return [Float, nil]
392
+ optional :on_punctuation_seconds, Float
393
+
394
+ # @!method initialize(on_no_punctuation_seconds: nil, on_number_seconds: nil, on_punctuation_seconds: nil)
395
+ # Endpointing thresholds used to decide when the user has finished speaking.
396
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
397
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
398
+ # `eager_eot_threshold`.
399
+ #
400
+ # @param on_no_punctuation_seconds [Float] Seconds to wait after the transcript ends without punctuation.
401
+ #
402
+ # @param on_number_seconds [Float] Seconds to wait after the transcript ends with a number.
403
+ #
404
+ # @param on_punctuation_seconds [Float] Seconds to wait after the transcript ends with punctuation.
405
+ end
406
+ end
407
+ end
408
+
409
+ class McpServer < Telnyx::Internal::Type::BaseModel
410
+ # @!attribute id
411
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
412
+ # by the `/ai/mcp_servers` endpoints.
413
+ #
414
+ # @return [String]
415
+ required :id, String
416
+
417
+ # @!attribute allowed_tools
418
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
419
+ # uses the MCP server's configured `allowed_tools`.
420
+ #
421
+ # @return [Array<String>, nil]
422
+ optional :allowed_tools, Telnyx::Internal::Type::ArrayOf[String]
423
+
424
+ # @!method initialize(id:, allowed_tools: nil)
425
+ # Some parameter documentations has been truncated, see
426
+ # {Telnyx::Models::AI::Assistants::UpdateAssistant::McpServer} for more details.
427
+ #
428
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
429
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
430
+ # ID.
431
+ #
432
+ # @param id [String] ID of the MCP server to attach. This must be the `id` of an MCP server returned
433
+ #
434
+ # @param allowed_tools [Array<String>] Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
435
+ end
266
436
  end
267
437
  end
268
438