telnyx 5.167.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 (167) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/models/ai/assistant_a2_a_agent.rb +195 -0
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +16 -1
  7. data/lib/telnyx/models/ai/assistant_update_params.rb +17 -1
  8. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -1
  9. data/lib/telnyx/models/ai/chat_completion_request.rb +125 -48
  10. data/lib/telnyx/models/ai/inference_embedding.rb +16 -1
  11. data/lib/telnyx/models/ai/telephony_settings.rb +15 -1
  12. data/lib/telnyx/models/compute/func_retrieve_logs_params.rb +66 -0
  13. data/lib/telnyx/models/compute/func_retrieve_logs_response.rb +161 -0
  14. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_params.rb +69 -0
  15. data/lib/telnyx/models/compute/func_retrieve_metric_aggregates_response.rb +137 -0
  16. data/lib/telnyx/models/compute/func_retrieve_revisions_params.rb +34 -0
  17. data/lib/telnyx/models/compute/func_retrieve_revisions_response.rb +101 -0
  18. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_params.rb +22 -0
  19. data/lib/telnyx/models/compute/func_retrieve_ship_inspection_response.rb +94 -0
  20. data/lib/telnyx/models/compute/functions_observability_pagination_meta.rb +35 -0
  21. data/lib/telnyx/models/compute/logs_meta.rb +23 -0
  22. data/lib/telnyx/models/credential_connection.rb +4 -1
  23. data/lib/telnyx/models/email_inboxes/email_message.rb +12 -1
  24. data/lib/telnyx/models/email_message_batch_params.rb +4 -1
  25. data/lib/telnyx/models/email_message_batch_response.rb +1 -0
  26. data/lib/telnyx/models/fqdn_connection.rb +5 -2
  27. data/lib/telnyx/models/fqdn_connections/fqdn_authentication.rb +9 -2
  28. data/lib/telnyx/models/messaging_inbound_message_payload.rb +210 -67
  29. data/lib/telnyx/models/messaging_messaging_profile.rb +11 -1
  30. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  31. data/lib/telnyx/models/messaging_profile_features.rb +26 -0
  32. data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
  33. data/lib/telnyx/models/uac_connection.rb +4 -1
  34. data/lib/telnyx/models/uac_external_settings.rb +6 -2
  35. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +5 -1
  36. data/lib/telnyx/models/unwrap_webhook_event.rb +5 -1
  37. data/lib/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rb +104 -1
  38. data/lib/telnyx/models/whatsapp/phone_number_get_response.rb +103 -1
  39. data/lib/telnyx/models/whatsapp/phone_number_list_response.rb +103 -1
  40. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rb +22 -0
  41. data/lib/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rb +207 -0
  42. data/lib/telnyx/models/whatsapp_account_update.rb +112 -0
  43. data/lib/telnyx/models/whatsapp_message_echo.rb +340 -0
  44. data/lib/telnyx/models/x402/credit_account/payment_list_params.rb +34 -0
  45. data/lib/telnyx/models/x402/credit_account/payment_retrieve_params.rb +24 -0
  46. data/lib/telnyx/models/x402/credit_account/payment_retrieve_response.rb +21 -0
  47. data/lib/telnyx/models/x402/credit_account/x402_transaction_record.rb +113 -0
  48. data/lib/telnyx/models.rb +8 -0
  49. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  50. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  51. data/lib/telnyx/resources/ai/openai/chat.rb +2 -8
  52. data/lib/telnyx/resources/compute/funcs.rb +141 -0
  53. data/lib/telnyx/resources/compute.rb +18 -0
  54. data/lib/telnyx/resources/email_messages.rb +4 -2
  55. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  56. data/lib/telnyx/resources/webhooks.rb +2 -2
  57. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +22 -0
  58. data/lib/telnyx/resources/x402/credit_account/payments.rb +71 -0
  59. data/lib/telnyx/resources/x402/credit_account.rb +8 -2
  60. data/lib/telnyx/version.rb +1 -1
  61. data/lib/telnyx.rb +23 -0
  62. data/rbi/telnyx/client.rbi +3 -0
  63. data/rbi/telnyx/models/ai/assistant_a2_a_agent.rbi +345 -0
  64. data/rbi/telnyx/models/ai/assistant_create_params.rbi +29 -0
  65. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -0
  66. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +31 -0
  67. data/rbi/telnyx/models/ai/chat_completion_request.rbi +224 -92
  68. data/rbi/telnyx/models/ai/inference_embedding.rbi +29 -0
  69. data/rbi/telnyx/models/ai/telephony_settings.rbi +23 -0
  70. data/rbi/telnyx/models/compute/func_retrieve_logs_params.rbi +130 -0
  71. data/rbi/telnyx/models/compute/func_retrieve_logs_response.rbi +410 -0
  72. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbi +102 -0
  73. data/rbi/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbi +231 -0
  74. data/rbi/telnyx/models/compute/func_retrieve_revisions_params.rbi +59 -0
  75. data/rbi/telnyx/models/compute/func_retrieve_revisions_response.rbi +213 -0
  76. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_params.rbi +40 -0
  77. data/rbi/telnyx/models/compute/func_retrieve_ship_inspection_response.rbi +252 -0
  78. data/rbi/telnyx/models/compute/functions_observability_pagination_meta.rbi +70 -0
  79. data/rbi/telnyx/models/compute/logs_meta.rbi +38 -0
  80. data/rbi/telnyx/models/credential_connection.rbi +8 -2
  81. data/rbi/telnyx/models/email_inboxes/email_message.rbi +22 -3
  82. data/rbi/telnyx/models/email_message_batch_params.rbi +6 -0
  83. data/rbi/telnyx/models/email_message_batch_response.rbi +5 -0
  84. data/rbi/telnyx/models/fqdn_connection.rbi +8 -2
  85. data/rbi/telnyx/models/fqdn_connections/fqdn_authentication.rbi +8 -2
  86. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +450 -193
  87. data/rbi/telnyx/models/messaging_messaging_profile.rbi +19 -0
  88. data/rbi/telnyx/models/messaging_profile_create_params.rbi +19 -0
  89. data/rbi/telnyx/models/messaging_profile_features.rbi +43 -0
  90. data/rbi/telnyx/models/messaging_profile_update_params.rbi +19 -0
  91. data/rbi/telnyx/models/uac_connection.rbi +8 -2
  92. data/rbi/telnyx/models/uac_external_settings.rbi +10 -2
  93. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +3 -1
  94. data/rbi/telnyx/models/unwrap_webhook_event.rbi +3 -1
  95. data/rbi/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbi +213 -0
  96. data/rbi/telnyx/models/whatsapp/phone_number_get_response.rbi +213 -0
  97. data/rbi/telnyx/models/whatsapp/phone_number_list_response.rbi +213 -0
  98. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbi +40 -0
  99. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbi +401 -0
  100. data/rbi/telnyx/models/whatsapp_account_update.rbi +236 -0
  101. data/rbi/telnyx/models/whatsapp_message_echo.rbi +611 -0
  102. data/rbi/telnyx/models/x402/credit_account/payment_list_params.rbi +64 -0
  103. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_params.rbi +42 -0
  104. data/rbi/telnyx/models/x402/credit_account/payment_retrieve_response.rbi +53 -0
  105. data/rbi/telnyx/models/x402/credit_account/x402_transaction_record.rbi +219 -0
  106. data/rbi/telnyx/models.rbi +8 -0
  107. data/rbi/telnyx/resources/ai/assistants/versions.rbi +12 -0
  108. data/rbi/telnyx/resources/ai/assistants.rbi +21 -0
  109. data/rbi/telnyx/resources/ai/openai/chat.rbi +9 -13
  110. data/rbi/telnyx/resources/compute/funcs.rbi +111 -0
  111. data/rbi/telnyx/resources/compute.rbi +15 -0
  112. data/rbi/telnyx/resources/email_messages.rbi +6 -2
  113. data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
  114. data/rbi/telnyx/resources/webhooks.rbi +6 -2
  115. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +18 -0
  116. data/rbi/telnyx/resources/x402/credit_account/payments.rbi +60 -0
  117. data/rbi/telnyx/resources/x402/credit_account.rbi +5 -0
  118. data/sig/telnyx/client.rbs +2 -0
  119. data/sig/telnyx/models/ai/assistant_a2_a_agent.rbs +140 -0
  120. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  121. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  122. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  123. data/sig/telnyx/models/ai/chat_completion_request.rbs +86 -44
  124. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  125. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  126. data/sig/telnyx/models/compute/func_retrieve_logs_params.rbs +69 -0
  127. data/sig/telnyx/models/compute/func_retrieve_logs_response.rbs +210 -0
  128. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_params.rbs +66 -0
  129. data/sig/telnyx/models/compute/func_retrieve_metric_aggregates_response.rbs +149 -0
  130. data/sig/telnyx/models/compute/func_retrieve_revisions_params.rbs +38 -0
  131. data/sig/telnyx/models/compute/func_retrieve_revisions_response.rbs +131 -0
  132. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_params.rbs +22 -0
  133. data/sig/telnyx/models/compute/func_retrieve_ship_inspection_response.rbs +117 -0
  134. data/sig/telnyx/models/compute/functions_observability_pagination_meta.rbs +45 -0
  135. data/sig/telnyx/models/compute/logs_meta.rbs +21 -0
  136. data/sig/telnyx/models/email_inboxes/email_message.rbs +12 -3
  137. data/sig/telnyx/models/email_message_batch_response.rbs +2 -0
  138. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +207 -95
  139. data/sig/telnyx/models/messaging_messaging_profile.rbs +5 -0
  140. data/sig/telnyx/models/messaging_profile_create_params.rbs +5 -0
  141. data/sig/telnyx/models/messaging_profile_features.rbs +15 -0
  142. data/sig/telnyx/models/messaging_profile_update_params.rbs +5 -0
  143. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +2 -0
  144. data/sig/telnyx/models/unwrap_webhook_event.rbs +2 -0
  145. data/sig/telnyx/models/whatsapp/business_accounts/phone_number_list_response.rbs +90 -0
  146. data/sig/telnyx/models/whatsapp/phone_number_get_response.rbs +90 -0
  147. data/sig/telnyx/models/whatsapp/phone_number_list_response.rbs +90 -0
  148. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_params.rbs +25 -0
  149. data/sig/telnyx/models/whatsapp/phone_number_retrieve_phone_number_response.rbs +201 -0
  150. data/sig/telnyx/models/whatsapp_account_update.rbs +107 -0
  151. data/sig/telnyx/models/whatsapp_message_echo.rbs +291 -0
  152. data/sig/telnyx/models/x402/credit_account/payment_list_params.rbs +36 -0
  153. data/sig/telnyx/models/x402/credit_account/payment_retrieve_params.rbs +27 -0
  154. data/sig/telnyx/models/x402/credit_account/payment_retrieve_response.rbs +26 -0
  155. data/sig/telnyx/models/x402/credit_account/x402_transaction_record.rbs +104 -0
  156. data/sig/telnyx/models.rbs +8 -0
  157. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  158. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  159. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -4
  160. data/sig/telnyx/resources/compute/funcs.rbs +41 -0
  161. data/sig/telnyx/resources/compute.rbs +9 -0
  162. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  163. data/sig/telnyx/resources/webhooks.rbs +6 -2
  164. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +5 -0
  165. data/sig/telnyx/resources/x402/credit_account/payments.rbs +22 -0
  166. data/sig/telnyx/resources/x402/credit_account.rbs +2 -0
  167. metadata +71 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f5a7b6ace13da0db2916ffb24b660a9962dfad65f5eb3819e213c8c597f209c
