telnyx 5.156.0 → 5.157.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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/anthropic/v1_messages_params.rb +209 -0
  5. data/lib/telnyx/models/ai/anthropic/v1_messages_response.rb +12 -0
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +2 -2
  7. data/lib/telnyx/models/ai/assistant_tool.rb +25 -1
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +2 -2
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +2 -2
  10. data/lib/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rb +103 -0
  11. data/lib/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rb +54 -0
  12. data/lib/telnyx/models/ai/inference_embedding.rb +6 -6
  13. data/lib/telnyx/models/ai/pay_tool_params.rb +46 -0
  14. data/lib/telnyx/models/ai/tool_create_params.rb +7 -1
  15. data/lib/telnyx/models/ai/tool_update_params.rb +7 -1
  16. data/lib/telnyx/models/ai/transcription_settings.rb +3 -3
  17. data/lib/telnyx/models/call_dial_params.rb +13 -1
  18. data/lib/telnyx/models/calls/transcription_config.rb +8 -4
  19. data/lib/telnyx/models/calls/transcription_engine_parakeet_config.rb +1 -1
  20. data/lib/telnyx/models/doc_reqs_requirement.rb +29 -4
  21. data/lib/telnyx/models/inbound_message.rb +278 -28
  22. data/lib/telnyx/models/inbound_message_webhook_event.rb +70 -3
  23. data/lib/telnyx/models/managed_account_list_params.rb +45 -3
  24. data/lib/telnyx/models/requirement_list_params.rb +10 -1
  25. data/lib/telnyx/models/requirement_retrieve_params.rb +14 -1
  26. data/lib/telnyx/models/speech_to_text_retrieve_transcription_params.rb +1 -1
  27. data/lib/telnyx/models/storage/cloudf_create_params.rb +56 -0
  28. data/lib/telnyx/models/storage/cloudf_delete_params.rb +22 -0
  29. data/lib/telnyx/models/storage/cloudf_list_params.rb +109 -0
  30. data/lib/telnyx/models/storage/cloudf_list_response.rb +165 -0
  31. data/lib/telnyx/models/storage/cloudf_retrieve_params.rb +22 -0
  32. data/lib/telnyx/models/storage/cloudf_update_params.rb +36 -0
  33. data/lib/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rb +30 -0
  34. data/lib/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rb +129 -0
  35. data/lib/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rb +129 -0
  36. data/lib/telnyx/models/storage/cloudfs_filesystem_status.rb +28 -0
  37. data/lib/telnyx/models/verify_profile.rb +2 -2
  38. data/lib/telnyx/models/verify_profile_create_params.rb +2 -2
  39. data/lib/telnyx/models/verify_profile_update_params.rb +2 -2
  40. data/lib/telnyx/resources/ai/anthropic/v1.rb +91 -0
  41. data/lib/telnyx/resources/ai/anthropic.rb +20 -0
  42. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  43. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  44. data/lib/telnyx/resources/ai/conversations/conversation_insights.rb +55 -0
  45. data/lib/telnyx/resources/ai/conversations.rb +5 -0
  46. data/lib/telnyx/resources/ai/tools.rb +5 -2
  47. data/lib/telnyx/resources/ai.rb +4 -0
  48. data/lib/telnyx/resources/calls.rb +3 -1
  49. data/lib/telnyx/resources/requirements.rb +13 -3
  50. data/lib/telnyx/resources/storage/cloudfs/actions.rb +54 -0
  51. data/lib/telnyx/resources/storage/cloudfs.rb +187 -0
  52. data/lib/telnyx/resources/storage.rb +6 -0
  53. data/lib/telnyx/version.rb +1 -1
  54. data/lib/telnyx.rb +20 -0
  55. data/rbi/telnyx/models/ai/anthropic/v1_messages_params.rbi +314 -0
  56. data/rbi/telnyx/models/ai/anthropic/v1_messages_response.rbi +15 -0
  57. data/rbi/telnyx/models/ai/assistant_create_params.rbi +8 -4
  58. data/rbi/telnyx/models/ai/assistant_tool.rbi +37 -1
  59. data/rbi/telnyx/models/ai/assistant_update_params.rbi +8 -4
  60. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +8 -4
  61. data/rbi/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rbi +188 -0
  62. data/rbi/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rbi +94 -0
  63. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -6
  64. data/rbi/telnyx/models/ai/pay_tool_params.rbi +71 -0
  65. data/rbi/telnyx/models/ai/tool_create_params.rbi +9 -0
  66. data/rbi/telnyx/models/ai/tool_update_params.rbi +9 -0
  67. data/rbi/telnyx/models/ai/transcription_settings.rbi +5 -5
  68. data/rbi/telnyx/models/call_dial_params.rbi +19 -0
  69. data/rbi/telnyx/models/calls/transcription_config.rbi +15 -7
  70. data/rbi/telnyx/models/calls/transcription_engine_parakeet_config.rbi +2 -2
  71. data/rbi/telnyx/models/doc_reqs_requirement.rbi +38 -9
  72. data/rbi/telnyx/models/inbound_message.rbi +324 -58
  73. data/rbi/telnyx/models/inbound_message_webhook_event.rbi +173 -4
  74. data/rbi/telnyx/models/managed_account_list_params.rbi +130 -6
  75. data/rbi/telnyx/models/requirement_list_params.rbi +13 -0
  76. data/rbi/telnyx/models/requirement_retrieve_params.rbi +21 -2
  77. data/rbi/telnyx/models/speech_to_text_retrieve_transcription_params.rbi +2 -2
  78. data/rbi/telnyx/models/storage/cloudf_create_params.rbi +103 -0
  79. data/rbi/telnyx/models/storage/cloudf_delete_params.rbi +40 -0
  80. data/rbi/telnyx/models/storage/cloudf_list_params.rbi +232 -0
  81. data/rbi/telnyx/models/storage/cloudf_list_response.rbi +327 -0
  82. data/rbi/telnyx/models/storage/cloudf_retrieve_params.rbi +40 -0
  83. data/rbi/telnyx/models/storage/cloudf_update_params.rbi +61 -0
  84. data/rbi/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rbi +50 -0
  85. data/rbi/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rbi +229 -0
  86. data/rbi/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rbi +227 -0
  87. data/rbi/telnyx/models/storage/cloudfs_filesystem_status.rbi +57 -0
  88. data/rbi/telnyx/models/verify_profile.rbi +2 -2
  89. data/rbi/telnyx/models/verify_profile_create_params.rbi +2 -2
  90. data/rbi/telnyx/models/verify_profile_update_params.rbi +2 -2
  91. data/rbi/telnyx/resources/ai/anthropic/v1.rbi +106 -0
  92. data/rbi/telnyx/resources/ai/anthropic.rbi +17 -0
  93. data/rbi/telnyx/resources/ai/assistants/versions.rbi +2 -1
  94. data/rbi/telnyx/resources/ai/assistants.rbi +4 -2
  95. data/rbi/telnyx/resources/ai/conversations/conversation_insights.rbi +68 -0
  96. data/rbi/telnyx/resources/ai/conversations.rbi +6 -0
  97. data/rbi/telnyx/resources/ai/tools.rbi +4 -0
  98. data/rbi/telnyx/resources/ai.rbi +3 -0
  99. data/rbi/telnyx/resources/calls.rbi +7 -0
  100. data/rbi/telnyx/resources/managed_accounts.rbi +1 -1
  101. data/rbi/telnyx/resources/requirements.rbi +8 -0
  102. data/rbi/telnyx/resources/storage/cloudfs/actions.rbi +46 -0
  103. data/rbi/telnyx/resources/storage/cloudfs.rbi +152 -0
  104. data/rbi/telnyx/resources/storage.rbi +5 -0
  105. data/sig/telnyx/models/ai/anthropic/v1_messages_params.rbs +175 -0
  106. data/sig/telnyx/models/ai/anthropic/v1_messages_response.rbs +11 -0
  107. data/sig/telnyx/models/ai/assistant_tool.rbs +13 -0
  108. data/sig/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rbs +74 -0
  109. data/sig/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rbs +34 -0
  110. data/sig/telnyx/models/ai/pay_tool_params.rbs +41 -0
  111. data/sig/telnyx/models/ai/tool_create_params.rbs +7 -0
  112. data/sig/telnyx/models/ai/tool_update_params.rbs +7 -0
  113. data/sig/telnyx/models/ai/transcription_settings.rbs +2 -2
  114. data/sig/telnyx/models/call_dial_params.rbs +7 -0
  115. data/sig/telnyx/models/calls/transcription_config.rbs +2 -2
  116. data/sig/telnyx/models/calls/transcription_engine_parakeet_config.rbs +2 -2
  117. data/sig/telnyx/models/doc_reqs_requirement.rbs +25 -8
  118. data/sig/telnyx/models/inbound_message.rbs +204 -35
  119. data/sig/telnyx/models/inbound_message_webhook_event.rbs +81 -5
  120. data/sig/telnyx/models/managed_account_list_params.rbs +47 -3
  121. data/sig/telnyx/models/requirement_list_params.rbs +8 -1
  122. data/sig/telnyx/models/requirement_retrieve_params.rbs +12 -2
  123. data/sig/telnyx/models/speech_to_text_retrieve_transcription_params.rbs +2 -2
  124. data/sig/telnyx/models/storage/cloudf_create_params.rbs +50 -0
  125. data/sig/telnyx/models/storage/cloudf_delete_params.rbs +22 -0
  126. data/sig/telnyx/models/storage/cloudf_list_params.rbs +112 -0
  127. data/sig/telnyx/models/storage/cloudf_list_response.rbs +163 -0
  128. data/sig/telnyx/models/storage/cloudf_retrieve_params.rbs +22 -0
  129. data/sig/telnyx/models/storage/cloudf_update_params.rbs +32 -0
  130. data/sig/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rbs +32 -0
  131. data/sig/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rbs +115 -0
  132. data/sig/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rbs +115 -0
  133. data/sig/telnyx/models/storage/cloudfs_filesystem_status.rbs +21 -0
  134. data/sig/telnyx/resources/ai/anthropic/v1.rbs +35 -0
  135. data/sig/telnyx/resources/ai/anthropic.rbs +11 -0
  136. data/sig/telnyx/resources/ai/conversations/conversation_insights.rbs +20 -0
  137. data/sig/telnyx/resources/ai/conversations.rbs +2 -0
  138. data/sig/telnyx/resources/ai/tools.rbs +2 -0
  139. data/sig/telnyx/resources/ai.rbs +2 -0
  140. data/sig/telnyx/resources/calls.rbs +1 -0
  141. data/sig/telnyx/resources/requirements.rbs +2 -0
  142. data/sig/telnyx/resources/storage/cloudfs/actions.rbs +17 -0
  143. data/sig/telnyx/resources/storage/cloudfs.rbs +45 -0
  144. data/sig/telnyx/resources/storage.rbs +2 -0
  145. metadata +62 -2
