telnyx 5.166.0 → 5.168.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/internal/default_flat_pagination.rb +7 -3
  6. data/lib/telnyx/internal/default_flat_pagination_for_inexplicit_number_orders.rb +7 -3
  7. data/lib/telnyx/internal/default_flat_pagination_top_level_array.rb +10 -8
  8. data/lib/telnyx/internal/default_pagination_for_log_messages.rb +7 -3
  9. data/lib/telnyx/internal/default_pagination_for_messaging_tollfree.rb +12 -3
  10. data/lib/telnyx/internal/default_pagination_for_queues.rb +12 -3
  11. data/lib/telnyx/internal/per_page_pagination.rb +8 -1
  12. data/lib/telnyx/internal/per_page_pagination_v2.rb +8 -1
  13. data/lib/telnyx/internal/type/converter.rb +2 -0
  14. data/lib/telnyx/models/ai/anthropic/v1_messages_params.rb +57 -1
  15. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  16. data/lib/telnyx/models/ai/assistant_create_params.rb +16 -1
  17. data/lib/telnyx/models/ai/assistant_update_params.rb +17 -1
  18. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -1
  19. data/lib/telnyx/models/ai/chat_completion_request.rb +185 -48
  20. data/lib/telnyx/models/ai/inference_embedding.rb +16 -1
  21. data/lib/telnyx/models/ai/openai_create_response_params.rb +57 -1
  22. data/lib/telnyx/models/ai/telephony_settings.rb +15 -1
  23. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  24. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  25. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  26. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  27. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  28. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  29. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  30. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  31. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  32. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  33. data/lib/telnyx/models/credential_connection.rb +4 -1
  34. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  35. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  36. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  37. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  38. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  39. data/lib/telnyx/models/messaging_inbound_message_payload.rb +210 -67
  40. data/lib/telnyx/models/messaging_messaging_profile.rb +284 -0
  41. data/lib/telnyx/models/messaging_profile.rb +0 -1
  42. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  43. data/lib/telnyx/models/messaging_profile_create_response.rb +3 -3
  44. data/lib/telnyx/models/messaging_profile_delete_response.rb +3 -3
  45. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  46. data/lib/telnyx/models/messaging_profile_retrieve_response.rb +3 -3
  47. data/lib/telnyx/models/messaging_profile_update_params.rb +32 -1
  48. data/lib/telnyx/models/messaging_profile_update_response.rb +3 -3
  49. data/lib/telnyx/models/messaging_profiles/action_regenerate_secret_response.rb +3 -3
  50. data/lib/telnyx/models/uac_connection.rb +4 -1
  51. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  52. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  53. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  54. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  55. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  56. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  57. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  58. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  59. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  60. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  61. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  62. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  63. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  64. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  65. data/lib/telnyx/models.rb +10 -0
  66. data/lib/telnyx/resources/ai/anthropic/v1.rb +5 -1
  67. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  68. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  69. data/lib/telnyx/resources/ai/openai/chat.rb +6 -8
  70. data/lib/telnyx/resources/ai/openai.rb +5 -1
  71. data/lib/telnyx/resources/compute/funcs.rb +141 -0
  72. data/lib/telnyx/resources/compute.rb +18 -0
  73. data/lib/telnyx/resources/email_messages.rb +4 -2
  74. data/lib/telnyx/resources/messaging_profiles.rb +12 -4
  75. data/lib/telnyx/resources/webhooks.rb +2 -2
  76. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  77. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  78. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  79. data/lib/telnyx/version.rb +1 -1
  80. data/lib/telnyx.rb +24 -0
  81. data/rbi/telnyx/client.rbi +3 -0
  82. data/rbi/telnyx/models/ai/anthropic/v1_messages_params.rbi +139 -0
  83. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  84. data/rbi/telnyx/models/ai/assistant_create_params.rbi +29 -0
  85. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -0
  86. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +31 -0
  87. data/rbi/telnyx/models/ai/chat_completion_request.rbi +339 -91
  88. data/rbi/telnyx/models/ai/inference_embedding.rbi +29 -0
  89. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +136 -0
  90. data/rbi/telnyx/models/ai/telephony_settings.rbi +23 -0
  91. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  92. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  93. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  94. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  95. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  96. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  97. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  98. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  99. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  100. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  101. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  102. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  103. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  104. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  105. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  106. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  107. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +450 -193
  108. data/rbi/telnyx/models/messaging_messaging_profile.rbi +463 -0
  109. data/rbi/telnyx/models/messaging_profile.rbi +4 -6
  110. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  111. data/rbi/telnyx/models/messaging_profile_create_response.rbi +6 -4
  112. data/rbi/telnyx/models/messaging_profile_delete_response.rbi +6 -4
  113. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  114. data/rbi/telnyx/models/messaging_profile_retrieve_response.rbi +6 -4
  115. data/rbi/telnyx/models/messaging_profile_update_params.rbi +51 -0
  116. data/rbi/telnyx/models/messaging_profile_update_response.rbi +6 -4
  117. data/rbi/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbi +4 -4
  118. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  119. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  120. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  121. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  122. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  123. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  124. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  125. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  126. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  127. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  128. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  129. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  130. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  131. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  132. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  133. data/rbi/telnyx/models.rbi +10 -0
  134. data/rbi/telnyx/resources/ai/anthropic/v1.rbi +14 -0
  135. data/rbi/telnyx/resources/ai/assistants/versions.rbi +12 -0
  136. data/rbi/telnyx/resources/ai/assistants.rbi +21 -0
  137. data/rbi/telnyx/resources/ai/openai/chat.rbi +23 -13
  138. data/rbi/telnyx/resources/ai/openai.rbi +14 -0
  139. data/rbi/telnyx/resources/compute/funcs.rbi +111 -0
  140. data/rbi/telnyx/resources/compute.rbi +15 -0
  141. data/rbi/telnyx/resources/email_messages.rbi +6 -2
  142. data/rbi/telnyx/resources/messaging_profiles.rbi +24 -1
  143. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  144. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  145. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  146. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  147. data/sig/telnyx/client.rbs +2 -0
  148. data/sig/telnyx/models/ai/anthropic/v1_messages_params.rbs +42 -0
  149. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  150. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  151. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  152. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  153. data/sig/telnyx/models/ai/chat_completion_request.rbs +128 -44
  154. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  155. data/sig/telnyx/models/ai/openai_create_response_params.rbs +42 -0
  156. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  157. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  158. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  159. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  160. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  161. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  162. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  163. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  164. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  165. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  166. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  167. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  168. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  169. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +207 -95
  170. data/sig/telnyx/models/messaging_messaging_profile.rbs +212 -0
  171. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  172. data/sig/telnyx/models/messaging_profile_create_response.rbs +8 -5
  173. data/sig/telnyx/models/messaging_profile_delete_response.rbs +8 -5
  174. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  175. data/sig/telnyx/models/messaging_profile_retrieve_response.rbs +7 -5
  176. data/sig/telnyx/models/messaging_profile_update_params.rbs +19 -0
  177. data/sig/telnyx/models/messaging_profile_update_response.rbs +8 -5
  178. data/sig/telnyx/models/messaging_profiles/action_regenerate_secret_response.rbs +7 -5
  179. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  180. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  181. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  182. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  183. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  184. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  185. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  186. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  187. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  188. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  189. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  190. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  191. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  192. data/sig/telnyx/models.rbs +10 -0
  193. data/sig/telnyx/resources/ai/anthropic/v1.rbs +2 -0
  194. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  195. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  196. data/sig/telnyx/resources/ai/openai/chat.rbs +3 -4
  197. data/sig/telnyx/resources/ai/openai.rbs +2 -0
  198. data/sig/telnyx/resources/compute/funcs.rbs +41 -0
  199. data/sig/telnyx/resources/compute.rbs +9 -0
  200. data/sig/telnyx/resources/messaging_profiles.rbs +5 -1
  201. data/sig/telnyx/resources/webhooks.rbs +6 -2
  202. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  203. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  204. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  205. metadata +74 -2