4
- data.tar.gz: 644d79c57acf38c80b5999ae6dcf8f0af37f2388eb9dda400a46e278f55eb086
3
+ metadata.gz: 360829c3c2b34713bbae9a6a999389a66e6a7cd09004ba4a44c873472b407fe0
4
+ data.tar.gz: 6d3229995295c12147c3ebd8f8beb46d88fc855ab41098c89861316721ce1687
5
5
  SHA512:
6
- metadata.gz: 8a68107acbe2ef210dd4c0805cb2942bf97b013779702c580caa0f09b5a39a571f723c83510ce42f8bc33fb22ab3b693a80076e7337554160c3183684ecbc642
7
- data.tar.gz: 404495a79c4f5362bc70cd9377c5f1eb1580b5315612580c1251ffb8ff2e974111840d1134c9311bb39810e62bb66d6fd8ddfd7bf65d8a22906bbdf0c817946a
6
+ metadata.gz: 2c20e1e1b3c3c5776bf3c54b0d55eb4a37c26f2cb8bcb10a752fb2608f9c4ddad1c70bafbbc7364effec7693985dae05b44952e321226c66bacedd448ee7ccfe
7
+ data.tar.gz: 8812060e1369748da186af9db57e077df3eee3e04c9cc076f158ebe405e98a8442991a5ac2219d4a42687deed6ed110c5d4ff2e49657ba8606a6d9b5fc113565
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.168.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.167.0...v5.168.0) (2026-09-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * promote from staging f4ba656 ([ddd49d8](https://github.com/team-telnyx/telnyx-ruby/commit/ddd49d86929e68d0193fae2edf51e202d5222674))
9
+
3
10
  ## [5.167.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.166.0...v5.167.0) (2026-09-07)
4
11
 
5
12
 
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.167.0"
27
+ gem "telnyx", "~> 5.168.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
data/lib/telnyx/client.rb CHANGED
@@ -735,6 +735,9 @@ module Telnyx
735
735
  # @return [Telnyx::Resources::ExternalRequirements]
736
736
  attr_reader :external_requirements
737
737
 
738
+ # @return [Telnyx::Resources::Compute]
739
+ attr_reader :compute
740
+
738
741
  # @api private
739
742
  #
740
743
  # @return [Hash{String=>String}]
@@ -1026,6 +1029,7 @@ module Telnyx
1026
1029
  @web_search = Telnyx::Resources::WebSearch.new(client: self)
1027
1030
  @meeting_sessions = Telnyx::Resources::MeetingSessions.new(client: self)
1028
1031
  @external_requirements = Telnyx::Resources::ExternalRequirements.new(client: self)
1032
+ @compute = Telnyx::Resources::Compute.new(client: self)
1029
1033
  end
1030
1034
  end
1031
1035
  end
@@ -0,0 +1,195 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class AssistantA2AAgent < Telnyx::Internal::Type::BaseModel
7
+ # @!attribute name
8
+ # Identifies the agent and seeds the names of the tools derived from its card
9
+ # (`a2a_<name>_<skill_id>`). Characters outside `[A-Za-z0-9_]` are replaced with
10
+ # `_` before the tool name is built, so two agents whose names differ only in
11
+ # punctuation collide and are rejected.
12
+ #
13
+ # @return [String]
14
+ required :name, String
15
+
16
+ # @!attribute url
17
+ # The agent's base URL, or the URL of its agent card. At most 2,048 bytes once
18
+ # UTF-8 encoded. `/.well-known/agent-card.json` is appended to the path unless it
19
+ # already ends in `.json`. Must be an `http://` or `https://` URL for an
20
+ # externally reachable host: internal destinations (`localhost`, private and
21
+ # reserved IP ranges, `.local` domains) are rejected, and the hostname may not
22
+ # contain a `{{...}}` placeholder. Placeholders in the path are allowed.
23
+ #
24
+ # @return [String]
25
+ required :url, String
26
+
27
+ # @!attribute async
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
+ #
32
+ # @return [Boolean, nil]
33
+ optional :async, Telnyx::Internal::Type::Boolean
34
+
35
+ # @!attribute headers
36
+ # Headers sent when fetching this agent's card and on every call made to it. Use
37
+ # them to authenticate to the agent.
38
+ #
39
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent::Header>, nil]
40
+ optional :headers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantA2AAgent::Header] }
41
+
42
+ # @!attribute messages
43
+ # Filler messages spoken while a call to this agent is in progress.
44
+ # `request_start` messages are spoken immediately when the call begins.
45
+ # `request_response_delayed` messages are spoken after `timing_ms` has elapsed
46
+ # only if the agent has not answered yet. Filler messages are not used when
47
+ # `async` is `true`.
48
+ #
49
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage, Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage>, nil]
50
+ optional :messages, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantA2AAgent::Message] }
51
+
52
+ # @!attribute poll_interval_ms
53
+ # How often, in milliseconds, to poll an agent task that has not finished yet.
54
+ # Defaults to 500.
55
+ #
56
+ # @return [Integer, nil]
57
+ optional :poll_interval_ms, Integer
58
+
59
+ # @!attribute timeout_ms
60
+ # Total budget, in milliseconds, for one call to this agent, including any time
61
+ # spent polling a task that is still running. Omit to inherit the assistant's tool
62
+ # timeout.
63
+ #
64
+ # @return [Integer, nil]
65
+ optional :timeout_ms, Integer
66
+
67
+ # @!method initialize(name:, url:, async: nil, headers: nil, messages: nil, poll_interval_ms: nil, timeout_ms: nil)
68
+ # Some parameter documentations has been truncated, see
69
+ # {Telnyx::Models::AI::AssistantA2AAgent} for more details.
70
+ #
71
+ # A remote agent, reachable over the A2A (Agent2Agent) protocol, that an assistant
72
+ # can delegate to. Tools are not configured here: at the start of every
73
+ # conversation the agent's card is fetched and one tool is derived per skill the
74
+ # card advertises.
75
+ #
76
+ # @param name [String] Identifies the agent and seeds the names of the tools derived from its card (`a2
77
+ #
78
+ # @param url [String] The agent's base URL, or the URL of its agent card. At most 2,048 bytes once UTF
79
+ #
80
+ # @param async [Boolean] When `true`, the assistant hands the turn straight back to the model and the age
81
+ #
82
+ # @param headers [Array<Telnyx::Models::AI::AssistantA2AAgent::Header>] Headers sent when fetching this agent's card and on every call made to it. Use t
83
+ #
84
+ # @param messages [Array<Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage, Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage>] Filler messages spoken while a call to this agent is in progress. `request_start
85
+ #
86
+ # @param poll_interval_ms [Integer] How often, in milliseconds, to poll an agent task that has not finished yet. Def
87
+ #
88
+ # @param timeout_ms [Integer] Total budget, in milliseconds, for one call to this agent, including any time sp
89
+
90
+ class Header < Telnyx::Internal::Type::BaseModel
91
+ # @!attribute name
92
+ # HTTP header name. May only contain alphanumeric characters, hyphens, and
93
+ # underscores, or a `{{dynamic_variable}}` placeholder surrounded by those
94
+ # characters.
95
+ #
96
+ # @return [String]
97
+ required :name, String
98
+
99
+ # @!attribute value
100
+ # Header value, stored exactly as written. It may be a literal, a
101
+ # `{{dynamic_variable}}`, or an
102
+ # `{{#integration_secret}}identifier{{/integration_secret}}` section that resolves
103
+ # to a stored integration secret when the conversation starts. Control characters
104
+ # are not allowed. The encrypted `{{variable | encryption_secret_ref}}` form used
105
+ # for per-caller credentials is not resolved here and is rejected when the
106
+ # assistant is saved.
107
+ #
108
+ # @return [String]
109
+ required :value, String
110
+
111
+ # @!method initialize(name:, value:)
112
+ # Some parameter documentations has been truncated, see
113
+ # {Telnyx::Models::AI::AssistantA2AAgent::Header} for more details.
114
+ #
115
+ # A header sent when fetching an A2A agent's card and on every call made to that
116
+ # agent.
117
+ #
118
+ # @param name [String] HTTP header name. May only contain alphanumeric characters, hyphens, and undersc
119
+ #
120
+ # @param value [String] Header value, stored exactly as written. It may be a literal, a `{{dynamic_varia
121
+ end
122
+
123
+ module Message
124
+ extend Telnyx::Internal::Type::Union
125
+
126
+ variant -> { Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage }
127
+
128
+ variant -> { Telnyx::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage }
129
+
130
+ class A2AAgentRequestStartMessage < Telnyx::Internal::Type::BaseModel
131
+ # @!attribute content
132
+ # The text the assistant speaks.
133
+ #
134
+ # @return [String]
135
+ required :content, String
136
+
137
+ # @!attribute type
138
+ # Speak the filler message immediately when the call to the agent begins.
139
+ #
140
+ # @return [Symbol, :request_start]
141
+ required :type, const: :request_start
142
+
143
+ # @!attribute timing_ms
144
+ # An optional delay value. This value is ignored for `request_start` messages.
145
+ #
146
+ # @return [Integer, nil]
147
+ optional :timing_ms, Integer
148
+
149
+ # @!method initialize(content:, timing_ms: nil, type: :request_start)
150
+ # @param content [String] The text the assistant speaks.
151
+ #
152
+ # @param timing_ms [Integer] An optional delay value. This value is ignored for `request_start` messages.
153
+ #
154
+ # @param type [Symbol, :request_start] Speak the filler message immediately when the call to the agent begins.
155
+ end
156
+
157
+ class A2AAgentRequestResponseDelayedMessage < Telnyx::Internal::Type::BaseModel
158
+ # @!attribute content
159
+ # The text the assistant speaks.
160
+ #
161
+ # @return [String]
162
+ required :content, String
163
+
164
+ # @!attribute timing_ms
165
+ # How long to wait, in milliseconds, before speaking this message.
166
+ #
167
+ # @return [Integer]
168
+ required :timing_ms, Integer
169
+
170
+ # @!attribute type
171
+ # Speak the filler message only if the agent has not answered yet after
172
+ # `timing_ms`.
173
+ #
174
+ # @return [Symbol, :request_response_delayed]
175
+ required :type, const: :request_response_delayed
176
+
177
+ # @!method initialize(content:, timing_ms:, type: :request_response_delayed)
178
+ # Some parameter documentations has been truncated, see
179
+ # {Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage}
180
+ # for more details.
181
+ #
182
+ # @param content [String] The text the assistant speaks.
183
+ #
184
+ # @param timing_ms [Integer] How long to wait, in milliseconds, before speaking this message.
185
+ #
186
+ # @param type [Symbol, :request_response_delayed] Speak the filler message only if the agent has not answered yet after `timing_ms
187
+ end
188
+
189
+ # @!method self.variants
190
+ # @return [Array(Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestStartMessage, Telnyx::Models::AI::AssistantA2AAgent::Message::A2AAgentRequestResponseDelayedMessage)]
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end
@@ -20,6 +20,19 @@ module Telnyx
20
20
  # @return [String]