@@ -0,0 +1,314 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Anthropic
7
+ class V1MessagesParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Telnyx::AI::Anthropic::V1MessagesParams,
15
+ Telnyx::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The maximum number of tokens to generate in the response.
20
+ sig { returns(Integer) }
21
+ attr_accessor :max_tokens
22
+
23
+ # The messages to send to the model, following the
24
+ # [Anthropic Messages API](https://docs.anthropic.com/en/api/messages) format.
25
+ sig { returns(T::Array[T::Hash[Symbol, T.anything]]) }
26
+ attr_accessor :messages
27
+
28
+ # The model to use for generating the response, for example `zai-org/GLM-5.2` or
29
+ # another model available from the Telnyx models endpoint.
30
+ sig { returns(String) }
31
+ attr_accessor :model
32
+
33
+ # If you are using an external inference provider, this field allows you to pass
34
+ # along a reference to your API key. After creating an
35
+ # [integration secret](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
36
+ # for your API key, pass the secret's `identifier` in this field.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :api_key_ref
39
+
40
+ sig { params(api_key_ref: String).void }
41
+ attr_writer :api_key_ref
42
+
43
+ # The billing group ID to associate with this request.
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :billing_group_id
46
+
47
+ sig { params(billing_group_id: String).void }
48
+ attr_writer :billing_group_id
49
+
50
+ # Configuration for model fallback behavior when the primary model is unavailable.
51
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
52
+ attr_reader :fallback_config
53
+
54
+ sig { params(fallback_config: T::Hash[Symbol, T.anything]).void }
55
+ attr_writer :fallback_config
56
+
57
+ # Maximum number of retries for the request.
58
+ sig { returns(T.nilable(Integer)) }
59
+ attr_reader :max_retries
60
+
61
+ sig { params(max_retries: Integer).void }
62
+ attr_writer :max_retries
63
+
64
+ # List of MCP (Model Context Protocol) servers to make available to the model.
65
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
66
+ attr_reader :mcp_servers
67
+
68
+ sig do
69
+ params(mcp_servers: T::Array[T::Hash[Symbol, T.anything]]).void
70
+ end
71
+ attr_writer :mcp_servers
72
+
73
+ # An object describing metadata about the request.
74
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
75
+ attr_reader :metadata
76
+
77
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
78
+ attr_writer :metadata
79
+
80
+ # Service tier for the request.
81
+ sig { returns(T.nilable(String)) }
82
+ attr_reader :service_tier
83
+
84
+ sig { params(service_tier: String).void }
85
+ attr_writer :service_tier
86
+
87
+ # Custom sequences that will cause the model to stop generating.
88
+ sig { returns(T.nilable(T::Array[String])) }
89
+ attr_reader :stop_sequences
90
+
91
+ sig { params(stop_sequences: T::Array[String]).void }
92
+ attr_writer :stop_sequences
93
+
94
+ # Whether to stream the response as Anthropic-format Server-Sent Events.
95
+ sig { returns(T.nilable(T::Boolean)) }
96
+ attr_reader :stream
97
+
98
+ sig { params(stream: T::Boolean).void }
99
+ attr_writer :stream
100
+
101
+ # System prompt. Can be a string or an array of content blocks following the
102
+ # Anthropic API format.
103
+ sig do
104
+ returns(
105
+ T.nilable(
106
+ Telnyx::AI::Anthropic::V1MessagesParams::System::Variants
107
+ )
108
+ )
109
+ end
110
+ attr_reader :system_
111
+
112
+ sig do
113
+ params(
114
+ system_: Telnyx::AI::Anthropic::V1MessagesParams::System::Variants
115
+ ).void
116
+ end
117
+ attr_writer :system_
118
+
119
+ # Amount of randomness injected into the response. Ranges from 0 to 1.
120
+ sig { returns(T.nilable(Float)) }
121
+ attr_reader :temperature
122
+
123
+ sig { params(temperature: Float).void }
124
+ attr_writer :temperature
125
+
126
+ # Extended thinking configuration for models that support it. Set `type` to
127
+ # `enabled` to turn on extended thinking.
128
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
129
+ attr_reader :thinking
130
+
131
+ sig { params(thinking: T::Hash[Symbol, T.anything]).void }
132
+ attr_writer :thinking
133
+
134
+ # Request timeout in seconds.
135
+ sig { returns(T.nilable(Float)) }
136
+ attr_reader :timeout
137
+
138
+ sig { params(timeout: Float).void }
139
+ attr_writer :timeout
140
+
141
+ # Controls how the model uses tools, following the Anthropic API format.
142
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
143
+ attr_reader :tool_choice
144
+
145
+ sig { params(tool_choice: T::Hash[Symbol, T.anything]).void }
146
+ attr_writer :tool_choice
147
+
148
+ # Definitions of tools that the model may use, following the Anthropic API format.
149
+ sig { returns(T.nilable(T::Array[T::Hash[Symbol, T.anything]])) }
150
+ attr_reader :tools
151
+
152
+ sig { params(tools: T::Array[T::Hash[Symbol, T.anything]]).void }
153
+ attr_writer :tools
154
+
155
+ # Top-k sampling parameter. Only sample from the top K options for each subsequent
156
+ # token.
157
+ sig { returns(T.nilable(Integer)) }
158
+ attr_reader :top_k
159
+
160
+ sig { params(top_k: Integer).void }
161
+ attr_writer :top_k
162
+
163
+ # Nucleus sampling parameter. Use temperature or top_p, but not both.
164
+ sig { returns(T.nilable(Float)) }
165
+ attr_reader :top_p
166
+
167
+ sig { params(top_p: Float).void }
168
+ attr_writer :top_p
169
+
170
+ sig do
171
+ params(
172
+ max_tokens: Integer,
173
+ messages: T::Array[T::Hash[Symbol, T.anything]],
174
+ model: String,
175
+ api_key_ref: String,
176
+ billing_group_id: String,
177
+ fallback_config: T::Hash[Symbol, T.anything],
178
+ max_retries: Integer,
179
+ mcp_servers: T::Array[T::Hash[Symbol, T.anything]],
180
+ metadata: T::Hash[Symbol, T.anything],
181
+ service_tier: String,
182
+ stop_sequences: T::Array[String],
183
+ stream: T::Boolean,
184
+ system_:
185
+ Telnyx::AI::Anthropic::V1MessagesParams::System::Variants,
186
+ temperature: Float,
187
+ thinking: T::Hash[Symbol, T.anything],
188
+ timeout: Float,
189
+ tool_choice: T::Hash[Symbol, T.anything],
190
+ tools: T::Array[T::Hash[Symbol, T.anything]],
191
+ top_k: Integer,
192
+ top_p: Float,
193
+ request_options: Telnyx::RequestOptions::OrHash
194
+ ).returns(T.attached_class)
195
+ end
196
+ def self.new(
197
+ # The maximum number of tokens to generate in the response.
198
+ max_tokens:,
199
+ # The messages to send to the model, following the
200
+ # [Anthropic Messages API](https://docs.anthropic.com/en/api/messages) format.
201
+ messages:,
202
+ # The model to use for generating the response, for example `zai-org/GLM-5.2` or
203
+ # another model available from the Telnyx models endpoint.
204
+ model:,
205
+ # If you are using an external inference provider, this field allows you to pass
206
+ # along a reference to your API key. After creating an
207
+ # [integration secret](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
208
+ # for your API key, pass the secret's `identifier` in this field.
209
+ api_key_ref: nil,
210
+ # The billing group ID to associate with this request.
211
+ billing_group_id: nil,
212
+ # Configuration for model fallback behavior when the primary model is unavailable.
213
+ fallback_config: nil,
214
+ # Maximum number of retries for the request.
215
+ max_retries: nil,
216
+ # List of MCP (Model Context Protocol) servers to make available to the model.
217
+ mcp_servers: nil,
218
+ # An object describing metadata about the request.
219
+ metadata: nil,
220
+ # Service tier for the request.
221
+ service_tier: nil,
222
+ # Custom sequences that will cause the model to stop generating.
223
+ stop_sequences: nil,
224
+ # Whether to stream the response as Anthropic-format Server-Sent Events.
225
+ stream: nil,
226
+ # System prompt. Can be a string or an array of content blocks following the
227
+ # Anthropic API format.
228
+ system_: nil,
229
+ # Amount of randomness injected into the response. Ranges from 0 to 1.
230
+ temperature: nil,
231
+ # Extended thinking configuration for models that support it. Set `type` to
232
+ # `enabled` to turn on extended thinking.
233
+ thinking: nil,
234
+ # Request timeout in seconds.
235
+ timeout: nil,
236
+ # Controls how the model uses tools, following the Anthropic API format.
237
+ tool_choice: nil,
238
+ # Definitions of tools that the model may use, following the Anthropic API format.
239
+ tools: nil,
240
+ # Top-k sampling parameter. Only sample from the top K options for each subsequent
241
+ # token.
242
+ top_k: nil,
243
+ # Nucleus sampling parameter. Use temperature or top_p, but not both.
244
+ top_p: nil,
245
+ request_options: {}
246
+ )
247
+ end
248
+
249
+ sig do
250
+ override.returns(
251
+ {
252
+ max_tokens: Integer,
253
+ messages: T::Array[T::Hash[Symbol, T.anything]],
254
+ model: String,
255
+ api_key_ref: String,
256
+ billing_group_id: String,
257
+ fallback_config: T::Hash[Symbol, T.anything],
258
+ max_retries: Integer,
259
+ mcp_servers: T::Array[T::Hash[Symbol, T.anything]],
260
+ metadata: T::Hash[Symbol, T.anything],
261
+ service_tier: String,
262
+ stop_sequences: T::Array[String],
263
+ stream: T::Boolean,
264
+ system_:
265
+ Telnyx::AI::Anthropic::V1MessagesParams::System::Variants,
266
+ temperature: Float,
267
+ thinking: T::Hash[Symbol, T.anything],
268
+ timeout: Float,
269
+ tool_choice: T::Hash[Symbol, T.anything],
270
+ tools: T::Array[T::Hash[Symbol, T.anything]],
271
+ top_k: Integer,
272
+ top_p: Float,
273
+ request_options: Telnyx::RequestOptions
274
+ }
275
+ )
276
+ end
277
+ def to_hash
278
+ end
279
+
280
+ # System prompt. Can be a string or an array of content blocks following the
281
+ # Anthropic API format.
282
+ module System
283
+ extend Telnyx::Internal::Type::Union
284
+
285
+ Variants =
286
+ T.type_alias do
287
+ T.any(String, T::Array[T::Hash[Symbol, T.anything]])
288
+ end
289
+
290
+ sig do
291
+ override.returns(
292
+ T::Array[
293
+ Telnyx::AI::Anthropic::V1MessagesParams::System::Variants
294
+ ]
295
+ )
296
+ end
297
+ def self.variants
298
+ end
299
+
300
+ UnionMember1Array =
301
+ T.let(
302
+ Telnyx::Internal::Type::ArrayOf[
303
+ Telnyx::Internal::Type::HashOf[
304
+ Telnyx::Internal::Type::Unknown
305
+ ]
306
+ ],
307
+ Telnyx::Internal::Type::Converter
308
+ )
309
+ end
310
+ end
311
+ end
312
+ end
313
+ end
314
+ end
@@ -0,0 +1,15 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Anthropic
7
+ V1MessagesResponse =
8
+ T.let(
9
+ Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown],
10
+ Telnyx::Internal::Type::Converter
11
+ )
12
+ end
13
+ end
14
+ end
15
+ end
@@ -271,7 +271,8 @@ module Telnyx
271
271
  Telnyx::AI::AssistantTool::Refer,
