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
@@ -124,17 +124,12 @@ module Telnyx
124
124
  # integrations is at `/ai/integrations`; the user's connected integrations are at
125
125
  # `/ai/integrations/connections`. Each item references a catalog integration by
126
126
  # `integration_id`.
127
- sig do
128
- returns(
129
- T.nilable(T::Array[Telnyx::AI::InferenceEmbedding::Integration])
130
- )
131
- end
127
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
132
128
  attr_reader :integrations
133
129
 
134
130
  sig do
135
131
  params(
136
- integrations:
137
- T::Array[Telnyx::AI::InferenceEmbedding::Integration::OrHash]
132
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
138
133
  ).void
139
134
  end
140
135
  attr_writer :integrations
@@ -146,16 +141,14 @@ module Telnyx
146
141
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
147
142
  # `eager_eot_threshold`).
148
143
  sig do
149
- returns(
150
- T.nilable(Telnyx::AI::InferenceEmbedding::InterruptionSettings)
151
- )
144
+ returns(T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings))
152
145
  end
153
146
  attr_reader :interruption_settings
154
147
 
155
148
  sig do
156
149
  params(
157
150
  interruption_settings:
158
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::OrHash
151
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
159
152
  ).void
160
153
  end
161
154
  attr_writer :interruption_settings
@@ -174,17 +167,12 @@ module Telnyx
174
167
 
175
168
  # MCP servers attached to the assistant. Create MCP servers with
176
169
  # `/ai/mcp_servers`, then reference them by `id` here.
177
- sig do
178
- returns(
179
- T.nilable(T::Array[Telnyx::AI::InferenceEmbedding::McpServer])
180
- )
181
- end
170
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
182
171
  attr_reader :mcp_servers
183
172
 
184
173
  sig do
185
174
  params(
186
- mcp_servers:
187
- T::Array[Telnyx::AI::InferenceEmbedding::McpServer::OrHash]
175
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
188
176
  ).void
189
177
  end
190
178
  attr_writer :mcp_servers
@@ -342,13 +330,11 @@ module Telnyx
342
330
  greeting: String,
343
331
  import_metadata: Telnyx::AI::ImportMetadata::OrHash,
344
332
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
345
- integrations:
346
- T::Array[Telnyx::AI::InferenceEmbedding::Integration::OrHash],
333
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
347
334
  interruption_settings:
348
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::OrHash,
335
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
349
336
  llm_api_key_ref: String,
350
- mcp_servers:
351
- T::Array[Telnyx::AI::InferenceEmbedding::McpServer::OrHash],
337
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
352
338
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
353
339
  observability_settings: Telnyx::AI::Observability::OrHash,
354
340
  post_conversation_settings:
@@ -497,12 +483,11 @@ module Telnyx
497
483
  greeting: String,
498
484
  import_metadata: Telnyx::AI::ImportMetadata,
499
485
  insight_settings: Telnyx::AI::InsightSettings,
500
- integrations:
501
- T::Array[Telnyx::AI::InferenceEmbedding::Integration],
486
+ integrations: T::Array[Telnyx::AI::AssistantIntegration],
502
487
  interruption_settings:
503
- Telnyx::AI::InferenceEmbedding::InterruptionSettings,
488
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
504
489
  llm_api_key_ref: String,
505
- mcp_servers: T::Array[Telnyx::AI::InferenceEmbedding::McpServer],
490
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
506
491
  messaging_settings: Telnyx::AI::MessagingSettings,
507
492
  observability_settings: Telnyx::AI::Observability,
508
493
  post_conversation_settings: Telnyx::AI::PostConversationSettings,
@@ -522,330 +507,6 @@ module Telnyx
522
507
  end
523
508
  def to_hash
524
509
  end