21
21
  required :name, String
22
22
 
23
+ # @!attribute a2a_agents
24
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
25
+ # start of every conversation each agent's card is fetched and one tool is derived
26
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
27
+ # limits are not enforced when the assistant is saved, and anything past them is
28
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
29
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
30
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
31
+ # capability for the conversation; it does not fail the call.
32
+ #
33
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent>, nil]
34
+ optional :a2a_agents, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantA2AAgent] }
35
+
23
36
  # @!attribute conversation_flow
24
37
  # Conversation flow as supplied by API clients (create / update).
25
38
  #
@@ -216,7 +229,7 @@ module Telnyx
216
229
  # @return [String, nil]
217
230
  optional :idempotency_key, String
218
231
 
219
- # @!method initialize(instructions:, name:, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, idempotency_key: nil, request_options: {})
232
+ # @!method initialize(instructions:, name:, a2a_agents: nil, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, idempotency_key: nil, request_options: {})
220
233
  # Some parameter documentations has been truncated, see
221
234
  # {Telnyx::Models::AI::AssistantCreateParams} for more details.
222
235
  #
@@ -224,6 +237,8 @@ module Telnyx
224
237
  #
225
238
  # @param name [String]
226
239
  #
240
+ # @param a2a_agents [Array<Telnyx::Models::AI::AssistantA2AAgent>] A2A agents this assistant can delegate to. Tools are not stored here: at the sta
241
+ #
227
242
  # @param conversation_flow [Telnyx::Models::AI::ConversationFlowReq] Conversation flow as supplied by API clients (create / update).
