telnyx 5.167.0 → 5.169.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 (396) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +44 -0
  5. data/lib/telnyx/internal/type/union.rb +6 -6
  6. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  7. data/lib/telnyx/models/ai/assistant_create_params.rb +22 -7
  8. data/lib/telnyx/models/ai/assistant_tool.rb +285 -12
  9. data/lib/telnyx/models/ai/assistant_update_params.rb +37 -10
  10. data/lib/telnyx/models/ai/assistants/update_assistant.rb +37 -10
  11. data/lib/telnyx/models/ai/audio_transcribe_params.rb +33 -13
  12. data/lib/telnyx/models/ai/audio_transcribe_response.rb +34 -56
  13. data/lib/telnyx/models/ai/audio_transcription_response_word.rb +74 -0
  14. data/lib/telnyx/models/ai/chat_completion_request.rb +128 -74
  15. data/lib/telnyx/models/ai/flow_node.rb +2 -2
  16. data/lib/telnyx/models/ai/inference_embedding.rb +29 -11
  17. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +10 -1
  18. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +21 -1
  19. data/lib/telnyx/models/ai/openai/function_definition.rb +31 -0
  20. data/lib/telnyx/models/ai/post_conversation_settings.rb +4 -4
  21. data/lib/telnyx/models/ai/post_conversation_settings_req.rb +4 -4
  22. data/lib/telnyx/models/ai/privacy_settings.rb +20 -1
  23. data/lib/telnyx/models/ai/retrieval_tool.rb +21 -1
  24. data/lib/telnyx/models/ai/telephony_settings.rb +101 -17
  25. data/lib/telnyx/models/ai/tool_node.rb +2 -2
  26. data/lib/telnyx/models/ai/transcription_settings.rb +12 -4
  27. data/lib/telnyx/models/ai/transcription_settings_config.rb +12 -11
  28. data/lib/telnyx/models/ai/typesafe/v1_systemone_params.rb +268 -0
  29. data/lib/telnyx/models/ai/typesafe/v1_systemone_response.rb +222 -0
  30. data/lib/telnyx/models/bot_challenge_create_params.rb +38 -0
  31. data/lib/telnyx/models/bot_challenge_create_response.rb +87 -0
  32. data/lib/telnyx/models/bot_session_list_params.rb +34 -0
  33. data/lib/telnyx/models/bot_session_list_response.rb +32 -0
  34. data/lib/telnyx/models/bot_signup_create_params.rb +103 -0
  35. data/lib/telnyx/models/bot_signup_resend_magic_link_params.rb +22 -0
  36. data/lib/telnyx/models/call_dial_params.rb +75 -7
  37. data/lib/telnyx/models/calls/action_transfer_params.rb +75 -7
  38. data/lib/telnyx/models/calls/transcription_config.rb +14 -3
  39. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +6 -3
  40. data/lib/telnyx/models/calls/transcription_engine_parakeet_config.rb +1 -0
  41. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  42. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  43. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  44. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  45. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  46. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  47. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  48. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  49. data/lib/telnyx/models/compute/funcs/export_create_params.rb +62 -0
  50. data/lib/telnyx/models/compute/funcs/export_delete_all_params.rb +24 -0
  51. data/lib/telnyx/models/compute/funcs/export_list_params.rb +24 -0
  52. data/lib/telnyx/models/compute/funcs/func_log_export_config_response.rb +113 -0
  53. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  54. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  55. data/lib/telnyx/models/connection_retrieve_count_params.rb +14 -0
  56. data/lib/telnyx/models/connection_retrieve_count_response.rb +215 -0
  57. data/lib/telnyx/models/credential_connection.rb +4 -1
  58. data/lib/telnyx/models/detail_record_list_params.rb +19 -2
  59. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  60. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  61. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  62. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  63. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  64. data/lib/telnyx/models/inbound_message_webhook_event.rb +3 -70
  65. data/lib/telnyx/models/machine_payment_account_credit_params.rb +29 -0
  66. data/lib/telnyx/models/machine_payment_account_credit_response.rb +223 -0
  67. data/lib/telnyx/models/message_retrieve_group_messages_response.rb +3 -3
  68. data/lib/telnyx/models/message_retrieve_response.rb +4 -4
  69. data/lib/telnyx/models/message_schedule_response.rb +3 -3
  70. data/lib/telnyx/models/message_send_group_mms_response.rb +3 -3
  71. data/lib/telnyx/models/message_send_long_code_response.rb +3 -3
  72. data/lib/telnyx/models/message_send_number_pool_response.rb +3 -3
  73. data/lib/telnyx/models/message_send_response.rb +3 -3
  74. data/lib/telnyx/models/message_send_short_code_response.rb +3 -3
  75. data/lib/telnyx/models/messaging_inbound_message.rb +71 -0
  76. data/lib/telnyx/models/messaging_inbound_message_payload.rb +412 -66
  77. data/lib/telnyx/models/messaging_messaging_profile.rb +11 -1
  78. data/lib/telnyx/models/messaging_outbound_message_payload.rb +42 -2
  79. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  80. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  81. data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
  82. data/lib/telnyx/models/noise_suppression_engine_list_params.rb +14 -0
  83. data/lib/telnyx/models/noise_suppression_engine_list_response.rb +50 -0
  84. data/lib/telnyx/models/number_order_status_update.rb +15 -3
  85. data/lib/telnyx/models/number_order_status_update_webhook_event.rb +15 -3
  86. data/lib/telnyx/models/outbound_message.rb +1 -0
  87. data/lib/telnyx/models/outbound_message_payload.rb +45 -5
  88. data/lib/telnyx/models/speech_to_text_retrieve_transcription_params.rb +1 -0
  89. data/lib/telnyx/models/success_response.rb +27 -0
  90. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +246 -3
  91. data/lib/telnyx/models/texml/accounts/conferences/participant_participants_params.rb +82 -1
  92. data/lib/telnyx/models/texml/call_create_params.rb +78 -0
  93. data/lib/telnyx/models/texml/call_create_response.rb +55 -0
  94. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +76 -1
  95. data/lib/telnyx/models/uac_connection.rb +4 -1
  96. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  97. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  98. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  99. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +2 -2
  100. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  101. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  102. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  103. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  104. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  105. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  106. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  107. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  108. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  109. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  110. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  111. data/lib/telnyx/models.rb +26 -0
  112. data/lib/telnyx/resources/ai/assistants/versions.rb +4 -2
  113. data/lib/telnyx/resources/ai/assistants.rb +8 -4
  114. data/lib/telnyx/resources/ai/audio.rb +2 -2
  115. data/lib/telnyx/resources/ai/openai/chat.rb +2 -8
  116. data/lib/telnyx/resources/ai/typesafe/v1.rb +62 -0
  117. data/lib/telnyx/resources/ai/typesafe.rb +22 -0
  118. data/lib/telnyx/resources/ai.rb +4 -0
  119. data/lib/telnyx/resources/bot_challenge.rb +53 -0
  120. data/lib/telnyx/resources/bot_sessions.rb +57 -0
  121. data/lib/telnyx/resources/bot_signup.rb +97 -0
  122. data/lib/telnyx/resources/calls/actions.rb +1 -1
  123. data/lib/telnyx/resources/calls.rb +1 -1
  124. data/lib/telnyx/resources/compute/funcs/export.rb +105 -0
  125. data/lib/telnyx/resources/compute/funcs.rb +145 -0
  126. data/lib/telnyx/resources/compute.rb +18 -0
  127. data/lib/telnyx/resources/connections.rb +20 -0
  128. data/lib/telnyx/resources/detail_records.rb +1 -1
  129. data/lib/telnyx/resources/email_messages.rb +6 -2
  130. data/lib/telnyx/resources/machine_payments.rb +73 -0
  131. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  132. data/lib/telnyx/resources/noise_suppression_engines.rb +37 -0
  133. data/lib/telnyx/resources/texml/accounts/conferences/participants.rb +15 -1
  134. data/lib/telnyx/resources/texml/calls.rb +57 -0
  135. data/lib/telnyx/resources/texml.rb +20 -1
  136. data/lib/telnyx/resources/voice_clones.rb +4 -2
  137. data/lib/telnyx/resources/webhooks.rb +2 -2
  138. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  139. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  140. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  141. data/lib/telnyx/version.rb +1 -1
  142. data/lib/telnyx.rb +56 -0
  143. data/rbi/telnyx/client.rbi +38 -0
  144. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  145. data/rbi/telnyx/models/ai/assistant_create_params.rbi +45 -12
  146. data/rbi/telnyx/models/ai/assistant_tool.rbi +423 -20
  147. data/rbi/telnyx/models/ai/assistant_update_params.rbi +73 -16
  148. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +73 -16
  149. data/rbi/telnyx/models/ai/audio_transcribe_params.rbi +71 -20
  150. data/rbi/telnyx/models/ai/audio_transcribe_response.rbi +63 -97
  151. data/rbi/telnyx/models/ai/audio_transcription_response_word.rbi +108 -0
  152. data/rbi/telnyx/models/ai/chat_completion_request.rbi +228 -150
  153. data/rbi/telnyx/models/ai/flow_node.rbi +4 -2
  154. data/rbi/telnyx/models/ai/inference_embedding.rbi +53 -16
  155. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +10 -0
  156. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +29 -3
  157. data/rbi/telnyx/models/ai/openai/function_definition.rbi +56 -0
  158. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +4 -4
  159. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +4 -4
  160. data/rbi/telnyx/models/ai/privacy_settings.rbi +43 -3
  161. data/rbi/telnyx/models/ai/retrieval_tool.rbi +29 -3
  162. data/rbi/telnyx/models/ai/telephony_settings.rbi +197 -20
  163. data/rbi/telnyx/models/ai/tool_node.rbi +4 -2
  164. data/rbi/telnyx/models/ai/transcription_settings.rbi +25 -6
  165. data/rbi/telnyx/models/ai/transcription_settings_config.rbi +18 -16
  166. data/rbi/telnyx/models/ai/typesafe/v1_systemone_params.rbi +504 -0
  167. data/rbi/telnyx/models/ai/typesafe/v1_systemone_response.rbi +348 -0
  168. data/rbi/telnyx/models/bot_challenge_create_params.rbi +68 -0
  169. data/rbi/telnyx/models/bot_challenge_create_response.rbi +169 -0
  170. data/rbi/telnyx/models/bot_session_list_params.rbi +53 -0
  171. data/rbi/telnyx/models/bot_session_list_response.rbi +64 -0
  172. data/rbi/telnyx/models/bot_signup_create_params.rbi +179 -0
  173. data/rbi/telnyx/models/bot_signup_resend_magic_link_params.rbi +43 -0
  174. data/rbi/telnyx/models/call_dial_params.rbi +111 -10
  175. data/rbi/telnyx/models/calls/action_transfer_params.rbi +111 -10
  176. data/rbi/telnyx/models/calls/transcription_config.rbi +29 -5
  177. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +11 -3
  178. data/rbi/telnyx/models/calls/transcription_engine_parakeet_config.rbi +5 -0
  179. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  180. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  181. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  182. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  183. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  184. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  185. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  186. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  187. data/rbi/telnyx/models/compute/funcs/export_create_params.rbi +84 -0
  188. data/rbi/telnyx/models/compute/funcs/export_delete_all_params.rbi +42 -0
  189. data/rbi/telnyx/models/compute/funcs/export_list_params.rbi +42 -0
  190. data/rbi/telnyx/models/compute/funcs/func_log_export_config_response.rbi +227 -0
  191. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  192. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  193. data/rbi/telnyx/models/connection_retrieve_count_params.rbi +30 -0
  194. data/rbi/telnyx/models/connection_retrieve_count_response.rbi +353 -0
  195. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  196. data/rbi/telnyx/models/detail_record_list_params.rbi +30 -2
  197. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  198. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  199. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  200. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  201. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  202. data/rbi/telnyx/models/inbound_message_webhook_event.rbi +4 -173
  203. data/rbi/telnyx/models/machine_payment_account_credit_params.rbi +51 -0
  204. data/rbi/telnyx/models/machine_payment_account_credit_response.rbi +446 -0
  205. data/rbi/telnyx/models/message_retrieve_group_messages_response.rbi +6 -12
  206. data/rbi/telnyx/models/message_retrieve_response.rbi +3 -3
  207. data/rbi/telnyx/models/message_schedule_response.rbi +4 -6
  208. data/rbi/telnyx/models/message_send_group_mms_response.rbi +4 -6
  209. data/rbi/telnyx/models/message_send_long_code_response.rbi +4 -6
  210. data/rbi/telnyx/models/message_send_number_pool_response.rbi +4 -6
  211. data/rbi/telnyx/models/message_send_response.rbi +4 -6
  212. data/rbi/telnyx/models/message_send_short_code_response.rbi +4 -6
  213. data/rbi/telnyx/models/messaging_inbound_message.rbi +152 -0
  214. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +911 -192
  215. data/rbi/telnyx/models/messaging_messaging_profile.rbi +19 -0
  216. data/rbi/telnyx/models/messaging_outbound_message_payload.rbi +90 -16
  217. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  218. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  219. data/rbi/telnyx/models/messaging_profile_update_params.rbi +19 -0
  220. data/rbi/telnyx/models/noise_suppression_engine_list_params.rbi +30 -0
  221. data/rbi/telnyx/models/noise_suppression_engine_list_response.rbi +94 -0
  222. data/rbi/telnyx/models/number_order_status_update.rbi +34 -3
  223. data/rbi/telnyx/models/number_order_status_update_webhook_event.rbi +39 -3
  224. data/rbi/telnyx/models/outbound_message.rbi +5 -0
  225. data/rbi/telnyx/models/outbound_message_payload.rbi +74 -4
  226. data/rbi/telnyx/models/speech_to_text_retrieve_transcription_params.rbi +5 -0
  227. data/rbi/telnyx/models/success_response.rbi +36 -0
  228. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +339 -0
  229. data/rbi/telnyx/models/texml/accounts/conferences/participant_participants_params.rbi +111 -0
  230. data/rbi/telnyx/models/texml/call_create_params.rbi +124 -0
  231. data/rbi/telnyx/models/texml/call_create_response.rbi +98 -0
  232. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +103 -0
  233. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  234. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  235. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  236. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  237. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +4 -4
  238. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  239. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  240. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  241. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  242. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  243. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  244. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  245. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  246. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  247. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  248. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  249. data/rbi/telnyx/models.rbi +29 -0
  250. data/rbi/telnyx/resources/ai/assistants/versions.rbi +31 -7
  251. data/rbi/telnyx/resources/ai/assistants.rbi +46 -12
  252. data/rbi/telnyx/resources/ai/audio.rbi +20 -9
  253. data/rbi/telnyx/resources/ai/openai/chat.rbi +9 -13
  254. data/rbi/telnyx/resources/ai/typesafe/v1.rbi +61 -0
  255. data/rbi/telnyx/resources/ai/typesafe.rbi +19 -0
  256. data/rbi/telnyx/resources/ai.rbi +3 -0
  257. data/rbi/telnyx/resources/bot_challenge.rbi +45 -0
  258. data/rbi/telnyx/resources/bot_sessions.rbi +45 -0
  259. data/rbi/telnyx/resources/bot_signup.rbi +87 -0
  260. data/rbi/telnyx/resources/calls/actions.rbi +6 -5
  261. data/rbi/telnyx/resources/calls.rbi +6 -5
  262. data/rbi/telnyx/resources/compute/funcs/export.rbi +86 -0
  263. data/rbi/telnyx/resources/compute/funcs.rbi +114 -0
  264. data/rbi/telnyx/resources/compute.rbi +15 -0
  265. data/rbi/telnyx/resources/connections.rbi +11 -0
  266. data/rbi/telnyx/resources/detail_records.rbi +12 -1
  267. data/rbi/telnyx/resources/email_messages.rbi +8 -2
  268. data/rbi/telnyx/resources/machine_payments.rbi +64 -0
  269. data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
  270. data/rbi/telnyx/resources/noise_suppression_engines.rbi +26 -0
  271. data/rbi/telnyx/resources/texml/accounts/conferences/participants.rbi +32 -0
  272. data/rbi/telnyx/resources/texml/calls.rbi +50 -0
  273. data/rbi/telnyx/resources/texml.rbi +36 -0
  274. data/rbi/telnyx/resources/voice_clones.rbi +4 -2
  275. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  276. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  277. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  278. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  279. data/sig/telnyx/client.rbs +12 -0
  280. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  281. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  282. data/sig/telnyx/models/ai/assistant_tool.rbs +162 -23
  283. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  284. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  285. data/sig/telnyx/models/ai/audio_transcribe_params.rbs +10 -0
  286. data/sig/telnyx/models/ai/audio_transcribe_response.rbs +29 -43
  287. data/sig/telnyx/models/ai/audio_transcription_response_word.rbs +60 -0
  288. data/sig/telnyx/models/ai/chat_completion_request.rbs +90 -79
  289. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  290. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +5 -0
  291. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +10 -3
  292. data/sig/telnyx/models/ai/openai/function_definition.rbs +34 -0
  293. data/sig/telnyx/models/ai/privacy_settings.rbs +11 -3
  294. data/sig/telnyx/models/ai/retrieval_tool.rbs +10 -3
  295. data/sig/telnyx/models/ai/telephony_settings.rbs +59 -4
  296. data/sig/telnyx/models/ai/transcription_settings.rbs +4 -0
  297. data/sig/telnyx/models/ai/typesafe/v1_systemone_params.rbs +195 -0
  298. data/sig/telnyx/models/ai/typesafe/v1_systemone_response.rbs +141 -0
  299. data/sig/telnyx/models/bot_challenge_create_params.rbs +42 -0
  300. data/sig/telnyx/models/bot_challenge_create_response.rbs +72 -0
  301. data/sig/telnyx/models/bot_session_list_params.rbs +28 -0
  302. data/sig/telnyx/models/bot_session_list_response.rbs +26 -0
  303. data/sig/telnyx/models/bot_signup_create_params.rbs +89 -0
  304. data/sig/telnyx/models/bot_signup_resend_magic_link_params.rbs +20 -0
  305. data/sig/telnyx/models/call_dial_params.rbs +49 -0
  306. data/sig/telnyx/models/calls/action_transfer_params.rbs +49 -0
  307. data/sig/telnyx/models/calls/transcription_config.rbs +4 -0
  308. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +3 -1
  309. data/sig/telnyx/models/calls/transcription_engine_parakeet_config.rbs +3 -1
  310. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  311. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  312. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  313. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  314. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  315. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  316. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  317. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  318. data/sig/telnyx/models/compute/funcs/export_create_params.rbs +50 -0
  319. data/sig/telnyx/models/compute/funcs/export_delete_all_params.rbs +27 -0
  320. data/sig/telnyx/models/compute/funcs/export_list_params.rbs +27 -0
  321. data/sig/telnyx/models/compute/funcs/func_log_export_config_response.rbs +115 -0
  322. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  323. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  324. data/sig/telnyx/models/connection_retrieve_count_params.rbs +15 -0
  325. data/sig/telnyx/models/connection_retrieve_count_response.rbs +169 -0
  326. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  327. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  328. data/sig/telnyx/models/inbound_message_webhook_event.rbs +6 -79
  329. data/sig/telnyx/models/machine_payment_account_credit_params.rbs +23 -0
  330. data/sig/telnyx/models/machine_payment_account_credit_response.rbs +164 -0
  331. data/sig/telnyx/models/message_retrieve_group_messages_response.rbs +6 -8
  332. data/sig/telnyx/models/message_retrieve_response.rbs +1 -2
  333. data/sig/telnyx/models/message_schedule_response.rbs +6 -7
  334. data/sig/telnyx/models/message_send_group_mms_response.rbs +6 -6
  335. data/sig/telnyx/models/message_send_long_code_response.rbs +6 -6
  336. data/sig/telnyx/models/message_send_number_pool_response.rbs +6 -6
  337. data/sig/telnyx/models/message_send_response.rbs +6 -7
  338. data/sig/telnyx/models/message_send_short_code_response.rbs +6 -6
  339. data/sig/telnyx/models/messaging_inbound_message.rbs +76 -0
  340. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +438 -97
  341. data/sig/telnyx/models/messaging_messaging_profile.rbs +5 -0
  342. data/sig/telnyx/models/messaging_outbound_message_payload.rbs +39 -1
  343. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  344. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  345. data/sig/telnyx/models/messaging_profile_update_params.rbs +5 -0
  346. data/sig/telnyx/models/noise_suppression_engine_list_params.rbs +15 -0
  347. data/sig/telnyx/models/noise_suppression_engine_list_response.rbs +43 -0
  348. data/sig/telnyx/models/number_order_status_update.rbs +14 -4
  349. data/sig/telnyx/models/number_order_status_update_webhook_event.rbs +14 -4
  350. data/sig/telnyx/models/outbound_message.rbs +2 -1
  351. data/sig/telnyx/models/outbound_message_payload.rbs +45 -7
  352. data/sig/telnyx/models/speech_to_text_retrieve_transcription_params.rbs +2 -0
  353. data/sig/telnyx/models/success_response.rbs +15 -0
  354. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +159 -0
  355. data/sig/telnyx/models/texml/accounts/conferences/participant_participants_params.rbs +49 -0
  356. data/sig/telnyx/models/texml/call_create_params.rbs +72 -0
  357. data/sig/telnyx/models/texml/call_create_response.rbs +47 -0
  358. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +49 -0
  359. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  360. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  361. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  362. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  363. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  364. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  365. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  366. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  367. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  368. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  369. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  370. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  371. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  372. data/sig/telnyx/models.rbs +26 -0
  373. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  374. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  375. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -4
  376. data/sig/telnyx/resources/ai/typesafe/v1.rbs +17 -0
  377. data/sig/telnyx/resources/ai/typesafe.rbs +11 -0
  378. data/sig/telnyx/resources/ai.rbs +2 -0
  379. data/sig/telnyx/resources/bot_challenge.rbs +14 -0
  380. data/sig/telnyx/resources/bot_sessions.rbs +13 -0
  381. data/sig/telnyx/resources/bot_signup.rbs +24 -0
  382. data/sig/telnyx/resources/compute/funcs/export.rbs +30 -0
  383. data/sig/telnyx/resources/compute/funcs.rbs +43 -0
  384. data/sig/telnyx/resources/compute.rbs +9 -0
  385. data/sig/telnyx/resources/connections.rbs +4 -0
  386. data/sig/telnyx/resources/machine_payments.rbs +12 -0
  387. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  388. data/sig/telnyx/resources/noise_suppression_engines.rbs +11 -0
  389. data/sig/telnyx/resources/texml/accounts/conferences/participants.rbs +7 -0
  390. data/sig/telnyx/resources/texml/calls.rbs +19 -0
  391. data/sig/telnyx/resources/texml.rbs +9 -0
  392. data/sig/telnyx/resources/webhooks.rbs +6 -2
  393. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  394. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  395. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  396. metadata +170 -2
