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
@@ -15,6 +15,25 @@ module Telnyx
15
15
  sig { returns(String) }
16
16
  attr_accessor :assistant_id
17
17
 
18
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
19
+ # start of every conversation each agent's card is fetched and one tool is derived
20
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
21
+ # limits are not enforced when the assistant is saved, and anything past them is
22
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
23
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
24
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
25
+ # capability for the conversation; it does not fail the call. Omit this field to
26
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
27
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantA2AAgent])) }
28
+ attr_reader :a2a_agents
29
+
30
+ sig do
31
+ params(
32
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash]
33
+ ).void
34
+ end
35
+ attr_writer :a2a_agents
36
+
18
37
  # Conversation flow as supplied by API clients (create / update).
19
38
  #
20
39
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -215,10 +234,10 @@ module Telnyx
215
234
 
216
235
  # Configuration for post-conversation processing. When enabled, the assistant
217
236
  # receives one additional LLM turn after the conversation ends, allowing it to
218
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
219
- # can execute multiple parallel or sequential tools during this phase.
220
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
221
- # post-conversation. Beta feature.
237
+ # execute final tool calls such as sending a summary or updating a record via
238
+ # webhook or function tools. Integration and MCP server tools are not available
239
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
240
+ # unavailable. Beta feature.
222
241
  sig { returns(T.nilable(Telnyx::AI::PostConversationSettingsReq)) }
223
242
  attr_reader :post_conversation_settings
224
243
 
@@ -263,7 +282,11 @@ module Telnyx
263
282
  attr_writer :telephony_settings
264
283
 
265
284
  # IDs of shared tools to attach to the assistant. New integrations should prefer
266
- # `tool_ids` over inline `tools`.
285
+ # `tool_ids` over inline `tools`. On update, a sent `tool_ids` array fully
286
+ # replaces the assistant's attached shared tools; omit the field to leave them
287
+ # unchanged. Single-instance tool types are counted across inline `tools` and
288
+ # `tool_ids` combined, so attaching a shared tool of such a type when an instance
289
+ # already exists returns HTTP 400 with error code 10015.
267
290
  sig { returns(T.nilable(T::Array[String])) }
268
291
  attr_reader :tool_ids
269
292
 
@@ -272,17 +295,25 @@ module Telnyx
272
295
 
273
296
  # Deprecated for new integrations. Inline tool definitions available to the
274
297
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
275
- # endpoints.
298
+ # endpoints. On update, a sent `tools` array fully replaces the assistant's inline
299
+ # tools; omit the field to leave the inline tools unchanged. Each tool type except
300
+ # `function`, `webhook`, and `client_side_tool` allows at most one instance per
301
+ # assistant, counted across inline `tools` and shared `tool_ids` combined —
302
+ # sending a duplicate of such a type returns HTTP 400 with error code 10015.
303
+ # Responses merge shared tools into `tools` with `shared: true`; when updating,
304
+ # omit those tools from the `tools` array and manage them through `tool_ids`
305
+ # instead.
276
306
  sig do