228
243
  #
229
244
  # @param description [String]
@@ -13,6 +13,20 @@ module Telnyx
13
13
  # @return [String]
14
14
  required :assistant_id, String
15
15
 
16
+ # @!attribute a2a_agents
17
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
18
+ # start of every conversation each agent's card is fetched and one tool is derived
19
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
20
+ # limits are not enforced when the assistant is saved, and anything past them is
21
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
22
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
23
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
24
+ # capability for the conversation; it does not fail the call. Omit this field to
25
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
26
+ #
27
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent>, nil]
28
+ optional :a2a_agents, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantA2AAgent] }
29
+
16
30
  # @!attribute conversation_flow
17
31
  # Conversation flow as supplied by API clients (create / update).
18
32
  #
@@ -229,12 +243,14 @@ module Telnyx
229
243
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
230
244
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
231
245
 
232
- # @!method initialize(assistant_id:, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, promote_to_main: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil, request_options: {})
246
+ # @!method initialize(assistant_id:, a2a_agents: nil, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, promote_to_main: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil, request_options: {})
233
247
  # Some parameter documentations has been truncated, see
234
248
  # {Telnyx::Models::AI::AssistantUpdateParams} for more details.
235
249
  #
236
250
  # @param assistant_id [String]
237
251
  #