272
272
  Telnyx::AI::AssistantTool::SendDtmf,
273
273
  Telnyx::AI::AssistantTool::SendMessage,
274
- Telnyx::AI::AssistantTool::SkipTurn
274
+ Telnyx::AI::AssistantTool::SkipTurn,
275
+ Telnyx::AI::AssistantTool::Pay
275
276
  )
276
277
  ]
277
278
  )
@@ -294,7 +295,8 @@ module Telnyx
294
295
  Telnyx::AI::AssistantTool::Refer::OrHash,
295
296
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
296
297
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
297
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
298
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
299
+ Telnyx::AI::AssistantTool::Pay::OrHash
298
300
  )
299
301
  ]
300
302
  ).void
@@ -363,7 +365,8 @@ module Telnyx
363
365
  Telnyx::AI::AssistantTool::Refer::OrHash,
364
366
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
365
367
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
366
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
368
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
369
+ Telnyx::AI::AssistantTool::Pay::OrHash
367
370
  )
368
371
  ],
369
372
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
@@ -510,7 +513,8 @@ module Telnyx
510
513
  Telnyx::AI::AssistantTool::Refer,
511
514
  Telnyx::AI::AssistantTool::SendDtmf,
512
515
  Telnyx::AI::AssistantTool::SendMessage,