277
307
  returns(
278
308
  T.nilable(
279
309
  T::Array[
280
310
  T.any(
311
+ Telnyx::AI::AssistantTool::Function,
281
312
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
282
313
  Telnyx::AI::AssistantTool::ClientSideTool,
283
314
  Telnyx::AI::RetrievalTool,
284
315
  Telnyx::AI::AssistantTool::Handoff,
285
- Telnyx::AI::HangupTool,
316
+ Telnyx::AI::AssistantTool::Hangup,
286
317
  Telnyx::AI::AssistantTool::Transfer,
287
318
  Telnyx::AI::AssistantTool::Invite,
288
319
  Telnyx::AI::AssistantTool::Refer,
@@ -303,11 +334,12 @@ module Telnyx
303
334
  tools:
304
335
  T::Array[
305
336
  T.any(
337
+ Telnyx::AI::AssistantTool::Function::OrHash,
306
338
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
307
339
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
308
340
  Telnyx::AI::RetrievalTool::OrHash,
309
341
  Telnyx::AI::AssistantTool::Handoff::OrHash,
310
- Telnyx::AI::HangupTool::OrHash,
342
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
311
343
  Telnyx::AI::AssistantTool::Transfer::OrHash,
312
344
  Telnyx::AI::AssistantTool::Invite::OrHash,
313
345
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -353,6 +385,7 @@ module Telnyx
353
385
  sig do
354
386
  params(
355
387
  assistant_id: String,
388
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
356
389
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
357
390
  description: String,
358
391
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -383,11 +416,12 @@ module Telnyx
383
416
  tools:
384
417
  T::Array[
385
418
  T.any(
419
+ Telnyx::AI::AssistantTool::Function::OrHash,
386
420
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
387
421
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
388
422
  Telnyx::AI::RetrievalTool::OrHash,
389
423
  Telnyx::AI::AssistantTool::Handoff::OrHash,
390
- Telnyx::AI::HangupTool::OrHash,
424
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
391
425
  Telnyx::AI::AssistantTool::Transfer::OrHash,
392
426
  Telnyx::AI::AssistantTool::Invite::OrHash,
393
427
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -407,6 +441,16 @@ module Telnyx
407
441
  end
408
442
  def self.new(
409
443
  assistant_id:,
444
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
445
+ # start of every conversation each agent's card is fetched and one tool is derived
446
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
447
+ # limits are not enforced when the assistant is saved, and anything past them is
448
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
449
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
450
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
451
+ # capability for the conversation; it does not fail the call. Omit this field to
452
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
453
+ a2a_agents: nil,
410
454
  # Conversation flow as supplied by API clients (create / update).
411
455
  #
412
456
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -477,10 +521,10 @@ module Telnyx
477
521
  observability_settings: nil,
478
522
  # Configuration for post-conversation processing. When enabled, the assistant
479
523
  # receives one additional LLM turn after the conversation ends, allowing it to
480
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
481
- # can execute multiple parallel or sequential tools during this phase.
482
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
483
- # post-conversation. Beta feature.
524
+ # execute final tool calls such as sending a summary or updating a record via
525
+ # webhook or function tools. Integration and MCP server tools are not available
526
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
527
+ # unavailable. Beta feature.
484
528
  post_conversation_settings: nil,
485
529
  privacy_settings: nil,
486
530
  # Indicates whether the assistant should be promoted to the main version. Defaults
@@ -491,11 +535,22 @@ module Telnyx
491
535
  tags: nil,
492
536
  telephony_settings: nil,
493
537
  # IDs of shared tools to attach to the assistant. New integrations should prefer
494
- # `tool_ids` over inline `tools`.
538
+ # `tool_ids` over inline `tools`. On update, a sent `tool_ids` array fully
539
+ # replaces the assistant's attached shared tools; omit the field to leave them
540
+ # unchanged. Single-instance tool types are counted across inline `tools` and
541
+ # `tool_ids` combined, so attaching a shared tool of such a type when an instance
542
+ # already exists returns HTTP 400 with error code 10015.
495
543
  tool_ids: nil,
496
544
  # Deprecated for new integrations. Inline tool definitions available to the
497
545
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
498
- # endpoints.
546
+ # endpoints. On update, a sent `tools` array fully replaces the assistant's inline
547
+ # tools; omit the field to leave the inline tools unchanged. Each tool type except
548
+ # `function`, `webhook`, and `client_side_tool` allows at most one instance per
549
+ # assistant, counted across inline `tools` and shared `tool_ids` combined —
550
+ # sending a duplicate of such a type returns HTTP 400 with error code 10015.
551
+ # Responses merge shared tools into `tools` with `shared: true`; when updating,
552
+ # omit those tools from the `tools` array and manage them through `tool_ids`
553
+ # instead.
499
554
  tools: nil,
500
555
  transcription: nil,
501
556
  # Human-readable name for the assistant version.
@@ -511,6 +566,7 @@ module Telnyx
511
566
  override.returns(
512
567
  {
513
568
  assistant_id: String,
569
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent],
514
570
  conversation_flow: Telnyx::AI::ConversationFlowReq,
515
571
  description: String,
516
572
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -541,11 +597,12 @@ module Telnyx
541
597
  tools:
542
598
  T::Array[
543
599
  T.any(
600
+ Telnyx::AI::AssistantTool::Function,
544
601
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
545
602
  Telnyx::AI::AssistantTool::ClientSideTool,
546
603
  Telnyx::AI::RetrievalTool,
547
604
  Telnyx::AI::AssistantTool::Handoff,
548
- Telnyx::AI::HangupTool,
605
+ Telnyx::AI::AssistantTool::Hangup,
549
606
  Telnyx::AI::AssistantTool::Transfer,
550
607
  Telnyx::AI::AssistantTool::Invite,
551
608
  Telnyx::AI::AssistantTool::Refer,
@@ -15,6 +15,25 @@ module Telnyx
15
15
  )
16
16
  end
17
17
 
18
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
19
+ # start of every conversation each agent's card is fetched and one tool is derived
20
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
21
+ # limits are not enforced when the assistant is saved, and anything past them is
22
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
23
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
24
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
25
+ # capability for the conversation; it does not fail the call. Omit this field to
26
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
27
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantA2AAgent])) }
28
+ attr_reader :a2a_agents
29
+
30
+ sig do
31
+ params(
32
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash]
33
+ ).void
34
+ end
35
+ attr_writer :a2a_agents
36
+
18
37
  # Conversation flow as supplied by API clients (create / update).
19
38
  #
20
39
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -219,10 +238,10 @@ module Telnyx
219
238
 
220
239
  # Configuration for post-conversation processing. When enabled, the assistant
221
240
  # receives one additional LLM turn after the conversation ends, allowing it to
222
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
223
- # can execute multiple parallel or sequential tools during this phase.
224
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
225
- # post-conversation. Beta feature.
241
+ # execute final tool calls such as sending a summary or updating a record via
242
+ # webhook or function tools. Integration and MCP server tools are not available
243
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
244
+ # unavailable. Beta feature.
226
245
  sig { returns(T.nilable(Telnyx::AI::PostConversationSettingsReq)) }
227
246
  attr_reader :post_conversation_settings
228
247
 
@@ -261,7 +280,11 @@ module Telnyx
261
280
  attr_writer :telephony_settings
262
281
 
263
282
  # IDs of shared tools to attach to the assistant. New integrations should prefer
264
- # `tool_ids` over inline `tools`.
283
+ # `tool_ids` over inline `tools`. On update, a sent `tool_ids` array fully
284
+ # replaces the assistant's attached shared tools; omit the field to leave them
285
+ # unchanged. Single-instance tool types are counted across inline `tools` and
286
+ # `tool_ids` combined, so attaching a shared tool of such a type when an instance
287
+ # already exists returns HTTP 400 with error code 10015.
265
288
  sig { returns(T.nilable(T::Array[String])) }
266
289
  attr_reader :tool_ids
267
290
 
@@ -270,17 +293,25 @@ module Telnyx
270
293
 
271
294
  # Deprecated for new integrations. Inline tool definitions available to the
272
295
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
273
- # endpoints.
296
+ # endpoints. On update, a sent `tools` array fully replaces the assistant's inline
297
+ # tools; omit the field to leave the inline tools unchanged. Each tool type except
298
+ # `function`, `webhook`, and `client_side_tool` allows at most one instance per
299
+ # assistant, counted across inline `tools` and shared `tool_ids` combined —
300
+ # sending a duplicate of such a type returns HTTP 400 with error code 10015.
301
+ # Responses merge shared tools into `tools` with `shared: true`; when updating,
302
+ # omit those tools from the `tools` array and manage them through `tool_ids`
303
+ # instead.
274
304
  sig do
275
305
  returns(
276
306
  T.nilable(
277
307
  T::Array[
278
308
  T.any(
309
+ Telnyx::AI::AssistantTool::Function,
279
310
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
280
311
  Telnyx::AI::AssistantTool::ClientSideTool,
281
312
  Telnyx::AI::RetrievalTool,
282
313
  Telnyx::AI::AssistantTool::Handoff,
283
- Telnyx::AI::HangupTool,
314
+ Telnyx::AI::AssistantTool::Hangup,
284
315
  Telnyx::AI::AssistantTool::Transfer,
285
316
  Telnyx::AI::AssistantTool::Invite,
286
317
  Telnyx::AI::AssistantTool::Refer,
@@ -301,11 +332,12 @@ module Telnyx
301
332
  tools:
302
333
  T::Array[
303
334
  T.any(
335
+ Telnyx::AI::AssistantTool::Function::OrHash,
304
336
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
305
337
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
306
338
  Telnyx::AI::RetrievalTool::OrHash,
307
339
  Telnyx::AI::AssistantTool::Handoff::OrHash,
308
- Telnyx::AI::HangupTool::OrHash,
340
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
309
341
  Telnyx::AI::AssistantTool::Transfer::OrHash,
310
342
  Telnyx::AI::AssistantTool::Invite::OrHash,
311
343
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -354,6 +386,7 @@ module Telnyx
354
386
 
355
387
  sig do
356
388
  params(
389
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
357
390
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
358
391
  description: String,
359
392
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -383,11 +416,12 @@ module Telnyx
383
416
  tools:
384
417
  T::Array[
385
418
  T.any(
419
+ Telnyx::AI::AssistantTool::Function::OrHash,
386
420
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
387
421
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
388
422
  Telnyx::AI::RetrievalTool::OrHash,
389
423
  Telnyx::AI::AssistantTool::Handoff::OrHash,
390
- Telnyx::AI::HangupTool::OrHash,
424
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
391
425
  Telnyx::AI::AssistantTool::Transfer::OrHash,
392
426
  Telnyx::AI::AssistantTool::Invite::OrHash,
393
427
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -405,6 +439,16 @@ module Telnyx
405
439
  ).returns(T.attached_class)
406
440
  end
407
441
  def self.new(
442
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
443
+ # start of every conversation each agent's card is fetched and one tool is derived
444
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
445
+ # limits are not enforced when the assistant is saved, and anything past them is
446
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
447
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
448
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
449
+ # capability for the conversation; it does not fail the call. Omit this field to
450
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
451
+ a2a_agents: nil,
408
452
  # Conversation flow as supplied by API clients (create / update).
409
453
  #
410
454
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -475,10 +519,10 @@ module Telnyx
475
519
  observability_settings: nil,
476
520
  # Configuration for post-conversation processing. When enabled, the assistant
477
521
  # receives one additional LLM turn after the conversation ends, allowing it to
478
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
479
- # can execute multiple parallel or sequential tools during this phase.
480
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
481
- # post-conversation. Beta feature.
522
+ # execute final tool calls such as sending a summary or updating a record via
523
+ # webhook or function tools. Integration and MCP server tools are not available
524
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
525
+ # unavailable. Beta feature.
482
526
  post_conversation_settings: nil,
483
527
  privacy_settings: nil,
484
528
  # Tags associated with the assistant. Tags can also be managed with the assistant
@@ -486,11 +530,22 @@ module Telnyx
486
530
  tags: nil,
487
531
  telephony_settings: nil,
488
532
  # IDs of shared tools to attach to the assistant. New integrations should prefer
489
- # `tool_ids` over inline `tools`.
533
+ # `tool_ids` over inline `tools`. On update, a sent `tool_ids` array fully
534
+ # replaces the assistant's attached shared tools; omit the field to leave them
535
+ # unchanged. Single-instance tool types are counted across inline `tools` and
536
+ # `tool_ids` combined, so attaching a shared tool of such a type when an instance
537
+ # already exists returns HTTP 400 with error code 10015.
490
538
  tool_ids: nil,
491
539
  # Deprecated for new integrations. Inline tool definitions available to the
492
540
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
493
- # endpoints.
541
+ # endpoints. On update, a sent `tools` array fully replaces the assistant's inline
542
+ # tools; omit the field to leave the inline tools unchanged. Each tool type except
543
+ # `function`, `webhook`, and `client_side_tool` allows at most one instance per
544
+ # assistant, counted across inline `tools` and shared `tool_ids` combined —
545
+ # sending a duplicate of such a type returns HTTP 400 with error code 10015.
546
+ # Responses merge shared tools into `tools` with `shared: true`; when updating,
547
+ # omit those tools from the `tools` array and manage them through `tool_ids`
548
+ # instead.
494
549
  tools: nil,
495
550
  transcription: nil,
496
551
  # Human-readable name for the assistant version.
@@ -504,6 +559,7 @@ module Telnyx
504
559
  sig do
505
560
  override.returns(
506
561
  {
562
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent],
507
563
  conversation_flow: Telnyx::AI::ConversationFlowReq,
508
564
  description: String,
509
565
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -534,11 +590,12 @@ module Telnyx
534
590
  tools:
535
591
  T::Array[
536
592
  T.any(
593
+ Telnyx::AI::AssistantTool::Function,
537
594
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
538
595
  Telnyx::AI::AssistantTool::ClientSideTool,
539
596
  Telnyx::AI::RetrievalTool,
540
597
  Telnyx::AI::AssistantTool::Handoff,
541
- Telnyx::AI::HangupTool,
598
+ Telnyx::AI::AssistantTool::Hangup,
542
599
  Telnyx::AI::AssistantTool::Transfer,
543
600
  Telnyx::AI::AssistantTool::Invite,
544
601
  Telnyx::AI::AssistantTool::Refer,
@@ -14,15 +14,19 @@ module Telnyx
14
14
 
15
15
  # ID of the model to use. `distil-whisper/distil-large-v2` is lower latency but
16
16
  # English-only. `openai/whisper-large-v3-turbo` is multi-lingual but slightly
17
- # higher latency. `deepgram/nova-3` supports English variants (en, en-US, en-GB,
18
- # en-AU, en-NZ, en-IN) and only accepts mp3/wav files.
17
+ # higher latency. The `deepgram/*` models only accept mp3/wav files:
18
+ # `deepgram/nova-3` covers ~49 languages plus `multi` and `deepgram/nova-2` covers
19
+ # ~33, while the `-medical` variants are tuned for clinical vocabulary and accept
20
+ # English only (`en` and its regional variants, e.g. `en-US`, `en-GB`).
21
+ # `nvidia/parakeet-v3` is multilingual with automatic language detection;
22
+ # `omi-health/omi-med-stt-v1` is a medical model, English only.
19
23
  sig { returns(Telnyx::AI::AudioTranscribeParams::Model::OrSymbol) }
20
24
  attr_accessor :model
21
25
 
22
26
  # The audio file object to transcribe, in one of these formats: flac, mp3, mp4,
23
27
  # mpeg, mpga, m4a, ogg, wav, or webm. File uploads are limited to 100 MB. Cannot
24
- # be used together with `file_url`. Note: `deepgram/nova-3` only supports mp3 and
25
- # wav formats.
28
+ # be used together with `file_url`. Note: the `deepgram/*` models only support mp3
29
+ # and wav formats.
26
30
  sig { returns(T.nilable(Telnyx::Internal::FileInput)) }
27
31
  attr_reader :file
28
32
 
@@ -31,25 +35,32 @@ module Telnyx
31
35
 
32
36
  # Link to audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a,
33
37
  # ogg, wav, or webm. Support for hosted files is limited to 100MB. Cannot be used
34
- # together with `file`. Note: `deepgram/nova-3` only supports mp3 and wav formats.
38
+ # together with `file`. Note: the `deepgram/*` models only support mp3 and wav
39
+ # formats.
35
40
  sig { returns(T.nilable(String)) }
36
41
  attr_reader :file_url
37
42
 
38
43
  sig { params(file_url: String).void }
39
44
  attr_writer :file_url
40
45
 
41
- # The language of the audio to be transcribed. For `deepgram/nova-3`, only English
42
- # variants are supported: `en`, `en-US`, `en-GB`, `en-AU`, `en-NZ`, `en-IN`. For
46
+ # The language of the audio to be transcribed. `deepgram/nova-3` supports ~49
47
+ # languages plus `multi`, and `deepgram/nova-2` supports ~33 plus `multi`; the
48
+ # `-medical` variants are English only (`en` and its regional variants, e.g.
49
+ # `en-US`, `en-GB`). Deepgram models validate on the base language and forward the
50
+ # full tag, so regional variants such as `de-CH` and `pt-BR` are accepted where
51
+ # the base language is supported; an unsupported language returns a 400. For
43
52
  # `openai/whisper-large-v3-turbo`, supports multiple languages.
44
53
  # `distil-whisper/distil-large-v2` does not support language parameter.
54
+ # `nvidia/parakeet-v3` detects the language automatically;
55
+ # `omi-health/omi-med-stt-v1` is English only.
45
56
  sig { returns(T.nilable(String)) }
46
57
  attr_reader :language
47
58
 
48
59
  sig { params(language: String).void }
49
60
  attr_writer :language
50
61
 
51
- # Additional model-specific configuration parameters. Only allowed with
52
- # `deepgram/nova-3` model. Can include Deepgram-specific options such as
62
+ # Additional model-specific configuration parameters. Only allowed with the
63
+ # `deepgram/*` models. Can include Deepgram-specific options such as
53
64
  # `smart_format`, `punctuate`, `diarize`, `utterance`, `numerals`, and `language`.
54
65
  # If `language` is provided both as a top-level parameter and in `model_config`,
55
66
  # the top-level parameter takes precedence.
@@ -115,25 +126,36 @@ module Telnyx
115
126
  def self.new(
116
127
  # ID of the model to use. `distil-whisper/distil-large-v2` is lower latency but
117
128
  # English-only. `openai/whisper-large-v3-turbo` is multi-lingual but slightly
118
- # higher latency. `deepgram/nova-3` supports English variants (en, en-US, en-GB,
119
- # en-AU, en-NZ, en-IN) and only accepts mp3/wav files.
129
+ # higher latency. The `deepgram/*` models only accept mp3/wav files:
130
+ # `deepgram/nova-3` covers ~49 languages plus `multi` and `deepgram/nova-2` covers
131
+ # ~33, while the `-medical` variants are tuned for clinical vocabulary and accept
132
+ # English only (`en` and its regional variants, e.g. `en-US`, `en-GB`).
133
+ # `nvidia/parakeet-v3` is multilingual with automatic language detection;
134
+ # `omi-health/omi-med-stt-v1` is a medical model, English only.
120
135
  model:,
121
136
  # The audio file object to transcribe, in one of these formats: flac, mp3, mp4,
122
137
  # mpeg, mpga, m4a, ogg, wav, or webm. File uploads are limited to 100 MB. Cannot
123
- # be used together with `file_url`. Note: `deepgram/nova-3` only supports mp3 and
124
- # wav formats.
138
+ # be used together with `file_url`. Note: the `deepgram/*` models only support mp3
139
+ # and wav formats.
125
140
  file: nil,
126
141
  # Link to audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a,
127
142
  # ogg, wav, or webm. Support for hosted files is limited to 100MB. Cannot be used
128
- # together with `file`. Note: `deepgram/nova-3` only supports mp3 and wav formats.
143
+ # together with `file`. Note: the `deepgram/*` models only support mp3 and wav
144
+ # formats.
129
145
  file_url: nil,
130
- # The language of the audio to be transcribed. For `deepgram/nova-3`, only English
131
- # variants are supported: `en`, `en-US`, `en-GB`, `en-AU`, `en-NZ`, `en-IN`. For
146
+ # The language of the audio to be transcribed. `deepgram/nova-3` supports ~49
147
+ # languages plus `multi`, and `deepgram/nova-2` supports ~33 plus `multi`; the
148
+ # `-medical` variants are English only (`en` and its regional variants, e.g.
149
+ # `en-US`, `en-GB`). Deepgram models validate on the base language and forward the
150
+ # full tag, so regional variants such as `de-CH` and `pt-BR` are accepted where
151
+ # the base language is supported; an unsupported language returns a 400. For
132
152
  # `openai/whisper-large-v3-turbo`, supports multiple languages.
133
153
  # `distil-whisper/distil-large-v2` does not support language parameter.
154
+ # `nvidia/parakeet-v3` detects the language automatically;
155
+ # `omi-health/omi-med-stt-v1` is English only.
134
156
  language: nil,
135
- # Additional model-specific configuration parameters. Only allowed with
136
- # `deepgram/nova-3` model. Can include Deepgram-specific options such as
157
+ # Additional model-specific configuration parameters. Only allowed with the
158
+ # `deepgram/*` models. Can include Deepgram-specific options such as
137
159
  # `smart_format`, `punctuate`, `diarize`, `utterance`, `numerals`, and `language`.
138
160
  # If `language` is provided both as a top-level parameter and in `model_config`,
139
161
  # the top-level parameter takes precedence.
@@ -170,8 +192,12 @@ module Telnyx
170
192
 
171
193
  # ID of the model to use. `distil-whisper/distil-large-v2` is lower latency but
172
194
  # English-only. `openai/whisper-large-v3-turbo` is multi-lingual but slightly
173
- # higher latency. `deepgram/nova-3` supports English variants (en, en-US, en-GB,
174
- # en-AU, en-NZ, en-IN) and only accepts mp3/wav files.
195
+ # higher latency. The `deepgram/*` models only accept mp3/wav files:
196
+ # `deepgram/nova-3` covers ~49 languages plus `multi` and `deepgram/nova-2` covers
197
+ # ~33, while the `-medical` variants are tuned for clinical vocabulary and accept
198
+ # English only (`en` and its regional variants, e.g. `en-US`, `en-GB`).
199
+ # `nvidia/parakeet-v3` is multilingual with automatic language detection;
200
+ # `omi-health/omi-med-stt-v1` is a medical model, English only.
175
201
  module Model
176
202
  extend Telnyx::Internal::Type::Enum
177
203
 
@@ -191,11 +217,36 @@ module Telnyx
191
217
  :"openai/whisper-large-v3-turbo",
192
218
  Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
193
219
  )
220
+ DEEPGRAM_NOVA_2 =
221
+ T.let(
222
+ :"deepgram/nova-2",
223
+ Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
224
+ )
225
+ DEEPGRAM_NOVA_2_MEDICAL =
226
+ T.let(
227
+ :"deepgram/nova-2-medical",
228
+ Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
229
+ )
194
230
  DEEPGRAM_NOVA_3 =
195
231
  T.let(
196
232
  :"deepgram/nova-3",
197
233
  Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
198
234
  )
235
+ DEEPGRAM_NOVA_3_MEDICAL =
236
+ T.let(
237
+ :"deepgram/nova-3-medical",
238
+ Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
239
+ )
240
+ NVIDIA_PARAKEET_V3 =
241
+ T.let(
242
+ :"nvidia/parakeet-v3",
243
+ Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
244
+ )
245
+ OMI_HEALTH_OMI_MED_STT_V1 =
246
+ T.let(
247
+ :"omi-health/omi-med-stt-v1",
248
+ Telnyx::AI::AudioTranscribeParams::Model::TaggedSymbol
249
+ )
199
250
 
200
251
  sig do
201
252
  override.returns(