252
+ # @param a2a_agents [Array<Telnyx::Models::AI::AssistantA2AAgent>] A2A agents this assistant can delegate to. Tools are not stored here: at the sta
253
+ #
238
254
  # @param conversation_flow [Telnyx::Models::AI::ConversationFlowReq] Conversation flow as supplied by API clients (create / update).
239
255
  #
240
256
  # @param description [String]
@@ -5,6 +5,20 @@ module Telnyx
5
5
  module AI
6
6
  module Assistants
7
7
  class UpdateAssistant < Telnyx::Internal::Type::BaseModel
8
+ # @!attribute a2a_agents
9
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
10
+ # start of every conversation each agent's card is fetched and one tool is derived
11
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
12
+ # limits are not enforced when the assistant is saved, and anything past them is
13
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
14
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
15
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
16
+ # capability for the conversation; it does not fail the call. Omit this field to
17
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
18
+ #
19
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent>, nil]
20
+ optional :a2a_agents, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantA2AAgent] }
21
+
8
22
  # @!attribute conversation_flow
9
23
  # Conversation flow as supplied by API clients (create / update).
10
24
  #
@@ -214,10 +228,12 @@ module Telnyx
214
228
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
215
229
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
216
230
 
217
- # @!method initialize(conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil)
231
+ # @!method initialize(a2a_agents: nil, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, insight_settings: nil, instructions: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, model: nil, name: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, tags: nil, telephony_settings: nil, tool_ids: nil, tools: nil, transcription: nil, version_name: nil, voice_settings: nil, widget_settings: nil)
218
232
  # Some parameter documentations has been truncated, see