data/lib/telnyx.rb CHANGED
@@ -159,6 +159,7 @@ require_relative "telnyx/models/ai/anthropic/v1_messages_params"
159
159
  require_relative "telnyx/models/ai/anthropic/v1_messages_response"
160
160
  require_relative "telnyx/models/ai/arithmetic_expression"
161
161
  require_relative "telnyx/models/ai/assistant"
162
+ require_relative "telnyx/models/ai/assistant_a2_a_agent"
162
163
  require_relative "telnyx/models/ai/assistant_chat_params"
163
164
  require_relative "telnyx/models/ai/assistant_chat_response"
164
165
  require_relative "telnyx/models/ai/assistant_clone_params"
@@ -791,6 +792,16 @@ require_relative "telnyx/models/comment_mark_as_read_params"
791
792
  require_relative "telnyx/models/comment_mark_as_read_response"
792
793
  require_relative "telnyx/models/comment_retrieve_params"
793
794
  require_relative "telnyx/models/comment_retrieve_response"
795
+ require_relative "telnyx/models/compute/func_retrieve_logs_params"
796
+ require_relative "telnyx/models/compute/func_retrieve_logs_response"
797
+ require_relative "telnyx/models/compute/func_retrieve_metric_aggregates_params"
798
+ require_relative "telnyx/models/compute/func_retrieve_metric_aggregates_response"
799
+ require_relative "telnyx/models/compute/func_retrieve_revisions_params"
800
+ require_relative "telnyx/models/compute/func_retrieve_revisions_response"
801
+ require_relative "telnyx/models/compute/func_retrieve_ship_inspection_params"
802
+ require_relative "telnyx/models/compute/func_retrieve_ship_inspection_response"
803
+ require_relative "telnyx/models/compute/functions_observability_pagination_meta"
804
+ require_relative "telnyx/models/compute/logs_meta"
794
805
  require_relative "telnyx/models/conference"