513
- Telnyx::AI::AssistantTool::SkipTurn
516
+ Telnyx::AI::AssistantTool::SkipTurn,
517
+ Telnyx::AI::AssistantTool::Pay
514
518
  )
515
519
  ],
516
520
  transcription: Telnyx::AI::TranscriptionSettings,
@@ -22,7 +22,8 @@ module Telnyx
22
22
  Telnyx::AI::AssistantTool::Refer,
23
23
  Telnyx::AI::AssistantTool::SendDtmf,
24
24
  Telnyx::AI::AssistantTool::SendMessage,
25
- Telnyx::AI::AssistantTool::SkipTurn
25
+ Telnyx::AI::AssistantTool::SkipTurn,
26
+ Telnyx::AI::AssistantTool::Pay
26
27
  )
27
28
  end
28
29
 
@@ -2292,6 +2293,41 @@ module Telnyx
2292
2293
  end
2293
2294
  end
2294
2295
 
2296
+ class Pay < Telnyx::Internal::Type::BaseModel
2297
+ OrHash =
2298
+ T.type_alias do
2299
+ T.any(Telnyx::AI::AssistantTool::Pay, Telnyx::Internal::AnyHash)
2300
+ end
2301
+
2302
+ sig { returns(Telnyx::AI::PayToolParams) }
2303
+ attr_reader :pay
2304
+
2305
+ sig { params(pay: Telnyx::AI::PayToolParams::OrHash).void }
2306
+ attr_writer :pay
2307
+
2308
+ sig { returns(Symbol) }
2309
+ attr_accessor :type
2310
+
2311
+ # (BETA) The pay tool allows the assistant to collect card payments from the
2312
+ # caller via DTMF during the conversation. Recording is automatically paused while
2313
+ # the pay tool is active and resumes when the payment flow completes. The
2314
+ # connector_name must reference a pay connector configured in the Telnyx API.
2315
+ sig do
2316
+ params(
2317
+ pay: Telnyx::AI::PayToolParams::OrHash,
2318
+ type: Symbol
2319
+ ).returns(T.attached_class)
2320
+ end
2321
+ def self.new(pay:, type: :pay)
2322
+ end
2323
+
2324
+ sig do
2325
+ override.returns({ pay: Telnyx::AI::PayToolParams, type: Symbol })
2326
+ end
2327
+ def to_hash
2328
+ end
2329
+ end
2330
+
2295
2331
  sig { override.returns(T::Array[Telnyx::AI::AssistantTool::Variants]) }