219
233
  # {Telnyx::Models::AI::Assistants::UpdateAssistant} for more details.
220
234
  #
235
+ # @param a2a_agents [Array<Telnyx::Models::AI::AssistantA2AAgent>] A2A agents this assistant can delegate to. Tools are not stored here: at the sta
236
+ #
221
237
  # @param conversation_flow [Telnyx::Models::AI::ConversationFlowReq] Conversation flow as supplied by API clients (create / update).
222
238
  #
223
239
  # @param description [String]
@@ -48,25 +48,6 @@ module Telnyx
48
48
  # @return [Float, nil]
49
49
  optional :frequency_penalty, Float
50
50
 
51
- # @!attribute guided_choice
52
- # If specified, the output will be exactly one of the choices.
53
- #
54
- # @return [Array<String>, nil]
55
- optional :guided_choice, Telnyx::Internal::Type::ArrayOf[String]
56
-
57
- # @!attribute guided_json
58
- # Must be a valid JSON schema. If specified, the output will follow the JSON
59
- # schema.
60
- #
61
- # @return [Hash{Symbol=>Object}, nil]
62
- optional :guided_json, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
63
-
64
- # @!attribute guided_regex
65
- # If specified, the output will follow the regex pattern.
66
- #
67
- # @return [String, nil]
68
- optional :guided_regex, String
69
-
70
51
  # @!attribute length_penalty
71
52
  # This is used with `use_beam_search` to prefer shorter or longer completions.
72
53
  #
@@ -144,11 +125,13 @@ module Telnyx
144
125
  optional :region, enum: -> { Telnyx::AI::ChatCompletionRequest::Region }
145
126
 
146
127
  # @!attribute response_format
147
- # Use this is you want to guarantee a JSON output without defining a schema. For
148
- # control over the schema, use `guided_json`.
128
+ # Controls the format of the model output. `json_object` guarantees valid JSON
129
+ # output without defining a schema; `json_schema` constrains the output to the
130
+ # JSON schema you supply via the `json_schema` property and is the supported way
131
+ # to get guaranteed structured output on Telnyx-hosted models.
149
132
  #
150
- # @return [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat, nil]
151
- optional :response_format, -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat }
133
+ # @return [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatText, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonObject, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam, nil]
134
+ optional :response_format, union: -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat }
152
135
 
153
136
  # @!attribute seed
154
137
  # If specified, the system will make a best effort to sample deterministically,
@@ -225,7 +208,7 @@ module Telnyx
225
208
  # @return [Boolean, nil]
226
209
  optional :use_beam_search, Telnyx::Internal::Type::Boolean
227
210
 
228
- # @!method initialize(messages:, api_key_ref: nil, best_of: nil, early_stopping: nil, enable_thinking: nil, frequency_penalty: nil, guided_choice: nil, guided_json: nil, guided_regex: nil, length_penalty: nil, logprobs: nil, max_tokens: nil, min_p: nil, mode: nil, model: nil, n: nil, presence_penalty: nil, reasoning_effort: nil, region: nil, response_format: nil, seed: nil, service_tier: nil, stop: nil, stream: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, use_beam_search: nil)
211
+ # @!method initialize(messages:, api_key_ref: nil, best_of: nil, early_stopping: nil, enable_thinking: nil, frequency_penalty: nil, length_penalty: nil, logprobs: nil, max_tokens: nil, min_p: nil, mode: nil, model: nil, n: nil, presence_penalty: nil, reasoning_effort: nil, region: nil, response_format: nil, seed: nil, service_tier: nil, stop: nil, stream: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, use_beam_search: nil)
229
212
  # Some parameter documentations has been truncated, see
