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
@@ -107,17 +107,12 @@ module Telnyx
107
107
  # integrations is at `/ai/integrations`; the user's connected integrations are at
108
108
  # `/ai/integrations/connections`. Each item references a catalog integration by
109
109
  # `integration_id`.
110
- sig do
111
- returns(
112
- T.nilable(T::Array[Telnyx::AI::AssistantCreateParams::Integration])
113
- )
114
- end
110
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
115
111
  attr_reader :integrations
116
112
 
117
113
  sig do
118
114
  params(
119
- integrations:
120
- T::Array[Telnyx::AI::AssistantCreateParams::Integration::OrHash]
115
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
121
116
  ).void
122
117
  end
123
118
  attr_writer :integrations
@@ -129,16 +124,14 @@ module Telnyx
129
124
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
130
125
  # `eager_eot_threshold`).
131
126
  sig do
132
- returns(
133
- T.nilable(Telnyx::AI::AssistantCreateParams::InterruptionSettings)
134
- )
127
+ returns(T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings))
135
128
  end
136
129
  attr_reader :interruption_settings
137
130
 
138
131
  sig do
139
132
  params(
140
133
  interruption_settings:
141
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::OrHash
134
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
142
135
  ).void
143
136
  end
144
137
  attr_writer :interruption_settings
@@ -157,17 +150,12 @@ module Telnyx
157
150
 
158
151
  # MCP servers attached to the assistant. Create MCP servers with
159
152
  # `/ai/mcp_servers`, then reference them by `id` here.
160
- sig do
161
- returns(
162
- T.nilable(T::Array[Telnyx::AI::AssistantCreateParams::McpServer])
163
- )
164
- end
153
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
165
154
  attr_reader :mcp_servers
166
155
 
167
156
  sig do
168
157
  params(
169
- mcp_servers:
170
- T::Array[Telnyx::AI::AssistantCreateParams::McpServer::OrHash]
158
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
171
159
  ).void
172
160
  end
173
161
  attr_writer :mcp_servers
@@ -330,13 +318,11 @@ module Telnyx
330
318
  fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
331
319
  greeting: String,
332
320
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
333
- integrations:
334
- T::Array[Telnyx::AI::AssistantCreateParams::Integration::OrHash],
321
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
335
322
  interruption_settings:
336
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::OrHash,
323
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
337
324
  llm_api_key_ref: String,
338
- mcp_servers:
339
- T::Array[Telnyx::AI::AssistantCreateParams::McpServer::OrHash],
325
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
340
326
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
341
327
  model: String,
342
328
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
@@ -471,13 +457,11 @@ module Telnyx
471
457
  fallback_config: Telnyx::AI::FallbackConfigReq,
472
458
  greeting: String,
473
459
  insight_settings: Telnyx::AI::InsightSettings,
474
- integrations:
475
- T::Array[Telnyx::AI::AssistantCreateParams::Integration],
460
+ integrations: T::Array[Telnyx::AI::AssistantIntegration],
476
461
  interruption_settings:
477
- Telnyx::AI::AssistantCreateParams::InterruptionSettings,
462
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
478
463
  llm_api_key_ref: String,
479
- mcp_servers:
480
- T::Array[Telnyx::AI::AssistantCreateParams::McpServer],
464
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
481
465
  messaging_settings: Telnyx::AI::MessagingSettings,
482
466
  model: String,
483
467
  observability_settings: Telnyx::AI::ObservabilityReq,
@@ -511,330 +495,6 @@ module Telnyx
511
495
  end
512
496
  def to_hash
513
497
  end