795
806
  require_relative "telnyx/models/conference_created"
796
807
  require_relative "telnyx/models/conference_created_webhook_event"
@@ -1652,6 +1663,7 @@ require_relative "telnyx/models/messaging_hosted_number_retrieve_response"
1652
1663
  require_relative "telnyx/models/messaging_hosted_number_update_params"
1653
1664
  require_relative "telnyx/models/messaging_hosted_number_update_response"
1654
1665
  require_relative "telnyx/models/messaging_inbound_message_payload"
1666
+ require_relative "telnyx/models/messaging_messaging_profile"
1655
1667
  require_relative "telnyx/models/messaging_metrics_time_frame"
1656
1668
  require_relative "telnyx/models/messaging_numbers_bulk_update_create_params"
1657
1669
  require_relative "telnyx/models/messaging_numbers_bulk_update_create_response"
@@ -1667,6 +1679,7 @@ require_relative "telnyx/models/messaging_profile_create_params"
1667
1679
  require_relative "telnyx/models/messaging_profile_create_response"
1668
1680
  require_relative "telnyx/models/messaging_profile_delete_params"
1669
1681
  require_relative "telnyx/models/messaging_profile_delete_response"
1682
+ require_relative "telnyx/models/messaging_profile_features"
1670
1683
  require_relative "telnyx/models/messaging_profile_list_alphanumeric_sender_ids_params"
1671
1684
  require_relative "telnyx/models/messaging_profile_list_params"
1672
1685
  require_relative "telnyx/models/messaging_profile_list_phone_numbers_params"
@@ -2809,6 +2822,8 @@ require_relative "telnyx/models/whatsapp/phone_number_list_response"
2809
2822
  require_relative "telnyx/models/whatsapp/phone_number_resend_verification_params"
2810
2823
  require_relative "telnyx/models/whatsapp/phone_number_retrieve_conversation_window_params"