525
-
526
- class Integration < Telnyx::Internal::Type::BaseModel
527
- OrHash =
528
- T.type_alias do
529
- T.any(
530
- Telnyx::AI::InferenceEmbedding::Integration,
531
- Telnyx::Internal::AnyHash
532
- )
533
- end
534
-
535
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
536
- # at `/ai/integrations` (the same value also appears as `integration_id` on
537
- # entries returned by `/ai/integrations/connections`). It is **not** the
538
- # connection-level `id` from `/ai/integrations/connections`.
539
- sig { returns(String) }
540
- attr_accessor :integration_id
541
-
542
- # Optional per-assistant allowlist of integration tool names. When omitted or
543
- # empty, all tools allowed by the connected integration are available to the
544
- # assistant.
545
- sig { returns(T.nilable(T::Array[String])) }
546
- attr_reader :allowed_list
547
-
548
- sig { params(allowed_list: T::Array[String]).void }
549
- attr_writer :allowed_list
550
-
551
- # Reference to a connected integration attached to an assistant. Discover
552
- # available integrations with `/ai/integrations` and connected integrations with
553
- # `/ai/integrations/connections`.
554
- sig do
555
- params(
556
- integration_id: String,
557
- allowed_list: T::Array[String]
558
- ).returns(T.attached_class)
559
- end
560
- def self.new(
561
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
562
- # at `/ai/integrations` (the same value also appears as `integration_id` on
563
- # entries returned by `/ai/integrations/connections`). It is **not** the
564
- # connection-level `id` from `/ai/integrations/connections`.
565
- integration_id:,
566
- # Optional per-assistant allowlist of integration tool names. When omitted or
567
- # empty, all tools allowed by the connected integration are available to the
568
- # assistant.
569
- allowed_list: nil
570
- )
571
- end
572
-
573
- sig do
574
- override.returns(
575
- { integration_id: String, allowed_list: T::Array[String] }
576
- )
577
- end
578
- def to_hash
579
- end
580
- end
581
-
582
- class InterruptionSettings < Telnyx::Internal::Type::BaseModel
583
- OrHash =
584
- T.type_alias do
585
- T.any(
586
- Telnyx::AI::InferenceEmbedding::InterruptionSettings,
587
- Telnyx::Internal::AnyHash
588
- )
589
- end
590
-
591
- # When true, disables user interruptions while the assistant greeting is playing.
592
- sig { returns(T.nilable(T::Boolean)) }
593
- attr_reader :disable_greeting_interruption
594
-
595
- sig { params(disable_greeting_interruption: T::Boolean).void }
596
- attr_writer :disable_greeting_interruption
597
-
598
- # Whether users can interrupt the assistant while it is speaking.
599
- sig { returns(T.nilable(T::Boolean)) }
600
- attr_reader :enable
601
-
602
- sig { params(enable: T::Boolean).void }
603
- attr_writer :enable
604
-
605
- # Controls when the assistant starts speaking after the user stops. These
606
- # thresholds primarily apply to non turn-taking transcription models. For
607
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
608
- # transcription end-of-turn settings under `transcription.settings` instead.
609
- sig do
610
- returns(
611
- T.nilable(
612
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan
613
- )
614
- )
615
- end
616
- attr_reader :start_speaking_plan
617
-
618
- sig do
619
- params(
620
- start_speaking_plan:
621
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::OrHash
622
- ).void
623
- end
624
- attr_writer :start_speaking_plan
625
-
626
- # Settings for interruptions and how the assistant decides the user has finished
627
- # speaking. These timings are most relevant when using non turn-taking
628
- # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
629
- # behavior is controlled by the transcription end-of-turn settings under
630
- # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
631
- # `eager_eot_threshold`).
632
- sig do
633
- params(
634
- disable_greeting_interruption: T::Boolean,
635
- enable: T::Boolean,
636
- start_speaking_plan:
637
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::OrHash
638
- ).returns(T.attached_class)
639
- end
640
- def self.new(
641
- # When true, disables user interruptions while the assistant greeting is playing.
642
- disable_greeting_interruption: nil,
643
- # Whether users can interrupt the assistant while it is speaking.
644
- enable: nil,
645
- # Controls when the assistant starts speaking after the user stops. These
646
- # thresholds primarily apply to non turn-taking transcription models. For
647
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
648
- # transcription end-of-turn settings under `transcription.settings` instead.
649
- start_speaking_plan: nil
650
- )
651
- end
652
-
653
- sig do
654
- override.returns(
655
- {
656
- disable_greeting_interruption: T::Boolean,
657
- enable: T::Boolean,
658
- start_speaking_plan:
659
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan
660
- }
661
- )
662
- end
663
- def to_hash
664
- end
665
-
666
- class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
667
- OrHash =
668
- T.type_alias do
669
- T.any(
670
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan,
671
- Telnyx::Internal::AnyHash
672
- )
673
- end
674
-
675
- # Endpointing thresholds used to decide when the user has finished speaking.
676
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
677
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
678
- # `eager_eot_threshold`.
679
- sig do
680
- returns(
681
- T.nilable(
682
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
683
- )
684
- )
685
- end
686
- attr_reader :transcription_endpointing_plan
687
-
688
- sig do
689
- params(
690
- transcription_endpointing_plan:
691
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
692
- ).void
693
- end
694
- attr_writer :transcription_endpointing_plan
695
-
696
- # Minimum seconds to wait before the assistant starts speaking.
697
- sig { returns(T.nilable(Float)) }
698
- attr_reader :wait_seconds
699
-
700
- sig { params(wait_seconds: Float).void }
701
- attr_writer :wait_seconds
702
-
703
- # Controls when the assistant starts speaking after the user stops. These
704
- # thresholds primarily apply to non turn-taking transcription models. For
705
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
706
- # transcription end-of-turn settings under `transcription.settings` instead.
707
- sig do
708
- params(
709
- transcription_endpointing_plan:
710
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
711
- wait_seconds: Float
712
- ).returns(T.attached_class)
713
- end
714
- def self.new(
715
- # Endpointing thresholds used to decide when the user has finished speaking.
716
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
717
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
718
- # `eager_eot_threshold`.
719
- transcription_endpointing_plan: nil,
720
- # Minimum seconds to wait before the assistant starts speaking.
721
- wait_seconds: nil
722
- )
723
- end
724
-
725
- sig do
726
- override.returns(
727
- {
728
- transcription_endpointing_plan:
729
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
730
- wait_seconds: Float
731
- }
732
- )
733
- end
734
- def to_hash
735
- end
736
-
737
- class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
738
- OrHash =
739
- T.type_alias do
740
- T.any(
741
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
742
- Telnyx::Internal::AnyHash
743
- )
744
- end
745
-
746
- # Seconds to wait after the transcript ends without punctuation.
747
- sig { returns(T.nilable(Float)) }
748
- attr_reader :on_no_punctuation_seconds
749
-
750
- sig { params(on_no_punctuation_seconds: Float).void }
751
- attr_writer :on_no_punctuation_seconds
752
-
753
- # Seconds to wait after the transcript ends with a number.
754
- sig { returns(T.nilable(Float)) }
755
- attr_reader :on_number_seconds
756
-
757
- sig { params(on_number_seconds: Float).void }
758
- attr_writer :on_number_seconds
759
-
760
- # Seconds to wait after the transcript ends with punctuation.
761
- sig { returns(T.nilable(Float)) }
762
- attr_reader :on_punctuation_seconds
763
-
764
- sig { params(on_punctuation_seconds: Float).void }
765
- attr_writer :on_punctuation_seconds
766
-
767
- # Endpointing thresholds used to decide when the user has finished speaking.
768
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
769
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
770
- # `eager_eot_threshold`.
771
- sig do
772
- params(
773
- on_no_punctuation_seconds: Float,
774
- on_number_seconds: Float,
775
- on_punctuation_seconds: Float
776
- ).returns(T.attached_class)
777
- end
778
- def self.new(
779
- # Seconds to wait after the transcript ends without punctuation.
780
- on_no_punctuation_seconds: nil,
781
- # Seconds to wait after the transcript ends with a number.
782
- on_number_seconds: nil,
783
- # Seconds to wait after the transcript ends with punctuation.
784
- on_punctuation_seconds: nil
785
- )
786
- end
787
-
788
- sig do
789
- override.returns(
790
- {
791
- on_no_punctuation_seconds: Float,
792
- on_number_seconds: Float,
793
- on_punctuation_seconds: Float
794
- }
795
- )
796
- end
797
- def to_hash
798
- end
799
- end
800
- end
801
- end
802
-
803
- class McpServer < Telnyx::Internal::Type::BaseModel
804
- OrHash =
805
- T.type_alias do
806
- T.any(
807
- Telnyx::AI::InferenceEmbedding::McpServer,
808
- Telnyx::Internal::AnyHash
809
- )
810
- end
811
-
812
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
813
- # by the `/ai/mcp_servers` endpoints.
814
- sig { returns(String) }
815
- attr_accessor :id
816
-
817
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
818
- # uses the MCP server's configured `allowed_tools`.
819
- sig { returns(T.nilable(T::Array[String])) }
820
- attr_reader :allowed_tools
821
-
822
- sig { params(allowed_tools: T::Array[String]).void }
823
- attr_writer :allowed_tools
824
-
825
- # Reference to an MCP server attached to an assistant. Create and manage MCP
826
- # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
827
- # ID.
828
- sig do
829
- params(id: String, allowed_tools: T::Array[String]).returns(
830
- T.attached_class
831
- )
832
- end
833
- def self.new(
834
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
835
- # by the `/ai/mcp_servers` endpoints.
836
- id:,
837
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
838
- # uses the MCP server's configured `allowed_tools`.
839
- allowed_tools: nil
840
- )
841
- end
842
-
843
- sig do
844
- override.returns({ id: String, allowed_tools: T::Array[String] })
845
- end
846
- def to_hash
847
- end
848
- end
849
510
  end