@@ -26,6 +26,11 @@ module Telnyx
26
26
  sig { params(enable: T::Boolean).void }
27
27
  attr_writer :enable
28
28
 
29
+ # Interrupt-prediction sensitivity, from 0.0 to 1.0. Set to null or 0.0 to disable
30
+ # interrupt prediction.
31
+ sig { returns(T.nilable(Float)) }
32
+ attr_accessor :interrupt_prediction_threshold
33
+
29
34
  # Controls when the assistant starts speaking after the user stops. These
30
35
  # thresholds primarily apply to non turn-taking transcription models. For
31
36
  # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
@@ -50,6 +55,7 @@ module Telnyx
50
55
  params(
51
56
  disable_greeting_interruption: T::Boolean,
52
57
  enable: T::Boolean,
58
+ interrupt_prediction_threshold: T.nilable(Float),
53
59
  start_speaking_plan: Telnyx::AI::StartSpeakingPlan::OrHash
54
60
  ).returns(T.attached_class)
55
61
  end
@@ -58,6 +64,9 @@ module Telnyx
58
64
  disable_greeting_interruption: nil,
59
65
  # Whether users can interrupt the assistant while it is speaking.
60
66
  enable: nil,
67
+ # Interrupt-prediction sensitivity, from 0.0 to 1.0. Set to null or 0.0 to disable
68
+ # interrupt prediction.
69
+ interrupt_prediction_threshold: nil,
61
70
  # Controls when the assistant starts speaking after the user stops. These