2811
2824
  require_relative "telnyx/models/whatsapp/phone_number_retrieve_conversation_window_response"
2825
+ require_relative "telnyx/models/whatsapp/phone_number_retrieve_phone_number_params"
2826
+ require_relative "telnyx/models/whatsapp/phone_number_retrieve_phone_number_response"
2812
2827
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_retrieve_params"
2813
2828
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_retrieve_response"
2814
2829
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_update_params"
@@ -2843,11 +2858,13 @@ require_relative "telnyx/models/whatsapp/whatsapp_template_carousel_component"
2843
2858
  require_relative "telnyx/models/whatsapp/whatsapp_template_footer_component"
2844
2859
  require_relative "telnyx/models/whatsapp/whatsapp_template_header_component"
2845
2860
  require_relative "telnyx/models/whatsapp/whatsapp_user_data"
2861
+ require_relative "telnyx/models/whatsapp_account_update"
2846
2862
  require_relative "telnyx/models/whatsapp_contact"
2847
2863
  require_relative "telnyx/models/whatsapp_interactive"
2848
2864
  require_relative "telnyx/models/whatsapp_location"
2849
2865
  require_relative "telnyx/models/whatsapp_media"
2850
2866
  require_relative "telnyx/models/whatsapp_message_content"
2867
+ require_relative "telnyx/models/whatsapp_message_echo"
2851
2868
  require_relative "telnyx/models/whatsapp_message_template_delete_params"
2852
2869
  require_relative "telnyx/models/whatsapp_message_template_retrieve_params"
2853
2870
  require_relative "telnyx/models/whatsapp_message_template_retrieve_response"
@@ -2898,6 +2915,10 @@ require_relative "telnyx/models/wireless_error"
2898
2915
  require_relative "telnyx/models/wireless_retrieve_regions_params"
2899
2916
  require_relative "telnyx/models/wireless_retrieve_regions_response"
2900
2917
  require_relative "telnyx/models/wireless_wireless_blocklist"
2918
+ require_relative "telnyx/models/x402/credit_account/payment_list_params"
2919
+ require_relative "telnyx/models/x402/credit_account/payment_retrieve_params"
2920
+ require_relative "telnyx/models/x402/credit_account/payment_retrieve_response"
2921
+ require_relative "telnyx/models/x402/credit_account/x402_transaction_record"
2901
2922
  require_relative "telnyx/models/x402/credit_account_create_quote_params"
2902
2923
  require_relative "telnyx/models/x402/credit_account_create_quote_response"
2903
2924
  require_relative "telnyx/models/x402/credit_account_settle_params"
@@ -2979,6 +3000,8 @@ require_relative "telnyx/resources/channel_zones"
2979
3000
  require_relative "telnyx/resources/charges_breakdown"
2980
3001
  require_relative "telnyx/resources/charges_summary"
2981
3002
  require_relative "telnyx/resources/comments"
3003
+ require_relative "telnyx/resources/compute"
3004
+ require_relative "telnyx/resources/compute/funcs"
2982
3005
  require_relative "telnyx/resources/conferences"
2983
3006
  require_relative "telnyx/resources/conferences/actions"
2984
3007
  require_relative "telnyx/resources/connections"
@@ -3292,5 +3315,6 @@ require_relative "telnyx/resources/wireless_blocklists"
3292
3315
  require_relative "telnyx/resources/wireless_blocklist_values"
3293
3316
  require_relative "telnyx/resources/x402"
3294
3317
  require_relative "telnyx/resources/x402/credit_account"
3318
+ require_relative "telnyx/resources/x402/credit_account/payments"
3295
3319
 
3296
3320
  require_relative "telnyx/lib"
@@ -730,6 +730,9 @@ module Telnyx
730
730
  sig { returns(Telnyx::Resources::ExternalRequirements) }
731
731
  attr_reader :external_requirements
732
732
 
