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
@@ -0,0 +1,345 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class AssistantA2AAgent < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::AssistantA2AAgent, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Identifies the agent and seeds the names of the tools derived from its card
13
+ # (`a2a_<name>_<skill_id>`). Characters outside `[A-Za-z0-9_]` are replaced with
14
+ # `_` before the tool name is built, so two agents whose names differ only in
15
+ # punctuation collide and are rejected.
16
+ sig { returns(String) }
17
+ attr_accessor :name
18
+
19
+ # The agent's base URL, or the URL of its agent card. At most 2,048 bytes once
20
+ # UTF-8 encoded. `/.well-known/agent-card.json` is appended to the path unless it
21
+ # already ends in `.json`. Must be an `http://` or `https://` URL for an
22
+ # externally reachable host: internal destinations (`localhost`, private and
23
+ # reserved IP ranges, `.local` domains) are rejected, and the hostname may not
24
+ # contain a `{{...}}` placeholder. Placeholders in the path are allowed.
25
+ sig { returns(String) }
26
+ attr_accessor :url
27
+
28
+ # When `true`, the assistant hands the turn straight back to the model and the
29
+ # agent's answer is delivered into the conversation once it arrives, instead of
30
+ # the caller waiting for it in silence.
31
+ sig { returns(T.nilable(T::Boolean)) }
32
+ attr_reader :async
33
+
34
+ sig { params(async: T::Boolean).void }
35
+ attr_writer :async
36
+
37
+ # Headers sent when fetching this agent's card and on every call made to it. Use
38
+ # them to authenticate to the agent.
39
+ sig do
40
+ returns(T.nilable(T::Array[Telnyx::AI::AssistantA2AAgent::Header]))
41
+ end
42
+ attr_reader :headers
43
+
44
+ sig do
45
+ params(
46
+ headers: T::Array[Telnyx::AI::AssistantA2AAgent::Header::OrHash]
47
+ ).void
48
+ end
49
+ attr_writer :headers
50
+
51
+ # Filler messages spoken while a call to this agent is in progress.
52
+ # `request_start` messages are spoken immediately when the call begins.
53
+ # `request_response_delayed` messages are spoken after `timing_ms` has elapsed
54
+ # only if the agent has not answered yet. Filler messages are not used when
55
+ # `async` is `true`.
56
+ sig do
57
+ returns(
58
+ T.nilable(
59
+ T::Array[
60
+ T.any(
61
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage,
62
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage
63
+ )
64
+ ]
65
+ )
66
+ )
67
+ end
68
+ attr_reader :messages
69
+
70
+ sig do
71
+ params(
72
+ messages:
73
+ T::Array[
74
+ T.any(
75
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage::OrHash,
76
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage::OrHash
77
+ )
78
+ ]
79
+ ).void
80
+ end
81
+ attr_writer :messages
82
+
83
+ # How often, in milliseconds, to poll an agent task that has not finished yet.
84
+ # Defaults to 500.
85
+ sig { returns(T.nilable(Integer)) }
86
+ attr_reader :poll_interval_ms
87
+
88
+ sig { params(poll_interval_ms: Integer).void }
89
+ attr_writer :poll_interval_ms
90
+
91
+ # Total budget, in milliseconds, for one call to this agent, including any time
92
+ # spent polling a task that is still running. Omit to inherit the assistant's tool
93
+ # timeout.
94
+ sig { returns(T.nilable(Integer)) }
95
+ attr_reader :timeout_ms
96
+
97
+ sig { params(timeout_ms: Integer).void }
98
+ attr_writer :timeout_ms
99
+
100
+ # A remote agent, reachable over the A2A (Agent2Agent) protocol, that an assistant
101
+ # can delegate to. Tools are not configured here: at the start of every
102
+ # conversation the agent's card is fetched and one tool is derived per skill the
103
+ # card advertises.
104
+ sig do
105
+ params(
106
+ name: String,
107
+ url: String,
108
+ async: T::Boolean,
109
+ headers: T::Array[Telnyx::AI::AssistantA2AAgent::Header::OrHash],
110
+ messages:
111
+ T::Array[
112
+ T.any(
113
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage::OrHash,
114
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage::OrHash
115
+ )
116
+ ],
117
+ poll_interval_ms: Integer,
118
+ timeout_ms: Integer
119
+ ).returns(T.attached_class)
120
+ end
121
+ def self.new(
122
+ # Identifies the agent and seeds the names of the tools derived from its card
123
+ # (`a2a_<name>_<skill_id>`). Characters outside `[A-Za-z0-9_]` are replaced with
124
+ # `_` before the tool name is built, so two agents whose names differ only in
125
+ # punctuation collide and are rejected.
126
+ name:,
127
+ # The agent's base URL, or the URL of its agent card. At most 2,048 bytes once
128
+ # UTF-8 encoded. `/.well-known/agent-card.json` is appended to the path unless it
129
+ # already ends in `.json`. Must be an `http://` or `https://` URL for an
130
+ # externally reachable host: internal destinations (`localhost`, private and
131
+ # reserved IP ranges, `.local` domains) are rejected, and the hostname may not
132
+ # contain a `{{...}}` placeholder. Placeholders in the path are allowed.
133
+ url:,
134
+ # When `true`, the assistant hands the turn straight back to the model and the
135
+ # agent's answer is delivered into the conversation once it arrives, instead of
136
+ # the caller waiting for it in silence.
137
+ async: nil,
138
+ # Headers sent when fetching this agent's card and on every call made to it. Use
139
+ # them to authenticate to the agent.
140
+ headers: nil,
141
+ # Filler messages spoken while a call to this agent is in progress.
142
+ # `request_start` messages are spoken immediately when the call begins.
143
+ # `request_response_delayed` messages are spoken after `timing_ms` has elapsed
144
+ # only if the agent has not answered yet. Filler messages are not used when
145
+ # `async` is `true`.
146
+ messages: nil,
147
+ # How often, in milliseconds, to poll an agent task that has not finished yet.
148
+ # Defaults to 500.
149
+ poll_interval_ms: nil,
150
+ # Total budget, in milliseconds, for one call to this agent, including any time
151
+ # spent polling a task that is still running. Omit to inherit the assistant's tool
152
+ # timeout.
153
+ timeout_ms: nil
154
+ )
155
+ end
156
+
157
+ sig do
158
+ override.returns(
159
+ {
160
+ name: String,
161
+ url: String,
162
+ async: T::Boolean,
163
+ headers: T::Array[Telnyx::AI::AssistantA2AAgent::Header],
164
+ messages:
165
+ T::Array[
166
+ T.any(
167
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage,
168
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage
169
+ )
170
+ ],
171
+ poll_interval_ms: Integer,
172
+ timeout_ms: Integer
173
+ }
174
+ )
175
+ end
176
+ def to_hash
177
+ end
178
+
179
+ class Header < Telnyx::Internal::Type::BaseModel
180
+ OrHash =
181
+ T.type_alias do
182
+ T.any(
183
+ Telnyx::AI::AssistantA2AAgent::Header,
184
+ Telnyx::Internal::AnyHash
185
+ )
186
+ end
187
+
188
+ # HTTP header name. May only contain alphanumeric characters, hyphens, and
189
+ # underscores, or a `{{dynamic_variable}}` placeholder surrounded by those
190
+ # characters.
191
+ sig { returns(String) }
192
+ attr_accessor :name
193
+
194
+ # Header value, stored exactly as written. It may be a literal, a
195
+ # `{{dynamic_variable}}`, or an
196
+ # `{{#integration_secret}}identifier{{/integration_secret}}` section that resolves
197
+ # to a stored integration secret when the conversation starts. Control characters
198
+ # are not allowed. The encrypted `{{variable | encryption_secret_ref}}` form used
199
+ # for per-caller credentials is not resolved here and is rejected when the
200
+ # assistant is saved.
201
+ sig { returns(String) }
202
+ attr_accessor :value
203
+
204
+ # A header sent when fetching an A2A agent's card and on every call made to that
205
+ # agent.
206
+ sig { params(name: String, value: String).returns(T.attached_class) }
207
+ def self.new(
208
+ # HTTP header name. May only contain alphanumeric characters, hyphens, and
209
+ # underscores, or a `{{dynamic_variable}}` placeholder surrounded by those
210
+ # characters.
211
+ name:,
212
+ # Header value, stored exactly as written. It may be a literal, a
213
+ # `{{dynamic_variable}}`, or an
214
+ # `{{#integration_secret}}identifier{{/integration_secret}}` section that resolves
215
+ # to a stored integration secret when the conversation starts. Control characters
216
+ # are not allowed. The encrypted `{{variable | encryption_secret_ref}}` form used
217
+ # for per-caller credentials is not resolved here and is rejected when the
218
+ # assistant is saved.
219
+ value:
220
+ )
221
+ end
222
+
223
+ sig { override.returns({ name: String, value: String }) }
224
+ def to_hash
225
+ end
226
+ end
227
+
228
+ module Message
229
+ extend Telnyx::Internal::Type::Union
230
+
231
+ Variants =
232
+ T.type_alias do
233
+ T.any(
234
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage,
235
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage
236
+ )
237
+ end
238
+
239
+ class A2AAgentRequestStartMessage < Telnyx::Internal::Type::BaseModel
240
+ OrHash =
241
+ T.type_alias do
242
+ T.any(
243
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage,
244
+ Telnyx::Internal::AnyHash
245
+ )
246
+ end
247
+
248
+ # The text the assistant speaks.
249
+ sig { returns(String) }
250
+ attr_accessor :content
251
+
252
+ # Speak the filler message immediately when the call to the agent begins.
253
+ sig { returns(Symbol) }
254
+ attr_accessor :type
255
+
256
+ # An optional delay value. This value is ignored for `request_start` messages.
257
+ sig { returns(T.nilable(Integer)) }
258
+ attr_reader :timing_ms
259
+
260
+ sig { params(timing_ms: Integer).void }
261
+ attr_writer :timing_ms
262
+
263
+ sig do
264
+ params(content: String, timing_ms: Integer, type: Symbol).returns(
265
+ T.attached_class
266
+ )
267
+ end
268
+ def self.new(
269
+ # The text the assistant speaks.
270
+ content:,
271
+ # An optional delay value. This value is ignored for `request_start` messages.
272
+ timing_ms: nil,
273
+ # Speak the filler message immediately when the call to the agent begins.
274
+ type: :request_start
275
+ )
276
+ end
277
+
278
+ sig do
279
+ override.returns(
280
+ { content: String, type: Symbol, timing_ms: Integer }
281
+ )
282
+ end
283
+ def to_hash
284
+ end
285
+ end
286
+
287
+ class A2AAgentRequestResponseDelayedMessage < Telnyx::Internal::Type::BaseModel
288
+ OrHash =
289
+ T.type_alias do
290
+ T.any(
291
+ Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage,
292
+ Telnyx::Internal::AnyHash
293
+ )
294
+ end
295
+
296
+ # The text the assistant speaks.
297
+ sig { returns(String) }
298
+ attr_accessor :content
299
+
300
+ # How long to wait, in milliseconds, before speaking this message.
301
+ sig { returns(Integer) }
302
+ attr_accessor :timing_ms
303
+
304
+ # Speak the filler message only if the agent has not answered yet after
305
+ # `timing_ms`.
306
+ sig { returns(Symbol) }
307
+ attr_accessor :type
308
+
309
+ sig do
310
+ params(content: String, timing_ms: Integer, type: Symbol).returns(
311
+ T.attached_class
312
+ )
313
+ end
314
+ def self.new(
315
+ # The text the assistant speaks.
316
+ content:,
317
+ # How long to wait, in milliseconds, before speaking this message.
318
+ timing_ms:,
319
+ # Speak the filler message only if the agent has not answered yet after
320
+ # `timing_ms`.
321
+ type: :request_response_delayed
322
+ )
323
+ end
324
+
325
+ sig do
326
+ override.returns(
327
+ { content: String, timing_ms: Integer, type: Symbol }
328
+ )
329
+ end
330
+ def to_hash
331
+ end
332
+ end
333
+
334
+ sig do
335
+ override.returns(
336
+ T::Array[Telnyx::AI::AssistantA2AAgent::Message::Variants]
337
+ )
338
+ end
339
+ def self.variants
340
+ end
341
+ end
342
+ end
343
+ end
344
+ end
345
+ end
@@ -20,6 +20,24 @@ module Telnyx
20
20
  sig { returns(String) }
