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
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module X402
6
+ module CreditAccount
7
+ class PaymentRetrieveResponse < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::Models::X402::CreditAccount::PaymentRetrieveResponse,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # An x402 payment transaction.
17
+ sig do
18
+ returns(
19
+ T.nilable(Telnyx::X402::CreditAccount::X402TransactionRecord)
20
+ )
21
+ end
22
+ attr_reader :data
23
+
24
+ sig do
25
+ params(
26
+ data: Telnyx::X402::CreditAccount::X402TransactionRecord::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ sig do
32
+ params(
33
+ data: Telnyx::X402::CreditAccount::X402TransactionRecord::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ # An x402 payment transaction.
38
+ data: nil
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ { data: Telnyx::X402::CreditAccount::X402TransactionRecord }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,219 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module X402
6
+ module CreditAccount
7
+ class X402TransactionRecord < Telnyx::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Telnyx::X402::CreditAccount::X402TransactionRecord,
12
+ Telnyx::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ # Unique transaction identifier.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :id
19
+
20
+ sig { params(id: String).void }
21
+ attr_writer :id
22
+
23
+ # The transaction amount in the specified currency.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :amount
26
+
27
+ sig { params(amount: String).void }
28
+ attr_writer :amount
29
+
30
+ # ISO 8601 timestamp when the transaction was created.
31
+ sig { returns(T.nilable(Time)) }
32
+ attr_reader :created_at
33
+
34
+ sig { params(created_at: Time).void }
35
+ attr_writer :created_at
36
+
37
+ # The currency of the transaction amount (e.g. USD).
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :currency
40
+
41
+ sig { params(currency: String).void }
42
+ attr_writer :currency
43
+
44
+ # The original quote ID associated with this transaction.
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :quote_id
47
+
48
+ sig { params(quote_id: String).void }
49
+ attr_writer :quote_id
50
+
51
+ sig do
52
+ returns(
53
+ T.nilable(
54
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::TaggedSymbol
55
+ )
56
+ )
57
+ end
58
+ attr_reader :record_type
59
+
60
+ sig do
61
+ params(
62
+ record_type:
63
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::OrSymbol
64
+ ).void
65
+ end
66
+ attr_writer :record_type
67
+
68
+ # The settlement status of the transaction. x402 transactions are created after
69
+ # successful on-chain settlement, so the status is `settled`.
70
+ sig do
71
+ returns(
72
+ T.nilable(
73
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::TaggedSymbol
74
+ )
75
+ )
76
+ end
77
+ attr_reader :status
78
+
79
+ sig do
80
+ params(
81
+ status:
82
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::OrSymbol
83
+ ).void
84
+ end
85
+ attr_writer :status
86
+
87
+ # The on-chain transaction hash, if available.
88
+ sig { returns(T.nilable(String)) }
89
+ attr_accessor :tx_hash
90
+
91
+ # ISO 8601 timestamp when the transaction was last updated.
92
+ sig { returns(T.nilable(Time)) }
93
+ attr_reader :updated_at
94
+
95
+ sig { params(updated_at: Time).void }
96
+ attr_writer :updated_at
97
+
98
+ # An x402 payment transaction.
99
+ sig do
100
+ params(
101
+ id: String,
102
+ amount: String,
103
+ created_at: Time,
104
+ currency: String,
105
+ quote_id: String,
106
+ record_type:
107
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::OrSymbol,
108
+ status:
109
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::OrSymbol,
110
+ tx_hash: T.nilable(String),
111
+ updated_at: Time
112
+ ).returns(T.attached_class)
113
+ end
114
+ def self.new(
115
+ # Unique transaction identifier.
116
+ id: nil,
117
+ # The transaction amount in the specified currency.
118
+ amount: nil,
119
+ # ISO 8601 timestamp when the transaction was created.
120
+ created_at: nil,
121
+ # The currency of the transaction amount (e.g. USD).
122
+ currency: nil,
123
+ # The original quote ID associated with this transaction.
124
+ quote_id: nil,
125
+ record_type: nil,
126
+ # The settlement status of the transaction. x402 transactions are created after
127
+ # successful on-chain settlement, so the status is `settled`.
128
+ status: nil,
129
+ # The on-chain transaction hash, if available.
130
+ tx_hash: nil,
131
+ # ISO 8601 timestamp when the transaction was last updated.
132
+ updated_at: nil
133
+ )
134
+ end
135
+
136
+ sig do
137
+ override.returns(
138
+ {
139
+ id: String,
140
+ amount: String,
141
+ created_at: Time,
142
+ currency: String,
143
+ quote_id: String,
144
+ record_type:
145
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::TaggedSymbol,
146
+ status:
147
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::TaggedSymbol,
148
+ tx_hash: T.nilable(String),
149
+ updated_at: Time
150
+ }
151
+ )
152
+ end
153
+ def to_hash
154
+ end
155
+
156
+ module RecordType
157
+ extend Telnyx::Internal::Type::Enum
158
+
159
+ TaggedSymbol =
160
+ T.type_alias do
161
+ T.all(
162
+ Symbol,
163
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType
164
+ )
165
+ end
166
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
167
+
168
+ X402_TRANSACTION =
169
+ T.let(
170
+ :x402_transaction,
171
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::TaggedSymbol
172
+ )
173
+
174
+ sig do
175
+ override.returns(
176
+ T::Array[
177
+ Telnyx::X402::CreditAccount::X402TransactionRecord::RecordType::TaggedSymbol
178
+ ]
179
+ )
180
+ end
181
+ def self.values
182
+ end
183
+ end
184
+
185
+ # The settlement status of the transaction. x402 transactions are created after
186
+ # successful on-chain settlement, so the status is `settled`.
187
+ module Status
188
+ extend Telnyx::Internal::Type::Enum
189
+
190
+ TaggedSymbol =
191
+ T.type_alias do
192
+ T.all(
193
+ Symbol,
194
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status
195
+ )
196
+ end
197
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
198
+
199
+ SETTLED =
200
+ T.let(
201
+ :settled,
202
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::TaggedSymbol
203
+ )
204
+
205
+ sig do
206
+ override.returns(
207
+ T::Array[
208
+ Telnyx::X402::CreditAccount::X402TransactionRecord::Status::TaggedSymbol
209
+ ]
210
+ )
211
+ end
212
+ def self.values
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
@@ -392,6 +392,8 @@ module Telnyx
392
392
 
393
393
  CommentRetrieveParams = Telnyx::Models::CommentRetrieveParams
394
394
 
395
+ Compute = Telnyx::Models::Compute
396
+
395
397
  Conference = Telnyx::Models::Conference
396
398
 
397
399
  ConferenceCreated = Telnyx::Models::ConferenceCreated
@@ -1254,6 +1256,8 @@ module Telnyx
1254
1256
  MessagingInboundMessagePayload =
1255
1257
  Telnyx::Models::MessagingInboundMessagePayload
1256
1258
 
1259
+ MessagingMessagingProfile = Telnyx::Models::MessagingMessagingProfile
1260
+
1257
1261
  MessagingMetricsTimeFrame = Telnyx::Models::MessagingMetricsTimeFrame
1258
1262
 
1259
1263
  MessagingNumbersBulkUpdateCreateParams =
@@ -1278,6 +1282,8 @@ module Telnyx
1278
1282
 
1279
1283
  MessagingProfileDeleteParams = Telnyx::Models::MessagingProfileDeleteParams
1280
1284
 
1285
+ MessagingProfileFeatures = Telnyx::Models::MessagingProfileFeatures
1286
+
1281
1287
  MessagingProfileListAlphanumericSenderIDsParams =
1282
1288
  Telnyx::Models::MessagingProfileListAlphanumericSenderIDsParams
1283
1289
 
@@ -2384,6 +2390,8 @@ module Telnyx
2384
2390
 
2385
2391
  Whatsapp = Telnyx::Models::Whatsapp
2386
2392
 
2393
+ WhatsappAccountUpdate = Telnyx::Models::WhatsappAccountUpdate
2394
+
2387
2395
  WhatsappContact = Telnyx::Models::WhatsappContact
2388
2396
 
2389
2397
  WhatsappInteractive = Telnyx::Models::WhatsappInteractive
@@ -2394,6 +2402,8 @@ module Telnyx
2394
2402
 
2395
2403
  WhatsappMessageContent = Telnyx::Models::WhatsappMessageContent
2396
2404
 
2405
+ WhatsappMessageEcho = Telnyx::Models::WhatsappMessageEcho
2406
+
2397
2407
  WhatsappMessageTemplateDeleteParams =
2398
2408
  Telnyx::Models::WhatsappMessageTemplateDeleteParams
2399
2409
 
@@ -27,6 +27,8 @@ module Telnyx
27
27
  max_retries: Integer,
28
28
  mcp_servers: T::Array[T::Hash[Symbol, T.anything]],
29
29
  metadata: T::Hash[Symbol, T.anything],
30
+ mode: Telnyx::AI::Anthropic::V1MessagesParams::Mode::OrSymbol,
31
+ region: Telnyx::AI::Anthropic::V1MessagesParams::Region::OrSymbol,
30
32
  service_tier: String,
31
33
  stop_sequences: T::Array[String],
32
34
  stream: T::Boolean,
@@ -67,6 +69,18 @@ module Telnyx
67
69
  mcp_servers: nil,
68
70
  # An object describing metadata about the request.
69
71
  metadata: nil,
72
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
73
+ # tries that region first and falls back to another when the model cannot be
74
+ # served there, so a request that would have succeeded still succeeds. `strict`
75
+ # pins the request: it is served from that region or it fails with a 422, never
76
+ # redirected to another region. Requires `region`.
77
+ mode: nil,
78
+ # Optional data-residency region the request should be served from, using the same
79
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
80
+ # Supported for Telnyx-hosted models only: a request routed to an external
81
+ # provider never passes through Telnyx model routing, so a region cannot be
82
+ # enforced for it. Omit for today's latency-based routing.
83
+ region: nil,
70
84
  # The service tier to use for this request. Supported values vary by model; use
71
85
  # the Telnyx models endpoint and inspect the model's `service_tiers` field. If
72
86
  # omitted, Telnyx-hosted models use `default`.
@@ -32,6 +32,7 @@ module Telnyx
32
32
  params(
33
33
  version_id: String,
34
34
  assistant_id: String,
35
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
35
36
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
36
37
  description: String,
37
38
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -88,6 +89,17 @@ module Telnyx
88
89
  version_id,
89
90
  # Path param: Unique identifier of the assistant.
90
91
  assistant_id:,
92
+ # Body param: A2A agents this assistant can delegate to. Tools are not stored
93
+ # here: at the start of every conversation each agent's card is fetched and one
94
+ # tool is derived per skill the card advertises, named `a2a_<name>_<skill_id>`.
95
+ # The following limits are not enforced when the assistant is saved, and anything
96
+ # past them is dropped when the conversation starts: 64 agents per assistant, 64
97
+ # skills per card, 128 derived tools per assistant, and a 6 second budget for all
98
+ # card fetches combined. An agent whose card cannot be fetched costs the assistant
99
+ # that capability for the conversation; it does not fail the call. Omit this field
100
+ # to leave the assistant's agents unchanged; send an empty array to remove them
101
+ # all.
102
+ a2a_agents: nil,
91
103
  # Body param: Conversation flow as supplied by API clients (create / update).
92
104
  #
93
105
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -39,6 +39,7 @@ module Telnyx
39
39
  params(
40
40
  instructions: String,
41
41
  name: String,
42
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
42
43
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
43
44
  description: String,
44
45
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -94,6 +95,15 @@ module Telnyx
94
95
  instructions:,
95
96
  # Body param
96
97
  name:,
98
+ # Body param: A2A agents this assistant can delegate to. Tools are not stored
99
+ # here: at the start of every conversation each agent's card is fetched and one
100
+ # tool is derived per skill the card advertises, named `a2a_<name>_<skill_id>`.
101
+ # The following limits are not enforced when the assistant is saved, and anything
102
+ # past them is dropped when the conversation starts: 64 agents per assistant, 64
103
+ # skills per card, 128 derived tools per assistant, and a 6 second budget for all
104
+ # card fetches combined. An agent whose card cannot be fetched costs the assistant
105
+ # that capability for the conversation; it does not fail the call.
106
+ a2a_agents: nil,
97
107
  # Body param: Conversation flow as supplied by API clients (create / update).
98
108
  #
99
109
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -238,6 +248,7 @@ module Telnyx
238
248
  sig do
239
249
  params(
240
250
  assistant_id: String,
251
+ a2a_agents: T::Array[Telnyx::AI::AssistantA2AAgent::OrHash],
241
252
  conversation_flow: Telnyx::AI::ConversationFlowReq::OrHash,
242
253
  description: String,
243
254
  dynamic_variables: T::Hash[Symbol, T.anything],
@@ -293,6 +304,16 @@ module Telnyx
293
304
  def update(
294
305
  # Unique identifier of the assistant.
295
306
  assistant_id,
307
+ # A2A agents this assistant can delegate to. Tools are not stored here: at the
308
+ # start of every conversation each agent's card is fetched and one tool is derived
309
+ # per skill the card advertises, named `a2a_<name>_<skill_id>`. The following
310
+ # limits are not enforced when the assistant is saved, and anything past them is
311
+ # dropped when the conversation starts: 64 agents per assistant, 64 skills per
312
+ # card, 128 derived tools per assistant, and a 6 second budget for all card
313
+ # fetches combined. An agent whose card cannot be fetched costs the assistant that
314
+ # capability for the conversation; it does not fail the call. Omit this field to
315
+ # leave the assistant's agents unchanged; send an empty array to remove them all.
316
+ a2a_agents: nil,
296
317
  # Conversation flow as supplied by API clients (create / update).
297
318
  #
298
319
  # A directed graph of `FlowNodeReq` connected by `FlowEdge`s. Validation enforces
@@ -18,20 +18,23 @@ module Telnyx
18
18
  early_stopping: T::Boolean,
19
19
  enable_thinking: T::Boolean,
20
20
  frequency_penalty: Float,
21
- guided_choice: T::Array[String],
22
- guided_json: T::Hash[Symbol, T.anything],
23
- guided_regex: String,
24
21
  length_penalty: Float,
25
22
  logprobs: T::Boolean,
26
23
  max_tokens: Integer,
27
24
  min_p: Float,
25
+ mode: Telnyx::AI::ChatCompletionRequest::Mode::OrSymbol,
28
26
  model: String,
29
27
  n: Float,
30
28
  presence_penalty: Float,
31
29
  reasoning_effort:
32
30
  Telnyx::AI::ChatCompletionRequest::ReasoningEffort::OrSymbol,
31
+ region: Telnyx::AI::ChatCompletionRequest::Region::OrSymbol,
33
32
  response_format:
34
- Telnyx::AI::ChatCompletionRequest::ResponseFormat::OrHash,
33
+ T.any(
34
+ Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatText::OrHash,
35
+ Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonObject::OrHash,
36
+ Telnyx::AI::ChatCompletionRequest::ResponseFormat::ResponseFormatJsonSchemaParam::OrHash
37
+ ),
35
38
  seed: Integer,
36
39
  service_tier: String,
37
40
  stop: Telnyx::AI::ChatCompletionRequest::Stop::Variants,
@@ -73,13 +76,6 @@ module Telnyx
73
76
  enable_thinking: nil,
74
77
  # Higher values will penalize the model from repeating the same output tokens.
75
78
  frequency_penalty: nil,
76
- # If specified, the output will be exactly one of the choices.
77
- guided_choice: nil,
78
- # Must be a valid JSON schema. If specified, the output will follow the JSON
79
- # schema.
80
- guided_json: nil,
81
- # If specified, the output will follow the regex pattern.
82
- guided_regex: nil,
83
79
  # This is used with `use_beam_search` to prefer shorter or longer completions.
84
80
  length_penalty: nil,
85
81
  # Whether to return log probabilities of the output tokens or not. If true,
@@ -92,6 +88,12 @@ module Telnyx
92
88
  # [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be
93
89
  # in [0, 1].
94
90
  min_p: nil,
91
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
92
+ # tries that region first and falls back to another when the model cannot be
93
+ # served there, so a request that would have succeeded still succeeds. `strict`
94
+ # pins the request: it is served from that region or it fails with a 422, never
95
+ # redirected to another region. Requires `region`.
96
+ mode: nil,
95
97
  # The language model to chat with.
96
98
  model: nil,
97
99
  # This will return multiple choices for you instead of a single chat completion.
@@ -104,8 +106,16 @@ module Telnyx
104
106
  # all models support all values; unsupported values are rejected with a 400 error.
105
107
  # When omitted, reasoning models use their default effort level.
106
108
  reasoning_effort: nil,
107
- # Use this is you want to guarantee a JSON output without defining a schema. For
108
- # control over the schema, use `guided_json`.
109
+ # Optional data-residency region the request should be served from, using the same
110
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
111
+ # Supported for Telnyx-hosted models only: a request routed to an external
112
+ # provider never passes through Telnyx model routing, so a region cannot be
113
+ # enforced for it. Omit for today's latency-based routing.
114
+ region: nil,
115
+ # Controls the format of the model output. `json_object` guarantees valid JSON
116
+ # output without defining a schema; `json_schema` constrains the output to the
117
+ # JSON schema you supply via the `json_schema` property and is the supported way
118
+ # to get guaranteed structured output on Telnyx-hosted models.
109
119
  response_format: nil,
110
120
  # If specified, the system will make a best effort to sample deterministically,
111
121
  # such that repeated requests with the same `seed` and parameters should return
@@ -44,9 +44,11 @@ module Telnyx
44
44
  conversation: String,
45
45
  input: T::Hash[Symbol, T.anything],
46
46
  instructions: String,
47
+ mode: Telnyx::AI::OpenAICreateResponseParams::Mode::OrSymbol,
47
48
  model: String,
48
49
  reasoning:
49
50
  Telnyx::AI::OpenAICreateResponseParams::Reasoning::OrHash,
51
+ region: Telnyx::AI::OpenAICreateResponseParams::Region::OrSymbol,
50
52
  service_tier: String,
51
53
  stream: T::Boolean,
52
54
  request_options: Telnyx::RequestOptions::OrHash
@@ -64,10 +66,22 @@ module Telnyx
64
66
  # `conversation`, send these on the first request that creates the thread;
65
67
  # subsequent turns can rely on the stored history.
66
68
  instructions: nil,
69
+ # How strictly `region` is applied. `preferred` (the default when `region` is set)
70
+ # tries that region first and falls back to another when the model cannot be
71
+ # served there, so a request that would have succeeded still succeeds. `strict`
72
+ # pins the request: it is served from that region or it fails with a 422, never
73
+ # redirected to another region. Requires `region`.
74
+ mode: nil,
67
75
  # Model identifier to use for the response, for example `zai-org/GLM-5.1-FP8` or
68
76
  # another model available from the Telnyx OpenAI-compatible models endpoint.
69
77
  model: nil,
70
78
  reasoning: nil,
79
+ # Optional data-residency region the request should be served from, using the same
80
+ # vocabulary as your account's Data Locality setting. Behavior depends on `mode`.
81
+ # Supported for Telnyx-hosted models only: a request routed to an external
82
+ # provider never passes through Telnyx model routing, so a region cannot be
83
+ # enforced for it. Omit for today's latency-based routing.
84
+ region: nil,
71
85
  # The service tier to use for this request. Supported values vary by model; use
72
86
  # `GET /v2/ai/openai/models` and inspect the model's `service_tiers` field. If
73
87
  # omitted, Telnyx-hosted models use `default`.
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Compute
6
+ class Funcs
7
+ # Returns logs oldest first. `type=runtime` (default) returns function
8
+ # stdout/stderr. `type=invocations` returns one platform-generated record per HTTP
9
+ # request served.
10
+ sig do
11
+ params(
12
+ id: String,
13
+ end_time: Time,
14
+ limit: Integer,
15
+ start_time: Time,
16
+ type: Telnyx::Compute::FuncRetrieveLogsParams::Type::OrSymbol,
17
+ request_options: Telnyx::RequestOptions::OrHash
18
+ ).returns(Telnyx::Models::Compute::FuncRetrieveLogsResponse::Variants)
19
+ end
20
+ def retrieve_logs(
21
+ # Function ID
22
+ id,
23
+ # Return records at or before this RFC 3339 timestamp.
24
+ end_time: nil,
25
+ # Maximum records to return.
26
+ limit: nil,
27
+ # Return records at or after this RFC 3339 timestamp.
28
+ start_time: nil,
29
+ # Log stream to return.
30
+ type: nil,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # Returns aggregate request, latency, CPU, memory, and resource-limit metrics for
36
+ # a function over the requested window.
37
+ sig do
38
+ params(
39
+ id: String,
40
+ end_time: Time,
41
+ start_time: Time,
42
+ filter_edge_site: String,
43
+ filter_namespace: String,
44
+ page_number: Integer,
45
+ page_size: Integer,
46
+ request_options: Telnyx::RequestOptions::OrHash
47
+ ).returns(
48
+ Telnyx::Models::Compute::FuncRetrieveMetricAggregatesResponse
49
+ )
50
+ end
51
+ def retrieve_metric_aggregates(
52
+ # Function ID
53
+ id,
54
+ # Exclusive window end, UTC ISO 8601 with milliseconds
55
+ end_time:,
56
+ # Inclusive window start, UTC ISO 8601 with milliseconds
57
+ start_time:,
58
+ # Edge site filter
59
+ filter_edge_site: nil,
60
+ # Kubernetes namespace filter
61
+ filter_namespace: nil,
62
+ page_number: nil,
63
+ page_size: nil,
64
+ request_options: {}
65
+ )
66
+ end
67
+
68
+ # Lists a function's ship history newest first, including per-ship failure stage
69
+ # and reason when recorded.
70
+ sig do
71
+ params(
72
+ id: String,
73
+ page_number: Integer,
74
+ page_size: Integer,
75
+ request_options: Telnyx::RequestOptions::OrHash
76
+ ).returns(Telnyx::Models::Compute::FuncRetrieveRevisionsResponse)
77
+ end
78
+ def retrieve_revisions(
79
+ # Function ID
80
+ id,
81
+ page_number: nil,
82
+ page_size: nil,
83
+ request_options: {}
84
+ )
85
+ end
86
+
87
+ # Returns the latest ship outcome. The stage is `none` on success, `pending` while
88
+ # building, or a failure stage such as `build`, `platform`, `pre_build`, `deploy`,
89
+ # or `security_review`. This stage-neutral customer-facing path is an alias over
90
+ # the same inspection resource as `build_log_inspection`.
91
+ sig do
92
+ params(
93
+ id: String,
94
+ request_options: Telnyx::RequestOptions::OrHash
95
+ ).returns(Telnyx::Models::Compute::FuncRetrieveShipInspectionResponse)
96
+ end
97
+ def retrieve_ship_inspection(
98
+ # Function ID
99
+ id,
100
+ request_options: {}
101
+ )
102
+ end
103
+
104
+ # @api private
105
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
106
+ def self.new(client:)
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,15 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Compute
6
+ sig { returns(Telnyx::Resources::Compute::Funcs) }
7
+ attr_reader :funcs
8
+
9
+ # @api private
10
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
11
+ def self.new(client:)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -210,7 +210,9 @@ module Telnyx
210
210
  )
211
211
  end
212
212
 
213
- # Creates up to 50 email messages in a single request.
213
+ # Creates up to 1,000 email messages in a single request. Each message is
214
+ # validated and sent independently; per-message failures do not affect other
215
+ # messages in the batch. All responses use 207 Multi-Status.
214
216
  sig do
215
217
  params(
216
218
  messages: T::Array[Telnyx::EmailMessageBatchParams::Message::OrHash],
@@ -220,7 +222,9 @@ module Telnyx
220
222
  ).returns(Telnyx::Models::EmailMessageBatchResponse)
221
223
  end
222
224
  def batch(
223
- # Body param
225
+ # Body param: Array of email messages to send. Up to 1,000 messages per batch
226
+ # request. Each message is validated and sent independently; per-message failures
227
+ # do not affect other messages in the batch.
224
228
  messages:,
225
229
  # Body param: Applies sandbox mode to all messages in the batch. Overrides any
226
230
  # per-message sandbox_mode in the messages array.