850
511
  end
851
512
  end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class InferenceEmbeddingInterruptionSettings < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # When true, disables user interruptions while the assistant greeting is playing.
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :disable_greeting_interruption
18
+
19
+ sig { params(disable_greeting_interruption: T::Boolean).void }
20
+ attr_writer :disable_greeting_interruption
21
+
22
+ # Whether users can interrupt the assistant while it is speaking.
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :enable
25
+
26
+ sig { params(enable: T::Boolean).void }
27
+ attr_writer :enable
28
+
29
+ # Controls when the assistant starts speaking after the user stops. These
30
+ # thresholds primarily apply to non turn-taking transcription models. For
31
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
32
+ # transcription end-of-turn settings under `transcription.settings` instead.
33
+ sig { returns(T.nilable(Telnyx::AI::StartSpeakingPlan)) }
34
+ attr_reader :start_speaking_plan
35
+
36
+ sig do
37
+ params(
38
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan::OrHash
39
+ ).void
40
+ end
41
+ attr_writer :start_speaking_plan
42
+
43
+ # Settings for interruptions and how the assistant decides the user has finished
44
+ # speaking. These timings are most relevant when using non turn-taking
45
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
46
+ # behavior is controlled by the transcription end-of-turn settings under
47
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
48
+ # `eager_eot_threshold`).
49
+ sig do
50
+ params(
51
+ disable_greeting_interruption: T::Boolean,
52
+ enable: T::Boolean,
53
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan::OrHash
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # When true, disables user interruptions while the assistant greeting is playing.
58
+ disable_greeting_interruption: nil,
59
+ # Whether users can interrupt the assistant while it is speaking.
60
+ enable: nil,
61
+ # Controls when the assistant starts speaking after the user stops. These
62
+ # thresholds primarily apply to non turn-taking transcription models. For
63
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
64
+ # transcription end-of-turn settings under `transcription.settings` instead.
65
+ start_speaking_plan: nil
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ disable_greeting_interruption: T::Boolean,
73
+ enable: T::Boolean,
74
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -26,10 +26,10 @@ module Telnyx
26
26
  attr_writer :conversation
27
27
 
28
28
  # The input items for this turn, using the OpenAI Responses API input format.
29
- sig { returns(T.nilable(T.anything)) }
29
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
30
30
  attr_reader :input
31
31
 
32
- sig { params(input: T.anything).void }
32
+ sig { params(input: T::Hash[Symbol, T.anything]).void }
33
33
  attr_writer :input
34
34
 
35
35
  # Optional system/developer instructions for the model. When used with a persisted
@@ -60,7 +60,7 @@ module Telnyx
60
60
  sig do
61
61
  params(
62
62
  conversation: String,
63
- input: T.anything,
63
+ input: T::Hash[Symbol, T.anything],
64
64
  instructions: String,
65
65
  model: String,
66
66
  stream: T::Boolean,
@@ -93,7 +93,7 @@ module Telnyx
93
93
  override.returns(
94
94
  {
95
95
  conversation: String,
96
- input: T.anything,
96
+ input: T::Hash[Symbol, T.anything],
97
97
  instructions: String,
98
98
  model: String,
99
99
  stream: T::Boolean,