21
21
  attr_accessor :name
22
22
 
23
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
24
+ # start of every conversation each agent's card is fetched and one tool is derived
25
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
26
+ # limits are not enforced when the assistant is saved, and anything past them is
27
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
28
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
29
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
30
+ # capability for the conversation; it does not fail the call.
31
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantA2AAgent])) }
32
+ attr_reader :a2a_agents
33
+
34
+ sig do
35
+ params(
36
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash]
37
+ ).void
38
+ end
39
+ attr_writer :a2a_agents
40
+
23
41
  # Conversation flow as supplied by API clients (create / update).
24
42
  #
25
43
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -206,10 +224,10 @@ module Telnyx
206
224
 
207
225
  # Configuration for post-conversation processing. When enabled, the assistant
208
226
  # receives one additional LLM turn after the conversation ends, allowing it to
209
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
210
- # can execute multiple parallel or sequential tools during this phase.
211
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
212
- # post-conversation. Beta feature.
227
+ # execute final tool calls such as sending a summary or updating a record via
228
+ # webhook or function tools. Integration and MCP server tools are not available
229
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
230
+ # unavailable. Beta feature.
213
231
  sig { returns(T.nilable(Telnyx::AI::PostConversationSettingsReq)) }
214
232
  attr_reader :post_conversation_settings