62
71
  # thresholds primarily apply to non turn-taking transcription models. For
63
72
  # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
@@ -71,6 +80,7 @@ module Telnyx
71
80
  {
72
81
  disable_greeting_interruption: T::Boolean,
73
82
  enable: T::Boolean,
83
+ interrupt_prediction_threshold: T.nilable(Float),
74
84
  start_speaking_plan: Telnyx::AI::StartSpeakingPlan
75
85
  }
76
86
  )
@@ -32,15 +32,40 @@ module Telnyx
32
32
  end
33
33
  attr_writer :webhook
34
34
 
35
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
36
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
37
+ # Read-only: set by the server, not accepted in requests. When updating an
38
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
39
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
40
+ # duplicate (rejected with error code 10015 when the type allows only one instance
41
+ # per assistant).
42
+ sig { returns(T.nilable(T::Boolean)) }
43
+ attr_reader :shared
44
+
45
+ sig { params(shared: T::Boolean).void }
46
+ attr_writer :shared
47
+
35
48
  sig do
36
49
  params(
37
50
  type:
38
51
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::Type::OrSymbol,
39
52
  webhook:
40
- Telnyx::AI::InferenceEmbeddingWebhookToolParams::Webhook::OrHash
53
+ Telnyx::AI::InferenceEmbeddingWebhookToolParams::Webhook::OrHash,
54
+ shared: T::Boolean
41
55
  ).returns(T.attached_class)