230
213
  # {Telnyx::Models::AI::ChatCompletionRequest} for more details.
231
214
  #
@@ -241,12 +224,6 @@ module Telnyx
241
224
  #
242
225
  # @param frequency_penalty [Float] Higher values will penalize the model from repeating the same output tokens.
243
226
  #
244
- # @param guided_choice [Array<String>] If specified, the output will be exactly one of the choices.
245
- #
246
- # @param guided_json [Hash{Symbol=>Object}] Must be a valid JSON schema. If specified, the output will follow the JSON schem
247
- #
248
- # @param guided_regex [String] If specified, the output will follow the regex pattern.
249
- #
250
227
  # @param length_penalty [Float] This is used with `use_beam_search` to prefer shorter or longer completions.
251
228
  #
252
229
  # @param logprobs [Boolean] Whether to return log probabilities of the output tokens or not. If true, return
@@ -267,7 +244,7 @@ module Telnyx
267
244
  #
268
245
  # @param region [Symbol, Telnyx::Models::AI::ChatCompletionRequest::Region] Optional data-residency region the request should be served from, using the same
269
246
  #
270
- # @param response_format [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat] Use this is you want to guarantee a JSON output without defining a schema. For c
247
+ # @param response_format [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatText, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonObject, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam] Controls the format of the model output. `json_object` guarantees valid JSON out
271
248
  #
272
249
  # @param seed [Integer] If specified, the system will make a best effort to sample deterministically, su
273
250
  #
@@ -427,29 +404,129 @@ module Telnyx
427
404
  # @return [Array<Symbol>]
428
405
  end
429
406
 
407
+ # Controls the format of the model output. `json_object` guarantees valid JSON
408
+ # output without defining a schema; `json_schema` constrains the output to the
409
+ # JSON schema you supply via the `json_schema` property and is the supported way
410
+ # to get guaranteed structured output on Telnyx-hosted models.
411
+ #
430
412
  # @see Telnyx::Models::AI::ChatCompletionRequest#response_format
431
- class ResponseFormat < Telnyx::Internal::Type::BaseModel
432
- # @!attribute type
433
- #
434
- # @return [Symbol, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::Type]
435
- required :type, enum: -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat::Type }
413
+ module ResponseFormat
414
+ extend Telnyx::Internal::Type::Union
436
415
 
437
- # @!method initialize(type:)
438
- # Use this is you want to guarantee a JSON output without defining a schema. For
439
- # control over the schema, use `guided_json`.
440
- #
441
- # @param type [Symbol, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::Type]
416
+ # Plain text output.
417
+ variant -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatText }
442
418
 
443
- # @see Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat#type
444
- module Type
445
- extend Telnyx::Internal::Type::Enum
419
+ # JSON mode: the model output is valid JSON, without a schema.
420
+ variant -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonObject }
446
421
 
447
- TEXT = :text
448
- JSON_OBJECT = :json_object
422
+ # Structured output: the model output is constrained to the JSON schema supplied in `json_schema`.
423
+ variant -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam }
449
424
 
450
- # @!method self.values
451
- # @return [Array<Symbol>]
425
+ class ResponseFormatText < Telnyx::Internal::Type::BaseModel
426
+ # @!attribute type
427
+ #
428
+ # @return [Symbol, :text]
429
+ required :type, const: :text
430
+
431
+ # @!method initialize(type: :text)
432
+ # Plain text output.
433
+ #
434
+ # @param type [Symbol, :text]
452
435
  end