215
233
 
@@ -261,11 +279,12 @@ module Telnyx
261
279
  T.nilable(
262
280
  T::Array[
263
281
  T.any(
282
+ Telnyx::AI::AssistantTool::Function,
264
283
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
265
284
  Telnyx::AI::AssistantTool::ClientSideTool,
266
285
  Telnyx::AI::RetrievalTool,
267
286
  Telnyx::AI::AssistantTool::Handoff,
268
- Telnyx::AI::HangupTool,
287
+ Telnyx::AI::AssistantTool::Hangup,
269
288
  Telnyx::AI::AssistantTool::Transfer,
270
289
  Telnyx::AI::AssistantTool::Invite,
271
290
  Telnyx::AI::AssistantTool::Refer,
@@ -286,11 +305,12 @@ module Telnyx
286
305
  tools:
287
306
  T::Array[
288
307
  T.any(
308
+ Telnyx::AI::AssistantTool::Function::OrHash,
289
309
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
290
310
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
291
311
  Telnyx::AI::RetrievalTool::OrHash,
292
312
  Telnyx::AI::AssistantTool::Handoff::OrHash,
293
- Telnyx::AI::HangupTool::OrHash,
313
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
294
314
  Telnyx::AI::AssistantTool::Transfer::OrHash,
295
315
  Telnyx::AI::AssistantTool::Invite::OrHash,
296
316
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -336,6 +356,7 @@ module Telnyx
336
356
  params(
337
357
  instructions: String,
338
358
  name: String,
359
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
339
360
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
340
361
  description: String,
341
362
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -363,11 +384,12 @@ module Telnyx
363
384
  tools:
364
385
  T::Array[
365
386
  T.any(
387
+ Telnyx::AI::AssistantTool::Function::OrHash,
366
388
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
367
389
  Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
368
390
  Telnyx::AI::RetrievalTool::OrHash,
369
391
  Telnyx::AI::AssistantTool::Handoff::OrHash,
370
- Telnyx::AI::HangupTool::OrHash,
392
+ Telnyx::AI::AssistantTool::Hangup::OrHash,
371
393
  Telnyx::AI::AssistantTool::Transfer::OrHash,
372
394
  Telnyx::AI::AssistantTool::Invite::OrHash,
373
395
  Telnyx::AI::AssistantTool::Refer::OrHash,
@@ -390,6 +412,15 @@ module Telnyx
390
412
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
391
413
  instructions:,
392
414
  name:,
415
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
416
+ # start of every conversation each agent's card is fetched and one tool is derived
417
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
418
+ # limits are not enforced when the assistant is saved, and anything past them is
419
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
420
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
421
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
422
+ # capability for the conversation; it does not fail the call.
423
+ a2a_agents: nil,
393
424
  # Conversation flow as supplied by API clients (create / update).
394
425
  #
395
426
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -456,10 +487,10 @@ module Telnyx
456
487
  observability_settings: nil,
457
488
  # Configuration for post-conversation processing. When enabled, the assistant
458
489
  # receives one additional LLM turn after the conversation ends, allowing it to
459
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
460
- # can execute multiple parallel or sequential tools during this phase.
461
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
462
- # post-conversation. Beta feature.
490
+ # execute final tool calls such as sending a summary or updating a record via
491
+ # webhook or function tools. Integration and MCP server tools are not available
492
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
493
+ # unavailable. Beta feature.
463
494
  post_conversation_settings: nil,
464
495
  privacy_settings: nil,
465
496
  # Tags associated with the assistant. Tags can also be managed with the assistant
@@ -487,6 +518,7 @@ module Telnyx
487
518
  {
488
519
  instructions: String,
489
520
  name: String,
521
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent],
490
522
  conversation_flow: Telnyx::AI::ConversationFlowReq,
491
523
  description: String,
492
524
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -514,11 +546,12 @@ module Telnyx
514
546
  tools:
515
547
  T::Array[
516
548
  T.any(
549
+ Telnyx::AI::AssistantTool::Function,
517
550
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
518
551
  Telnyx::AI::AssistantTool::ClientSideTool,
519
552
  Telnyx::AI::RetrievalTool,
520
553
  Telnyx::AI::AssistantTool::Handoff,
521
- Telnyx::AI::HangupTool,
554
+ Telnyx::AI::AssistantTool::Hangup,
522
555
  Telnyx::AI::AssistantTool::Transfer,
523
556
  Telnyx::AI::AssistantTool::Invite,
524
557
  Telnyx::AI::AssistantTool::Refer,