2296
2332
  def self.variants
2297
2333
  end
@@ -288,7 +288,8 @@ module Telnyx
288
288
  Telnyx::AI::AssistantTool::Refer,
289
289
  Telnyx::AI::AssistantTool::SendDtmf,
290
290
  Telnyx::AI::AssistantTool::SendMessage,
291
- Telnyx::AI::AssistantTool::SkipTurn
291
+ Telnyx::AI::AssistantTool::SkipTurn,
292
+ Telnyx::AI::AssistantTool::Pay
292
293
  )
293
294
  ]
294
295
  )
@@ -311,7 +312,8 @@ module Telnyx
311
312
  Telnyx::AI::AssistantTool::Refer::OrHash,
312
313
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
313
314
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
314
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
315
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
316
+ Telnyx::AI::AssistantTool::Pay::OrHash
315
317
  )
316
318
  ]
317
319
  ).void
@@ -389,7 +391,8 @@ module Telnyx
389
391
  Telnyx::AI::AssistantTool::Refer::OrHash,
390
392
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
391
393
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
392
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
394
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
395
+ Telnyx::AI::AssistantTool::Pay::OrHash
393
396
  )
394
397
  ],
395
398
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
@@ -545,7 +548,8 @@ module Telnyx
545
548
  Telnyx::AI::AssistantTool::Refer,