733
+ sig { returns(Telnyx::Resources::Compute) }
734
+ attr_reader :compute
735
+
733
736
  # @api private
734
737
  sig { override.returns(T::Hash[String, String]) }
735
738
  private def auth_headers
@@ -78,6 +78,46 @@ module Telnyx
78
78
  sig { params(metadata: T::Hash[Symbol, T.anything]).void }
79
79
  attr_writer :metadata
80
80
 
81
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
82
+ # tries that region first and falls back to another when the model cannot be
83
+ # served there, so a request that would have succeeded still succeeds. `strict`
84
+ # pins the request: it is served from that region or it fails with a 422, never
85
+ # redirected to another region. Requires `region`.
86
+ sig do
87
+ returns(
88
+ T.nilable(Telnyx::AI::Anthropic::V1MessagesParams::Mode::OrSymbol)
89
+ )
90
+ end
91
+ attr_reader :mode
92
+
93
+ sig do
94
+ params(
95
+ mode: Telnyx::AI::Anthropic::V1MessagesParams::Mode::OrSymbol
96
+ ).void
97
+ end
98
+ attr_writer :mode
99
+
100
+ # Optional data-residency region the request should be served from, using the same
101
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
102
+ # Supported for Telnyx-hosted models only: a request routed to an external
103
+ # provider never passes through Telnyx model routing, so a region cannot be
104
+ # enforced for it. Omit for today's latency-based routing.
105
+ sig do
106
+ returns(
107
+ T.nilable(
108
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::OrSymbol
109
+ )
110
+ )
111
+ end
112
+ attr_reader :region
113
+
114
+ sig do
115
+ params(
116
+ region: Telnyx::AI::Anthropic::V1MessagesParams::Region::OrSymbol
117
+ ).void
118
+ end
119
+ attr_writer :region
120
+
81
121
  # The service tier to use for this request. Supported values vary by model; use
82
122
  # the Telnyx models endpoint and inspect the model's `service_tiers` field. If
83
123
  # omitted, Telnyx-hosted models use `default`.
@@ -181,6 +221,8 @@ module Telnyx
181
221
  max_retries: Integer,
182
222
  mcp_servers: T::Array[T::Hash[Symbol, T.anything]],
183
223
  metadata: T::Hash[Symbol, T.anything],
224
+ mode: Telnyx::AI::Anthropic::V1MessagesParams::Mode::OrSymbol,
225
+ region: Telnyx::AI::Anthropic::V1MessagesParams::Region::OrSymbol,
184
226
  service_tier: String,
185
227
  stop_sequences: T::Array[String],
186
228
  stream: T::Boolean,
@@ -221,6 +263,18 @@ module Telnyx
221
263
  mcp_servers: nil,
222
264
  # An object describing metadata about the request.
223
265
  metadata: nil,
266
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
267
+ # tries that region first and falls back to another when the model cannot be
268
+ # served there, so a request that would have succeeded still succeeds. `strict`
269
+ # pins the request: it is served from that region or it fails with a 422, never
270
+ # redirected to another region. Requires `region`.
271
+ mode: nil,
272
+ # Optional data-residency region the request should be served from, using the same
273
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
274
+ # Supported for Telnyx-hosted models only: a request routed to an external
275
+ # provider never passes through Telnyx model routing, so a region cannot be
276
+ # enforced for it. Omit for today's latency-based routing.
277
+ region: nil,
224
278
  # The service tier to use for this request. Supported values vary by model; use
225
279
  # the Telnyx models endpoint and inspect the model's `service_tiers` field. If
226
280
  # omitted, Telnyx-hosted models use `default`.
@@ -264,6 +318,9 @@ module Telnyx
264
318
  max_retries: Integer,
265
319
  mcp_servers: T::Array[T::Hash[Symbol, T.anything]],
266
320
  metadata: T::Hash[Symbol, T.anything],
321
+ mode: Telnyx::AI::Anthropic::V1MessagesParams::Mode::OrSymbol,
322
+ region:
323
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::OrSymbol,
267
324
  service_tier: String,