514
-
515
- class Integration < Telnyx::Internal::Type::BaseModel
516
- OrHash =
517
- T.type_alias do
518
- T.any(
519
- Telnyx::AI::AssistantCreateParams::Integration,
520
- Telnyx::Internal::AnyHash
521
- )
522
- end
523
-
524
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
525
- # at `/ai/integrations` (the same value also appears as `integration_id` on
526
- # entries returned by `/ai/integrations/connections`). It is **not** the
527
- # connection-level `id` from `/ai/integrations/connections`.
528
- sig { returns(String) }
529
- attr_accessor :integration_id
530
-
531
- # Optional per-assistant allowlist of integration tool names. When omitted or
532
- # empty, all tools allowed by the connected integration are available to the
533
- # assistant.
534
- sig { returns(T.nilable(T::Array[String])) }
535
- attr_reader :allowed_list
536
-
537
- sig { params(allowed_list: T::Array[String]).void }
538
- attr_writer :allowed_list
539
-
540
- # Reference to a connected integration attached to an assistant. Discover
541
- # available integrations with `/ai/integrations` and connected integrations with
542
- # `/ai/integrations/connections`.
543
- sig do
544
- params(
545
- integration_id: String,
546
- allowed_list: T::Array[String]
547
- ).returns(T.attached_class)
548
- end
549
- def self.new(
550
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
551
- # at `/ai/integrations` (the same value also appears as `integration_id` on
552
- # entries returned by `/ai/integrations/connections`). It is **not** the
553
- # connection-level `id` from `/ai/integrations/connections`.
554
- integration_id:,
555
- # Optional per-assistant allowlist of integration tool names. When omitted or
556
- # empty, all tools allowed by the connected integration are available to the
557
- # assistant.
558
- allowed_list: nil
559
- )
560
- end
561
-
562
- sig do
563
- override.returns(
564
- { integration_id: String, allowed_list: T::Array[String] }
565
- )
566
- end
567
- def to_hash
568
- end
569
- end
570
-
571
- class InterruptionSettings < Telnyx::Internal::Type::BaseModel
572
- OrHash =
573
- T.type_alias do
574
- T.any(
575
- Telnyx::AI::AssistantCreateParams::InterruptionSettings,
576
- Telnyx::Internal::AnyHash
577
- )
578
- end
579
-
580
- # When true, disables user interruptions while the assistant greeting is playing.
581
- sig { returns(T.nilable(T::Boolean)) }
582
- attr_reader :disable_greeting_interruption
583
-
584
- sig { params(disable_greeting_interruption: T::Boolean).void }
585
- attr_writer :disable_greeting_interruption
586
-
587
- # Whether users can interrupt the assistant while it is speaking.
588
- sig { returns(T.nilable(T::Boolean)) }
589
- attr_reader :enable
590
-
591
- sig { params(enable: T::Boolean).void }
592
- attr_writer :enable
593
-
594
- # Controls when the assistant starts speaking after the user stops. These
595
- # thresholds primarily apply to non turn-taking transcription models. For
596
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
597
- # transcription end-of-turn settings under `transcription.settings` instead.
598
- sig do
599
- returns(
600
- T.nilable(
601
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan
602
- )
603
- )
604
- end
605
- attr_reader :start_speaking_plan
606
-
607
- sig do
608
- params(
609
- start_speaking_plan:
610
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::OrHash
611
- ).void
612
- end
613
- attr_writer :start_speaking_plan
614
-
615
- # Settings for interruptions and how the assistant decides the user has finished
616
- # speaking. These timings are most relevant when using non turn-taking
617
- # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
618
- # behavior is controlled by the transcription end-of-turn settings under
619
- # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
620
- # `eager_eot_threshold`).
621
- sig do
622
- params(
623
- disable_greeting_interruption: T::Boolean,
624
- enable: T::Boolean,
625
- start_speaking_plan:
626
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::OrHash
627
- ).returns(T.attached_class)
628
- end
629
- def self.new(
630
- # When true, disables user interruptions while the assistant greeting is playing.
631
- disable_greeting_interruption: nil,
632
- # Whether users can interrupt the assistant while it is speaking.
633
- enable: nil,
634
- # Controls when the assistant starts speaking after the user stops. These
635
- # thresholds primarily apply to non turn-taking transcription models. For
636
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
637
- # transcription end-of-turn settings under `transcription.settings` instead.
638
- start_speaking_plan: nil
639
- )
640
- end
641
-
642
- sig do
643
- override.returns(
644
- {
645
- disable_greeting_interruption: T::Boolean,
646
- enable: T::Boolean,
647
- start_speaking_plan:
648
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan
649
- }
650
- )
651
- end
652
- def to_hash
653
- end
654
-
655
- class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
656
- OrHash =
657
- T.type_alias do
658
- T.any(
659
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan,
660
- Telnyx::Internal::AnyHash
661
- )
662
- end
663
-
664
- # Endpointing thresholds used to decide when the user has finished speaking.
665
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
666
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
667
- # `eager_eot_threshold`.
668
- sig do
669
- returns(
670
- T.nilable(
671
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
672
- )
673
- )
674
- end
675
- attr_reader :transcription_endpointing_plan
676
-
677
- sig do
678
- params(
679
- transcription_endpointing_plan:
680
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
681
- ).void
682
- end
683
- attr_writer :transcription_endpointing_plan
684
-
685
- # Minimum seconds to wait before the assistant starts speaking.
686
- sig { returns(T.nilable(Float)) }
687
- attr_reader :wait_seconds
688
-
689
- sig { params(wait_seconds: Float).void }
690
- attr_writer :wait_seconds
691
-
692
- # Controls when the assistant starts speaking after the user stops. These
693
- # thresholds primarily apply to non turn-taking transcription models. For
694
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
695
- # transcription end-of-turn settings under `transcription.settings` instead.
696
- sig do
697
- params(
698
- transcription_endpointing_plan:
699
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
700
- wait_seconds: Float
701
- ).returns(T.attached_class)
702
- end
703
- def self.new(
704
- # Endpointing thresholds used to decide when the user has finished speaking.
705
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
706
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
707
- # `eager_eot_threshold`.
708
- transcription_endpointing_plan: nil,
709
- # Minimum seconds to wait before the assistant starts speaking.
710
- wait_seconds: nil
711
- )
712
- end
713
-
714
- sig do
715
- override.returns(
716
- {
717
- transcription_endpointing_plan:
718
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
719
- wait_seconds: Float
720
- }
721
- )
722
- end
723
- def to_hash
724
- end
725
-
726
- class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
727
- OrHash =
728
- T.type_alias do
729
- T.any(
730
- Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
731
- Telnyx::Internal::AnyHash
732
- )
733
- end
734
-
735
- # Seconds to wait after the transcript ends without punctuation.
736
- sig { returns(T.nilable(Float)) }
737
- attr_reader :on_no_punctuation_seconds
738
-
739
- sig { params(on_no_punctuation_seconds: Float).void }
740
- attr_writer :on_no_punctuation_seconds
741
-
742
- # Seconds to wait after the transcript ends with a number.
743
- sig { returns(T.nilable(Float)) }
744
- attr_reader :on_number_seconds
745
-
746
- sig { params(on_number_seconds: Float).void }
747
- attr_writer :on_number_seconds
748
-
749
- # Seconds to wait after the transcript ends with punctuation.
750
- sig { returns(T.nilable(Float)) }
751
- attr_reader :on_punctuation_seconds
752
-
753
- sig { params(on_punctuation_seconds: Float).void }
754
- attr_writer :on_punctuation_seconds
755
-
756
- # Endpointing thresholds used to decide when the user has finished speaking.
757
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
758
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
759
- # `eager_eot_threshold`.
760
- sig do
761
- params(
762
- on_no_punctuation_seconds: Float,
763
- on_number_seconds: Float,
764
- on_punctuation_seconds: Float
765
- ).returns(T.attached_class)
766
- end
767
- def self.new(
768
- # Seconds to wait after the transcript ends without punctuation.
769
- on_no_punctuation_seconds: nil,
770
- # Seconds to wait after the transcript ends with a number.
771
- on_number_seconds: nil,
772
- # Seconds to wait after the transcript ends with punctuation.
773
- on_punctuation_seconds: nil
774
- )
775
- end
776
-
777
- sig do
778
- override.returns(
779
- {
780
- on_no_punctuation_seconds: Float,
781
- on_number_seconds: Float,
782
- on_punctuation_seconds: Float
783
- }
784
- )
785
- end
786
- def to_hash
787
- end
788
- end
789
- end
790
- end
791
-
792
- class McpServer < Telnyx::Internal::Type::BaseModel
793
- OrHash =
794
- T.type_alias do
795
- T.any(
796
- Telnyx::AI::AssistantCreateParams::McpServer,
797
- Telnyx::Internal::AnyHash
798
- )
799
- end
800
-
801
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
802
- # by the `/ai/mcp_servers` endpoints.
803
- sig { returns(String) }
804
- attr_accessor :id
805
-
806
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
807
- # uses the MCP server's configured `allowed_tools`.
808
- sig { returns(T.nilable(T::Array[String])) }
809
- attr_reader :allowed_tools
810
-
811
- sig { params(allowed_tools: T::Array[String]).void }
812
- attr_writer :allowed_tools
813
-
814
- # Reference to an MCP server attached to an assistant. Create and manage MCP
815
- # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
816
- # ID.
817
- sig do
818
- params(id: String, allowed_tools: T::Array[String]).returns(
819
- T.attached_class
820
- )
821
- end
822
- def self.new(
823
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
824
- # by the `/ai/mcp_servers` endpoints.
825
- id:,
826
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
827
- # uses the MCP server's configured `allowed_tools`.
828
- allowed_tools: nil
829
- )
830
- end
831
-
832
- sig do
833
- override.returns({ id: String, allowed_tools: T::Array[String] })
834
- end
835
- def to_hash
836
- end
837
- end
838
498
  end