546
549
  Telnyx::AI::AssistantTool::SendDtmf,
547
550
  Telnyx::AI::AssistantTool::SendMessage,
548
- Telnyx::AI::AssistantTool::SkipTurn
551
+ Telnyx::AI::AssistantTool::SkipTurn,
552
+ Telnyx::AI::AssistantTool::Pay
549
553
  )
550
554
  ],
551
555
  transcription: Telnyx::AI::TranscriptionSettings,
@@ -286,7 +286,8 @@ module Telnyx
286
286
  Telnyx::AI::AssistantTool::Refer,
287
287
  Telnyx::AI::AssistantTool::SendDtmf,
288
288
  Telnyx::AI::AssistantTool::SendMessage,
289
- Telnyx::AI::AssistantTool::SkipTurn
289
+ Telnyx::AI::AssistantTool::SkipTurn,
290
+ Telnyx::AI::AssistantTool::Pay
290
291
  )
291
292
  ]
292
293
  )
@@ -309,7 +310,8 @@ module Telnyx
309
310
  Telnyx::AI::AssistantTool::Refer::OrHash,
310
311
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
311
312
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
312
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
313
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
314
+ Telnyx::AI::AssistantTool::Pay::OrHash
313
315
  )
314
316
  ]
315
317
  ).void