268
325
  stop_sequences: T::Array[String],
269
326
  stream: T::Boolean,
@@ -283,6 +340,88 @@ module Telnyx
283
340
  def to_hash
284
341
  end
285
342
 
343
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
344
+ # tries that region first and falls back to another when the model cannot be
345
+ # served there, so a request that would have succeeded still succeeds. `strict`
346
+ # pins the request: it is served from that region or it fails with a 422, never
347
+ # redirected to another region. Requires `region`.
348
+ module Mode
349
+ extend Telnyx::Internal::Type::Enum
350
+
351
+ TaggedSymbol =
352
+ T.type_alias do
353
+ T.all(Symbol, Telnyx::AI::Anthropic::V1MessagesParams::Mode)
354
+ end
355
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
356
+
357
+ PREFERRED =
358
+ T.let(
359
+ :preferred,
360
+ Telnyx::AI::Anthropic::V1MessagesParams::Mode::TaggedSymbol
361
+ )
362
+ STRICT =
363
+ T.let(
364
+ :strict,
365
+ Telnyx::AI::Anthropic::V1MessagesParams::Mode::TaggedSymbol
366
+ )
367
+
368
+ sig do
369
+ override.returns(
370
+ T::Array[
371
+ Telnyx::AI::Anthropic::V1MessagesParams::Mode::TaggedSymbol
372
+ ]
373
+ )
374
+ end
375
+ def self.values
376
+ end
377
+ end
378
+
379
+ # Optional data-residency region the request should be served from, using the same
380
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
381
+ # Supported for Telnyx-hosted models only: a request routed to an external
382
+ # provider never passes through Telnyx model routing, so a region cannot be
383
+ # enforced for it. Omit for today's latency-based routing.
384
+ module Region
385
+ extend Telnyx::Internal::Type::Enum
386
+
387
+ TaggedSymbol =
388
+ T.type_alias do
389
+ T.all(Symbol, Telnyx::AI::Anthropic::V1MessagesParams::Region)
390
+ end
391
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
392
+
393
+ USA =
394
+ T.let(
395
+ :USA,
396
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::TaggedSymbol
397
+ )
398
+ EU =
399
+ T.let(
400
+ :EU,
401
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::TaggedSymbol
402
+ )
403
+ AUS =
404
+ T.let(
405
+ :AUS,
406
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::TaggedSymbol
407
+ )
408
+ UAE =
409
+ T.let(
410
+ :UAE,
411
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::TaggedSymbol
412
+ )
413
+
414
+ sig do
415
+ override.returns(
416
+ T::Array[
417
+ Telnyx::AI::Anthropic::V1MessagesParams::Region::TaggedSymbol
418
+ ]
419
+ )
420
+ end
421
+ def self.values
422
+ end
423
+ end
424
+
286
425
  # System prompt. Can be a string or an array of content blocks following the
287
426
  # Anthropic API format.
288
427
  module System
@@ -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
@@ -336,6 +354,7 @@ module Telnyx
336
354
  params(
337
355
  instructions: String,
338
356
  name: String,
357
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
339
358
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
340
359
  description: String,
341
360
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -390,6 +409,15 @@ module Telnyx
390
409
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
391
410
  instructions:,
392
411
  name:,
412
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
413
+ # start of every conversation each agent's card is fetched and one tool is derived
414
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
415
+ # limits are not enforced when the assistant is saved, and anything past them is
416
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
417
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
418
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
419
+ # capability for the conversation; it does not fail the call.
420
+ a2a_agents: nil,
393
421
  # Conversation flow as supplied by API clients (create / update).
394
422
  #
395
423
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -487,6 +515,7 @@ module Telnyx
487
515
  {
488
516
  instructions: String,
489
517
  name: String,
518
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent],
490
519
  conversation_flow: Telnyx::AI::ConversationFlowReq,
491
520
  description: String,
492
521
  dynamic_variables: T::Hash[Symbol, T.anything],