42
56
  end
43
- def self.new(type:, webhook:)
57
+ def self.new(
58
+ type:,
59
+ webhook:,
60
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
61
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
62
+ # Read-only: set by the server, not accepted in requests. When updating an
63
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
64
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
65
+ # duplicate (rejected with error code 10015 when the type allows only one instance
66
+ # per assistant).
67
+ shared: nil
68
+ )
44
69
  end
45
70
 
46
71
  sig do
@@ -48,7 +73,8 @@ module Telnyx
48
73
  {
49
74
  type:
50
75
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::Type::OrSymbol,
51
- webhook: Telnyx::AI::InferenceEmbeddingWebhookToolParams::Webhook
76
+ webhook: Telnyx::AI::InferenceEmbeddingWebhookToolParams::Webhook,
77
+ shared: T::Boolean
52
78
  }
53
79
  )
54
80
  end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module OpenAI
7
+ class FunctionDefinition < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::AI::OpenAI::FunctionDefinition,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(String) }
17
+ attr_accessor :name
18
+
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :description
21
+
22
+ sig { params(description: String).void }
23
+ attr_writer :description
24
+
25
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
26
+ attr_reader :parameters
27
+
28
+ sig { params(parameters: T::Hash[Symbol, T.anything]).void }
29
+ attr_writer :parameters
30
+
31
+ sig do
32
+ params(
33
+ name: String,
34
+ description: String,
35
+ parameters: T::Hash[Symbol, T.anything]
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(name:, description: nil, parameters: nil)
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ name: String,
45
+ description: String,
46
+ parameters: T::Hash[Symbol, T.anything]
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -23,10 +23,10 @@ module Telnyx
23
23
 
24
24
  # Configuration for post-conversation processing. When enabled, the assistant
25
25
  # receives one additional LLM turn after the conversation ends, allowing it to
26
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
27
- # can execute multiple parallel or sequential tools during this phase.
28
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
29
- # post-conversation. Beta feature.
26
+ # execute final tool calls such as sending a summary or updating a record via
27
+ # webhook or function tools. Integration and MCP server tools are not available
28
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
29
+ # unavailable. Beta feature.
30
30
  sig { params(enabled: T::Boolean).returns(T.attached_class) }
31
31
  def self.new(
32
32
  # Whether post-conversation processing is enabled. When true, the assistant will
@@ -23,10 +23,10 @@ module Telnyx
23
23
 
24
24
  # Configuration for post-conversation processing. When enabled, the assistant
25
25
  # receives one additional LLM turn after the conversation ends, allowing it to
26
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
27
- # can execute multiple parallel or sequential tools during this phase.
28
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
29
- # post-conversation. Beta feature.
26
+ # execute final tool calls such as sending a summary or updating a record via
27
+ # webhook or function tools. Integration and MCP server tools are not available
28
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
29
+ # unavailable. Beta feature.
30
30
  sig { params(enabled: T::Boolean).returns(T.attached_class) }
31
31
  def self.new(
32
32
  # Whether post-conversation processing is enabled. When true, the assistant will
@@ -21,7 +21,30 @@ module Telnyx
21
21
  sig { params(data_retention: T::Boolean).void }
22
22
  attr_writer :data_retention
23
23
 
24
- sig { params(data_retention: T::Boolean).returns(T.attached_class) }
24
+ # Requires every model call made for a web chat turn to be received and served
25
+ # inside your organization's data-locality region, rather than only stored there.
26
+ # Applies to web chat only — voice and messaging assistants are unaffected.
27
+ # Enabling it requires a data-locality region with in-region inference (USA, EU,
28
+ # AUS, UAE; see
29
+ # [Inference regions](https://developers.telnyx.com/docs/inference/models/regions))
30
+ # and Telnyx-hosted models for the assistant, its fallback, and any
31
+ # conversation-flow node that overrides the model; the request is rejected
32
+ # otherwise. Once enabled, send chat requests to your region's API hostname: a
33
+ # request entering the platform in another region is rejected rather than
34
+ # forwarded, because forwarding it would already have moved the content across the
35
+ # border. Defaults to false.
36
+ sig { returns(T.nilable(T::Boolean)) }
37
+ attr_reader :in_transit_data_locality
38
+
39
+ sig { params(in_transit_data_locality: T::Boolean).void }
40
+ attr_writer :in_transit_data_locality
41
+
42
+ sig do
43
+ params(
44
+ data_retention: T::Boolean,
45
+ in_transit_data_locality: T::Boolean
46
+ ).returns(T.attached_class)
47
+ end
25
48
  def self.new(
26
49
  # If true, conversation history and insights will be stored. If false, they will
27
50
  # not be stored. This in‑tool toggle governs solely the retention of conversation
@@ -29,11 +52,28 @@ module Telnyx
29
52
  # recording, transcription, or storage configuration that you have set at the
30
53
  # account, number, or application level. All such external settings remain in
31
54
  # force regardless of your selection here.
32
- data_retention: nil
55
+ data_retention: nil,
56
+ # Requires every model call made for a web chat turn to be received and served
57
+ # inside your organization's data-locality region, rather than only stored there.
58
+ # Applies to web chat only — voice and messaging assistants are unaffected.
59
+ # Enabling it requires a data-locality region with in-region inference (USA, EU,
60
+ # AUS, UAE; see
61
+ # [Inference regions](https://developers.telnyx.com/docs/inference/models/regions))
62
+ # and Telnyx-hosted models for the assistant, its fallback, and any
63
+ # conversation-flow node that overrides the model; the request is rejected
64
+ # otherwise. Once enabled, send chat requests to your region's API hostname: a
65
+ # request entering the platform in another region is rejected rather than
66
+ # forwarded, because forwarding it would already have moved the content across the
67
+ # border. Defaults to false.
68
+ in_transit_data_locality: nil
33
69
  )
34
70
  end
35
71
 
36
- sig { override.returns({ data_retention: T::Boolean }) }
72
+ sig do
73
+ override.returns(
74
+ { data_retention: T::Boolean, in_transit_data_locality: T::Boolean }
75
+ )
76
+ end
37
77
  def to_hash
38
78
  end
39
79
  end
@@ -18,20 +18,46 @@ module Telnyx
18
18
  sig { returns(Telnyx::AI::RetrievalTool::Type::OrSymbol) }
19
19
  attr_accessor :type
20
20
 
21
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
22
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
23
+ # Read-only: set by the server, not accepted in requests. When updating an
24
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
25
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
26
+ # duplicate (rejected with error code 10015 when the type allows only one instance
27
+ # per assistant).
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_reader :shared
30
+
31
+ sig { params(shared: T::Boolean).void }
32
+ attr_writer :shared
33
+
21
34
  sig do
22
35
  params(
23
36
  retrieval: Telnyx::AI::BucketIDs::OrHash,
24
- type: Telnyx::AI::RetrievalTool::Type::OrSymbol
37
+ type: Telnyx::AI::RetrievalTool::Type::OrSymbol,
38
+ shared: T::Boolean
25
39
  ).returns(T.attached_class)
26
40
  end
27
- def self.new(retrieval:, type:)
41
+ def self.new(
42
+ retrieval:,
43
+ type:,
44
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
45
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
46
+ # Read-only: set by the server, not accepted in requests. When updating an
47
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
48
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
49
+ # duplicate (rejected with error code 10015 when the type allows only one instance
50
+ # per assistant).
51
+ shared: nil
52
+ )
28
53
  end
29
54
 
30
55
  sig do
31
56
  override.returns(
32
57
  {
33
58
  retrieval: Telnyx::AI::BucketIDs,
34
- type: Telnyx::AI::RetrievalTool::Type::OrSymbol
59
+ type: Telnyx::AI::RetrievalTool::Type::OrSymbol,
60
+ shared: T::Boolean
35
61
  }
36
62
  )
37
63
  end
@@ -26,8 +26,22 @@ module Telnyx
26
26
  sig { params(disable_dtmf: T::Boolean).void }
27
27
  attr_writer :disable_dtmf
28
28
 
29
- # The noise suppression engine to use. Use 'disabled' to turn off noise
30
- # suppression.
29
+ # Destination number or SIP URI to transfer the caller to when the AI conversation
30
+ # ends abnormally, for example because of an assistant-side error, so the caller
31
+ # is not left in dead air. This only fires for abnormal ends: it does not fire
32
+ # when the conversation ends on purpose (the caller hung up, the assistant
33
+ # completed normally, the caller hung up after a relay handoff, or voicemail was
34
+ # detected), and it does not fire when the assistant already transferred or
35
+ # bridged the call.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :fallback_destination
38
+
39
+ sig { params(fallback_destination: String).void }
40
+ attr_writer :fallback_destination
41
+
42
+ # The noise suppression engine to use. 'aicoustics' is STT-optimized and
43
+ # recommended for AI assistants (configure through noise_suppression_config). Use
44
+ # 'disabled' to turn off noise suppression.
31
45
  sig do
32
46
  returns(
33
47
  T.nilable(Telnyx::AI::TelephonySettings::NoiseSuppression::OrSymbol)
@@ -43,8 +57,10 @@ module Telnyx
43
57
  end
44
58
  attr_writer :noise_suppression
45
59
 
46
- # Configuration for noise suppression. Only applicable when noise_suppression is
47
- # 'deepfilternet'.
60
+ # Configuration for noise suppression. Applicable fields depend on the engine:
61
+ # 'attenuation_limit' and 'mode' only when noise_suppression is 'deepfilternet';
62
+ # 'family', 'size' and 'enhancement_level' only when noise_suppression is
63
+ # 'aicoustics'.
48
64
  sig do
49
65
  returns(
50
66
  T.nilable(Telnyx::AI::TelephonySettings::NoiseSuppressionConfig)
@@ -149,6 +165,7 @@ module Telnyx
149
165
  params(
150
166
  default_texml_app_id: String,
151
167
  disable_dtmf: T::Boolean,
168
+ fallback_destination: String,
152
169
  noise_suppression:
153
170
  Telnyx::AI::TelephonySettings::NoiseSuppression::OrSymbol,
154
171
  noise_suppression_config:
@@ -172,11 +189,22 @@ module Telnyx
172
189
  # configured anywhere on the assistant — on the main tool array or on any workflow
173
190
  # node — enforced at write time.
174
191
  disable_dtmf: nil,
175
- # The noise suppression engine to use. Use 'disabled' to turn off noise
176
- # suppression.
192
+ # Destination number or SIP URI to transfer the caller to when the AI conversation
193
+ # ends abnormally, for example because of an assistant-side error, so the caller
194
+ # is not left in dead air. This only fires for abnormal ends: it does not fire
195
+ # when the conversation ends on purpose (the caller hung up, the assistant
196
+ # completed normally, the caller hung up after a relay handoff, or voicemail was
197
+ # detected), and it does not fire when the assistant already transferred or
198
+ # bridged the call.
199
+ fallback_destination: nil,
200
+ # The noise suppression engine to use. 'aicoustics' is STT-optimized and
201
+ # recommended for AI assistants (configure through noise_suppression_config). Use
202
+ # 'disabled' to turn off noise suppression.
177
203
  noise_suppression: nil,
178
- # Configuration for noise suppression. Only applicable when noise_suppression is
179
- # 'deepfilternet'.
204
+ # Configuration for noise suppression. Applicable fields depend on the engine:
205
+ # 'attenuation_limit' and 'mode' only when noise_suppression is 'deepfilternet';
206
+ # 'family', 'size' and 'enhancement_level' only when noise_suppression is
207
+ # 'aicoustics'.
180
208
  noise_suppression_config: nil,
181
209
  # Configuration for call recording format and channel settings.
182
210
  recording_settings: nil,
@@ -222,6 +250,7 @@ module Telnyx
222
250
  {
223
251
  default_texml_app_id: String,
224
252
  disable_dtmf: T::Boolean,
253
+ fallback_destination: String,
225
254
  noise_suppression:
226
255
  Telnyx::AI::TelephonySettings::NoiseSuppression::OrSymbol,
227
256
  noise_suppression_config:
@@ -241,8 +270,9 @@ module Telnyx
241
270
  def to_hash
242
271
  end
243
272
 
244
- # The noise suppression engine to use. Use 'disabled' to turn off noise
245
- # suppression.
273
+ # The noise suppression engine to use. 'aicoustics' is STT-optimized and
274
+ # recommended for AI assistants (configure through noise_suppression_config). Use
275
+ # 'disabled' to turn off noise suppression.
246
276
  module NoiseSuppression
247
277
  extend Telnyx::Internal::Type::Enum
248
278
 
@@ -252,6 +282,11 @@ module Telnyx
252
282
  end
253
283
  OrSymbol = T.type_alias { T.any(Symbol, String) }
254
284
 
285
+ AICOUSTICS =
286
+ T.let(
287
+ :aicoustics,
288
+ Telnyx::AI::TelephonySettings::NoiseSuppression::TaggedSymbol
289
+ )
255
290
  KRISP =
256
291
  T.let(
257
292
  :krisp,
@@ -288,14 +323,43 @@ module Telnyx
288
323
  )
289
324
  end
290
325
 
291
- # Attenuation limit for noise suppression. Range: 0-100.
326
+ # Attenuation limit for noise suppression. Range: 0-100. Only applicable when
327
+ # noise_suppression is 'deepfilternet'.
292
328
  sig { returns(T.nilable(Integer)) }
293
329
  attr_reader :attenuation_limit
294
330
 
295
331
  sig { params(attenuation_limit: Integer).void }
296
332
  attr_writer :attenuation_limit
297
333
 
298
- # Mode for noise suppression configuration.
334
+ # AiCoustics enhancement intensity. Range: 0-1. Only applicable when
335
+ # noise_suppression is 'aicoustics'.
336
+ sig { returns(T.nilable(Float)) }
337
+ attr_reader :enhancement_level
338
+
339
+ sig { params(enhancement_level: Float).void }
340
+ attr_writer :enhancement_level
341
+
342
+ # AiCoustics model family optimized for Voice AI and STT. Only applicable when
343
+ # noise_suppression is 'aicoustics'.
344
+ sig do
345
+ returns(
346
+ T.nilable(
347
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::OrSymbol
348
+ )
349
+ )
350
+ end
351
+ attr_reader :family
352
+
353
+ sig do
354
+ params(
355
+ family:
356
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::OrSymbol
357
+ ).void
358
+ end
359
+ attr_writer :family
360
+
361
+ # Mode for noise suppression configuration. Only applicable when noise_suppression
362
+ # is 'deepfilternet'.
299
363
  sig do
300
364
  returns(
301
365
  T.nilable(
@@ -313,20 +377,59 @@ module Telnyx
313
377
  end
314
378
  attr_writer :mode
315
379
 
316
- # Configuration for noise suppression. Only applicable when noise_suppression is
317
- # 'deepfilternet'.
380
+ # AiCoustics model size. 'vf' tracks the latest model release; 'vf_2_0_l' is
381
+ # pinned to version 2.0 for consistent, predictable behavior. Only applicable when
382
+ # noise_suppression is 'aicoustics'.
383
+ sig do
384
+ returns(
385
+ T.nilable(
386
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::OrSymbol
387
+ )
388
+ )
389
+ end
390
+ attr_reader :size
391
+
392
+ sig do
393
+ params(
394
+ size:
395
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::OrSymbol
396
+ ).void
397
+ end
398
+ attr_writer :size
399
+
400
+ # Configuration for noise suppression. Applicable fields depend on the engine:
401
+ # 'attenuation_limit' and 'mode' only when noise_suppression is 'deepfilternet';
402
+ # 'family', 'size' and 'enhancement_level' only when noise_suppression is
403
+ # 'aicoustics'.
318
404
  sig do
319
405
  params(
320
406
  attenuation_limit: Integer,
407
+ enhancement_level: Float,
408
+ family:
409
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::OrSymbol,
321
410
  mode:
322
- Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Mode::OrSymbol
411
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Mode::OrSymbol,
412
+ size:
413
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::OrSymbol
323
414
  ).returns(T.attached_class)
324
415
  end
325
416
  def self.new(
326
- # Attenuation limit for noise suppression. Range: 0-100.
417
+ # Attenuation limit for noise suppression. Range: 0-100. Only applicable when
418
+ # noise_suppression is 'deepfilternet'.
327
419
  attenuation_limit: nil,
328
- # Mode for noise suppression configuration.
329
- mode: nil
420
+ # AiCoustics enhancement intensity. Range: 0-1. Only applicable when
421
+ # noise_suppression is 'aicoustics'.
422
+ enhancement_level: nil,
423
+ # AiCoustics model family optimized for Voice AI and STT. Only applicable when
424
+ # noise_suppression is 'aicoustics'.
425
+ family: nil,
426
+ # Mode for noise suppression configuration. Only applicable when noise_suppression
427
+ # is 'deepfilternet'.
428
+ mode: nil,
429
+ # AiCoustics model size. 'vf' tracks the latest model release; 'vf_2_0_l' is
430
+ # pinned to version 2.0 for consistent, predictable behavior. Only applicable when
431
+ # noise_suppression is 'aicoustics'.
432
+ size: nil
330
433
  )
331
434
  end
332
435
 
@@ -334,15 +437,52 @@ module Telnyx
334
437
  override.returns(
335
438
  {
336
439
  attenuation_limit: Integer,
440
+ enhancement_level: Float,
441
+ family:
442
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::OrSymbol,
337
443
  mode:
338
- Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Mode::OrSymbol
444
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Mode::OrSymbol,
445
+ size:
446
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::OrSymbol
339
447
  }
340
448
  )
341
449
  end
342
450
  def to_hash
343
451
  end
344
452
 
345
- # Mode for noise suppression configuration.
453
+ # AiCoustics model family optimized for Voice AI and STT. Only applicable when
454
+ # noise_suppression is 'aicoustics'.
455
+ module Family
456
+ extend Telnyx::Internal::Type::Enum
457
+
458
+ TaggedSymbol =
459
+ T.type_alias do
460
+ T.all(
461
+ Symbol,
462
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family
463
+ )
464
+ end
465
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
466
+
467
+ QUAIL =
468
+ T.let(
469
+ :quail,
470
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::TaggedSymbol
471
+ )
472
+
473
+ sig do
474
+ override.returns(
475
+ T::Array[
476
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Family::TaggedSymbol
477
+ ]
478
+ )
479
+ end
480
+ def self.values
481
+ end
482
+ end
483
+
484
+ # Mode for noise suppression configuration. Only applicable when noise_suppression
485
+ # is 'deepfilternet'.
346
486
  module Mode
347
487
  extend Telnyx::Internal::Type::Enum
348
488
 
@@ -371,6 +511,43 @@ module Telnyx
371
511
  def self.values
372
512
  end
373
513
  end
514
+
515
+ # AiCoustics model size. 'vf' tracks the latest model release; 'vf_2_0_l' is
516
+ # pinned to version 2.0 for consistent, predictable behavior. Only applicable when
517
+ # noise_suppression is 'aicoustics'.
518
+ module Size
519
+ extend Telnyx::Internal::Type::Enum
520
+
521
+ TaggedSymbol =
522
+ T.type_alias do
523
+ T.all(
524
+ Symbol,
525
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size
526
+ )
527
+ end
528
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
529
+
530
+ VF =
531
+ T.let(
532
+ :vf,
533
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::TaggedSymbol
534
+ )
535
+ VF_2_0_L =
536
+ T.let(
537
+ :vf_2_0_l,
538
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::TaggedSymbol
539
+ )
540
+
541
+ sig do
542
+ override.returns(
543
+ T::Array[
544
+ Telnyx::AI::TelephonySettings::NoiseSuppressionConfig::Size::TaggedSymbol
545
+ ]
546
+ )
547
+ end
548
+ def self.values
549
+ end
550
+ end
374
551
  end
375
552
 
376
553
  class RecordingSettings < Telnyx::Internal::Type::BaseModel
@@ -51,11 +51,12 @@ module Telnyx
51
51
  tool:
52
52
  T::Array[
53
53
  T.any(
54
+ Telnyx::AI::AssistantTool::Function::OrHash,
54
55
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
55
56
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
56
57
  Telnyx::AI::RetrievalTool::OrHash,
57
58
  Telnyx::AI::AssistantTool::Handoff::OrHash,
58
- Telnyx::AI::HangupTool::OrHash,
59
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
59
60
  Telnyx::AI::AssistantTool::Transfer::OrHash,
60
61
  Telnyx::AI::AssistantTool::Invite::OrHash,
61
62
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -87,11 +88,12 @@ module Telnyx
87
88
  tool:
88
89
  T::Array[
89
90
  T.any(
91
+ Telnyx::AI::AssistantTool::Function::OrHash,
90
92
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
91
93
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
92
94
  Telnyx::AI::RetrievalTool::OrHash,
93
95
  Telnyx::AI::AssistantTool::Handoff::OrHash,
94
- Telnyx::AI::HangupTool::OrHash,
96
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
95
97
  Telnyx::AI::AssistantTool::Transfer::OrHash,
96
98
  Telnyx::AI::AssistantTool::Invite::OrHash,
97
99
  Telnyx::AI::AssistantTool::Refer::OrHash,