436
+
437
+ class ResponseFormatJsonObject < Telnyx::Internal::Type::BaseModel
438
+ # @!attribute type
439
+ #
440
+ # @return [Symbol, :json_object]
441
+ required :type, const: :json_object
442
+
443
+ # @!method initialize(type: :json_object)
444
+ # JSON mode: the model output is valid JSON, without a schema.
445
+ #
446
+ # @param type [Symbol, :json_object]
447
+ end
448
+
449
+ class ResponseFormatJsonSchemaParam < Telnyx::Internal::Type::BaseModel
450
+ # @!attribute json_schema
451
+ # The JSON schema configuration, required when `type` is `json_schema`. Matches
452
+ # the
453
+ # [OpenAI structured outputs](https://platform.openai.com/docs/guides/structured-outputs)
454
+ # `json_schema` response format.
455
+ #
456
+ # @return [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam::JsonSchema]
457
+ required :json_schema,
458
+ -> { Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam::JsonSchema }
459
+
460
+ # @!attribute type
461
+ #
462
+ # @return [Symbol, :json_schema]
463
+ required :type, const: :json_schema
464
+
465
+ # @!method initialize(json_schema:, type: :json_schema)
466
+ # Some parameter documentations has been truncated, see
467
+ # {Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam}
468
+ # for more details.
469
+ #
470
+ # Structured output: the model output is constrained to the JSON schema supplied
471
+ # in `json_schema`.
472
+ #
473
+ # @param json_schema [Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam::JsonSchema] The JSON schema configuration, required when `type` is `json_schema`. Matches th
474
+ #
475
+ # @param type [Symbol, :json_schema]
476
+
477
+ # @see Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam#json_schema
478
+ class JsonSchema < Telnyx::Internal::Type::BaseModel
479
+ # @!attribute name
480
+ # The name of the response format. Used for clarity only.
481
+ #
482
+ # @return [String]
483
+ required :name, String
484
+
485
+ # @!attribute description
486
+ # A description of what the response format is for, typically used to guide the
487
+ # model.
488
+ #
489
+ # @return [String, nil]
490
+ optional :description, String
491
+
492
+ # @!attribute schema
493
+ # The JSON schema the model output must conform to. A valid
494
+ # [JSON Schema](https://json-schema.org) object, e.g. a Pydantic
495
+ # `model_json_schema()` export.
496
+ #
497
+ # @return [Hash{Symbol=>Object}, nil]
498
+ optional :schema, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
499
+
500
+ # @!attribute strict
501
+ # Enables strict schema adherence when supported by the model. If the generated
502
+ # output does not match the provided schema, the request fails instead of
503
+ # returning non-conformant output.
504
+ #
505
+ # @return [Boolean, nil]
506
+ optional :strict, Telnyx::Internal::Type::Boolean
507
+
508
+ # @!method initialize(name:, description: nil, schema: nil, strict: nil)
509
+ # Some parameter documentations has been truncated, see
510
+ # {Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam::JsonSchema}
511
+ # for more details.
512
+ #
513
+ # The JSON schema configuration, required when `type` is `json_schema`. Matches
514
+ # the
515
+ # [OpenAI structured outputs](https://platform.openai.com/docs/guides/structured-outputs)
516
+ # `json_schema` response format.
517
+ #
518
+ # @param name [String] The name of the response format. Used for clarity only.
519
+ #
520
+ # @param description [String] A description of what the response format is for, typically used to guide the mo
521
+ #
522
+ # @param schema [Hash{Symbol=>Object}] The JSON schema the model output must conform to. A valid [JSON Schema](https://
523
+ #
524
+ # @param strict [Boolean] Enables strict schema adherence when supported by the model. If the generated ou
525
+ end
526
+ end
527
+
528
+ # @!method self.variants
529
+ # @return [Array(Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatText, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonObject, Telnyx::Models::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam)]
453
530
  end
454
531
 
455
532
  # Up to 4 sequences where the API will stop generating further tokens. The
@@ -37,6 +37,19 @@ module Telnyx
37
37
  # @return [String]
38
38
  required :name, String
39
39
 
40
+ # @!attribute a2a_agents
41
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
42
+ # start of every conversation each agent's card is fetched and one tool is derived
43
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
44
+ # limits are not enforced when the assistant is saved, and anything past them is
45
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
46
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
47
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
48
+ # capability for the conversation; it does not fail the call.
49
+ #
50
+ # @return [Array<Telnyx::Models::AI::AssistantA2AAgent>, nil]
51
+ optional :a2a_agents, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantA2AAgent] }
52
+
40
53
  # @!attribute conversation_flow
41
54
  # Conversation flow as returned by the API.
42
55
  #
@@ -237,7 +250,7 @@ module Telnyx
237
250
  # @return [Telnyx::Models::AI::WidgetSettings, nil]
238
251
  optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
239
252
 
240
- # @!method initialize(id:, created_at:, instructions:, model:, name:, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, import_metadata: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, related_mission_ids: nil, tags: nil, telephony_settings: nil, tools: nil, transcription: nil, version_created_at: nil, version_id: nil, version_name: nil, voice_settings: nil, widget_settings: nil)
253
+ # @!method initialize(id:, created_at:, instructions:, model:, name:, a2a_agents: nil, conversation_flow: nil, description: nil, dynamic_variables: nil, dynamic_variables_webhook_timeout_ms: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, external_llm: nil, fallback_config: nil, greeting: nil, import_metadata: nil, insight_settings: nil, integrations: nil, interruption_settings: nil, llm_api_key_ref: nil, mcp_servers: nil, messaging_settings: nil, observability_settings: nil, post_conversation_settings: nil, privacy_settings: nil, related_mission_ids: nil, tags: nil, telephony_settings: nil, tools: nil, transcription: nil, version_created_at: nil, version_id: nil, version_name: nil, voice_settings: nil, widget_settings: nil)
241
254
  # Some parameter documentations has been truncated, see
242
255
  # {Telnyx::Models::AI::InferenceEmbedding} for more details.
243
256
  #
@@ -251,6 +264,8 @@ module Telnyx
251
264
  #
252
265
  # @param name [String]
253
266
  #
267
+ # @param a2a_agents [Array<Telnyx::Models::AI::AssistantA2AAgent>] A2A agents this assistant can delegate to. Tools are not stored here: at the sta
268
+ #
254
269
  # @param conversation_flow [Telnyx::Models::AI::ConversationFlow] Conversation flow as returned by the API.
255
270
  #
256
271
  # @param description [String]