@@ -389,7 +391,8 @@ module Telnyx
389
391
  Telnyx::AI::AssistantTool::Refer::OrHash,
390
392
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
391
393
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
392
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
394
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
395
+ Telnyx::AI::AssistantTool::Pay::OrHash
393
396
  )
394
397
  ],
395
398
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
@@ -538,7 +541,8 @@ module Telnyx
538
541
  Telnyx::AI::AssistantTool::Refer,
539
542
  Telnyx::AI::AssistantTool::SendDtmf,
540
543
  Telnyx::AI::AssistantTool::SendMessage,
541
- Telnyx::AI::AssistantTool::SkipTurn
544
+ Telnyx::AI::AssistantTool::SkipTurn,
545
+ Telnyx::AI::AssistantTool::Pay
542
546
  )
543
547
  ],
544
548
  transcription: Telnyx::AI::TranscriptionSettings,
@@ -0,0 +1,188 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ module Conversations
7
+ class ConversationInsightRetrieveAggregatesParams < Telnyx::Internal::Type::BaseModel
8
+ extend Telnyx::Internal::Type::RequestParameters::Converter
9
+ include Telnyx::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams,
15
+ Telnyx::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Filter by creation datetime to scope the aggregation window. Supports range
20
+ # operators (e.g., `created_at=gte.2025-01-01T00:00:00Z` for the start of the
21
+ # range, `created_at=lt.2025-01-02T00:00:00Z` for the end). To build per-day time
22
+ # series (as the portal does for the 'Insights Over Time' chart), issue one
23
+ # request per day bounded by `created_at=gte.<day_start>` and
24
+ # `created_at=lt.<next_day_start>`.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :created_at
27
+
28
+ sig { params(created_at: String).void }
29
+ attr_writer :created_at
30
+
31
+ # Fields to group by (can be comma-separated or multiple parameters). Prefix a
32
+ # field with 'metadata.' (e.g. 'metadata.assistant_id') to group by the
33
+ # conversation's metadata instead of the insight result.
34
+ #
35
+ # Common fields used for over-time charts:
36
+ #
37
+ # - `score` — Group by the insight's score value (e.g. for Agent Instruction
38
+ # Following, User Satisfaction).
39
+ # - `metadata.assistant_id` — Group by the assistant that handled the
40
+ # conversation.
41
+ # - `metadata.assistant_version_id` — Group by the assistant version, useful for
42
+ # comparing performance across versions in the portal's 'Insights Over Time'
43
+ # chart.
44
+ # - `metadata.telnyx_conversation_channel` — Group by conversation channel
45
+ # (phone_call, web_chat, etc.).
46
+ sig { returns(T.nilable(T::Array[String])) }
47
+ attr_reader :group_by
48
+
49
+ sig { params(group_by: T::Array[String]).void }
50
+ attr_writer :group_by
51
+
52
+ # Optional insight ID to filter conversation insights. Only insights matching this
53
+ # ID will be included in the aggregation.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :insight_id
56
+
57
+ sig { params(insight_id: String).void }
58
+ attr_writer :insight_id
59
+
60
+ sig do
61
+ returns(
62
+ T.nilable(
63
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams::Metadata
64
+ )
65
+ )
66
+ end
67
+ attr_reader :metadata
68
+
69
+ sig do
70
+ params(
71
+ metadata:
72
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams::Metadata::OrHash
73
+ ).void
74
+ end
75
+ attr_writer :metadata
76
+
77
+ # Fields to include in the result (can be comma-separated or multiple parameters).
78
+ # Supports the same 'metadata.<key>' prefix as group_by. Each returned row will
79
+ # contain the grouped field values plus a `record_count` indicating how many
80
+ # conversation insights match that combination.
81
+ sig { returns(T.nilable(T::Array[String])) }
82
+ attr_reader :show
83
+
84
+ sig { params(show: T::Array[String]).void }
85
+ attr_writer :show
86
+
87
+ sig do
88
+ params(
89
+ created_at: String,
90
+ group_by: T::Array[String],
91
+ insight_id: String,
92
+ metadata:
93
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams::Metadata::OrHash,
94
+ show: T::Array[String],
95
+ request_options: Telnyx::RequestOptions::OrHash
96
+ ).returns(T.attached_class)
97
+ end
98
+ def self.new(
99
+ # Filter by creation datetime to scope the aggregation window. Supports range
100
+ # operators (e.g., `created_at=gte.2025-01-01T00:00:00Z` for the start of the
101
+ # range, `created_at=lt.2025-01-02T00:00:00Z` for the end). To build per-day time
102
+ # series (as the portal does for the 'Insights Over Time' chart), issue one
103
+ # request per day bounded by `created_at=gte.<day_start>` and
104
+ # `created_at=lt.<next_day_start>`.
105
+ created_at: nil,
106
+ # Fields to group by (can be comma-separated or multiple parameters). Prefix a
107
+ # field with 'metadata.' (e.g. 'metadata.assistant_id') to group by the
108
+ # conversation's metadata instead of the insight result.
109
+ #
110
+ # Common fields used for over-time charts:
111
+ #
112
+ # - `score` — Group by the insight's score value (e.g. for Agent Instruction
113
+ # Following, User Satisfaction).
114
+ # - `metadata.assistant_id` — Group by the assistant that handled the
115
+ # conversation.
116
+ # - `metadata.assistant_version_id` — Group by the assistant version, useful for
117
+ # comparing performance across versions in the portal's 'Insights Over Time'
118
+ # chart.
119
+ # - `metadata.telnyx_conversation_channel` — Group by conversation channel
120
+ # (phone_call, web_chat, etc.).
121
+ group_by: nil,
122
+ # Optional insight ID to filter conversation insights. Only insights matching this
123
+ # ID will be included in the aggregation.
124
+ insight_id: nil,
125
+ metadata: nil,
126
+ # Fields to include in the result (can be comma-separated or multiple parameters).
127
+ # Supports the same 'metadata.<key>' prefix as group_by. Each returned row will
128
+ # contain the grouped field values plus a `record_count` indicating how many
129
+ # conversation insights match that combination.
130
+ show: nil,
131
+ request_options: {}
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ created_at: String,
139
+ group_by: T::Array[String],
140
+ insight_id: String,
141
+ metadata:
142
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams::Metadata,
143
+ show: T::Array[String],
144
+ request_options: Telnyx::RequestOptions
145
+ }
146
+ )
147
+ end
148
+ def to_hash
149
+ end
150
+
151
+ class Metadata < Telnyx::Internal::Type::BaseModel
152
+ OrHash =
153
+ T.type_alias do
154
+ T.any(
155
+ Telnyx::AI::Conversations::ConversationInsightRetrieveAggregatesParams::Metadata,
156
+ Telnyx::Internal::AnyHash
157
+ )
158
+ end
159
+
160
+ # Filter by assistant ID (e.g., `metadata.assistant_id=eq.<assistant_id>`). When
161
+ # provided, only conversation insights for the specified assistant are aggregated.
162
+ # Used by the portal to scope the 'Insights Over Time' chart to a single
163
+ # assistant.
164
+ sig { returns(T.nilable(String)) }
165
+ attr_reader :assistant_id
166
+
167
+ sig { params(assistant_id: String).void }
168
+ attr_writer :assistant_id
169
+
170
+ sig { params(assistant_id: String).returns(T.attached_class) }
171
+ def self.new(
172
+ # Filter by assistant ID (e.g., `metadata.assistant_id=eq.<assistant_id>`). When
173
+ # provided, only conversation insights for the specified assistant are aggregated.
174
+ # Used by the portal to scope the 'Insights Over Time' chart to a single
175
+ # assistant.
176
+ assistant_id: nil
177
+ )
178
+ end
179
+
180
+ sig { override.returns({ assistant_id: String }) }
181
+ def to_hash
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end