839
499
  end
840
500
  end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class AssistantIntegration < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::AssistantIntegration, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
13
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
14
+ # entries returned by `/ai/integrations/connections`). It is **not** the
15
+ # connection-level `id` from `/ai/integrations/connections`.
16
+ sig { returns(String) }
17
+ attr_accessor :integration_id
18
+
19
+ # Optional per-assistant allowlist of integration tool names. When omitted or
20
+ # empty, all tools allowed by the connected integration are available to the
21
+ # assistant.
22
+ sig { returns(T.nilable(T::Array[String])) }
23
+ attr_reader :allowed_list
24
+
25
+ sig { params(allowed_list: T::Array[String]).void }
26
+ attr_writer :allowed_list
27
+
28
+ # Reference to a connected integration attached to an assistant. Discover
29
+ # available integrations with `/ai/integrations` and connected integrations with
30
+ # `/ai/integrations/connections`.
31
+ sig do
32
+ params(
33
+ integration_id: String,
34
+ allowed_list: T::Array[String]
35
+ ).returns(T.attached_class)
36
+ end
37
+ def self.new(
38
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
39
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
40
+ # entries returned by `/ai/integrations/connections`). It is **not** the
41
+ # connection-level `id` from `/ai/integrations/connections`.
42
+ integration_id:,
43
+ # Optional per-assistant allowlist of integration tool names. When omitted or
44
+ # empty, all tools allowed by the connected integration are available to the
45
+ # assistant.
46
+ allowed_list: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ { integration_id: String, allowed_list: T::Array[String] }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class AssistantMcpServer < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::AssistantMcpServer, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
13
+ # by the `/ai/mcp_servers` endpoints.
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
18
+ # uses the MCP server's configured `allowed_tools`.
19
+ sig { returns(T.nilable(T::Array[String])) }
20
+ attr_reader :allowed_tools
21
+
22
+ sig { params(allowed_tools: T::Array[String]).void }
23
+ attr_writer :allowed_tools
24
+
25
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
26
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
27
+ # ID.
28
+ sig do
29
+ params(id: String, allowed_tools: T::Array[String]).returns(
30
+ T.attached_class
31
+ )
32
+ end
33
+ def self.new(
34
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
35
+ # by the `/ai/mcp_servers` endpoints.
36
+ id:,
37
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
38
+ # uses the MCP server's configured `allowed_tools`.
39
+ allowed_tools: nil
40
+ )
41
+ end
42
+
43
+ sig do
44
+ override.returns({ id: String, allowed_tools: T::Array[String] })
45
+ end
46
+ def to_hash
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -411,17 +411,17 @@ module Telnyx
411
411
  T.type_alias do
412
412
  T.any(
413
413
  T::Array[
414
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
414
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
415
415
  ],
416
416
  String
417
417
  )
418
418
  end
419
419
 
420
- class UnionMember0 < Telnyx::Internal::Type::BaseModel
420
+ class TargetsList < Telnyx::Internal::Type::BaseModel
421
421
  OrHash =
422
422
  T.type_alias do
423
423
  T.any(
424
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0,
424
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList,
425
425
  Telnyx::Internal::AnyHash
426
426
  )
427
427
  end
@@ -463,10 +463,10 @@ module Telnyx
463
463
  def self.variants
464
464
  end
465
465
 
466
- UnionMember0Array =
466
+ TargetsListArray =
467
467
  T.let(
468
468
  Telnyx::Internal::Type::ArrayOf[
469
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
469
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
470
470
  ],
471
471
  Telnyx::Internal::Type::Converter
472
472
  )
@@ -1253,17 +1253,17 @@ module Telnyx
1253
1253
  T.type_alias do
1254
1254
  T.any(
1255
1255
  T::Array[
1256
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1256
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1257
1257
  ],
1258
1258
  String
1259
1259
  )
1260
1260
  end
1261
1261
 
1262
- class UnionMember0 < Telnyx::Internal::Type::BaseModel
1262
+ class TargetsList < Telnyx::Internal::Type::BaseModel
1263
1263
  OrHash =
1264
1264
  T.type_alias do
1265
1265
  T.any(
1266
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0,
1266
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList,
1267
1267
  Telnyx::Internal::AnyHash
1268
1268
  )
1269
1269
  end
@@ -1305,10 +1305,10 @@ module Telnyx
1305
1305
  def self.variants
1306
1306
  end
1307
1307
 
1308
- UnionMember0Array =
1308
+ TargetsListArray =
1309
1309
  T.let(
1310
1310
  Telnyx::Internal::Type::ArrayOf[
1311
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1311
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1312
1312
  ],
1313
1313
  Telnyx::Internal::Type::Converter
1314
1314
  )