telnyx 5.155.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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +1 -0
  5. data/lib/telnyx/internal/type/union.rb +4 -4
  6. data/lib/telnyx/models/ai/anthropic/v1_messages_params.rb +209 -0
  7. data/lib/telnyx/models/ai/anthropic/v1_messages_response.rb +12 -0
  8. data/lib/telnyx/models/ai/assistant_create_params.rb +2 -2
  9. data/lib/telnyx/models/ai/assistant_tool.rb +118 -1
  10. data/lib/telnyx/models/ai/assistant_update_params.rb +2 -2
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +2 -2
  12. data/lib/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rb +103 -0
  13. data/lib/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rb +54 -0
  14. data/lib/telnyx/models/ai/inference_embedding.rb +6 -6
  15. data/lib/telnyx/models/ai/pay_tool_params.rb +46 -0
  16. data/lib/telnyx/models/ai/tool_create_params.rb +13 -1
  17. data/lib/telnyx/models/ai/tool_update_params.rb +13 -1
  18. data/lib/telnyx/models/ai/transcription_settings.rb +3 -3
  19. data/lib/telnyx/models/call_dial_params.rb +13 -1
  20. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +3 -0
  21. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +6 -0
  22. data/lib/telnyx/models/calls/action_speak_params.rb +6 -0
  23. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +3 -0
  24. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +3 -0
  25. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +2 -1
  26. data/lib/telnyx/models/calls/transcription_config.rb +8 -4
  27. data/lib/telnyx/models/calls/transcription_engine_parakeet_config.rb +1 -1
  28. data/lib/telnyx/models/conferences/action_speak_params.rb +6 -0
  29. data/lib/telnyx/models/conversation_relay_embedded_config.rb +3 -0
  30. data/lib/telnyx/models/doc_reqs_requirement.rb +29 -4
  31. data/lib/telnyx/models/inbound_message.rb +278 -28
  32. data/lib/telnyx/models/inbound_message_webhook_event.rb +70 -3
  33. data/lib/telnyx/models/managed_account_list_params.rb +45 -3
  34. data/lib/telnyx/models/models_response.rb +0 -1
  35. data/lib/telnyx/models/phone_number_delete_response.rb +12 -1
  36. data/lib/telnyx/models/phone_number_detailed.rb +12 -1
  37. data/lib/telnyx/models/phone_number_slim_list_response.rb +12 -1
  38. data/lib/telnyx/models/requirement_list_params.rb +10 -1
  39. data/lib/telnyx/models/requirement_retrieve_params.rb +14 -1
  40. data/lib/telnyx/models/speech_to_text_retrieve_transcription_params.rb +1 -1
  41. data/lib/telnyx/models/storage/cloudf_create_params.rb +56 -0
  42. data/lib/telnyx/models/storage/cloudf_delete_params.rb +22 -0
  43. data/lib/telnyx/models/storage/cloudf_list_params.rb +109 -0
  44. data/lib/telnyx/models/storage/cloudf_list_response.rb +165 -0
  45. data/lib/telnyx/models/storage/cloudf_retrieve_params.rb +22 -0
  46. data/lib/telnyx/models/storage/cloudf_update_params.rb +36 -0
  47. data/lib/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rb +30 -0
  48. data/lib/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rb +129 -0
  49. data/lib/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rb +129 -0
  50. data/lib/telnyx/models/storage/cloudfs_filesystem_status.rb +28 -0
  51. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +13 -8
  52. data/lib/telnyx/models/text_to_speech_retrieve_speech_params.rb +4 -4
  53. data/lib/telnyx/models/verify_profile.rb +2 -2
  54. data/lib/telnyx/models/verify_profile_create_params.rb +2 -2
  55. data/lib/telnyx/models/verify_profile_update_params.rb +2 -2
  56. data/lib/telnyx/models.rb +0 -6
  57. data/lib/telnyx/resources/ai/anthropic/v1.rb +91 -0
  58. data/lib/telnyx/resources/ai/anthropic.rb +20 -0
  59. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  60. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  61. data/lib/telnyx/resources/ai/chat.rb +0 -81
  62. data/lib/telnyx/resources/ai/conversations/conversation_insights.rb +55 -0
  63. data/lib/telnyx/resources/ai/conversations.rb +5 -0
  64. data/lib/telnyx/resources/ai/tools.rb +8 -2
  65. data/lib/telnyx/resources/ai.rb +3 -56
  66. data/lib/telnyx/resources/calls.rb +3 -1
  67. data/lib/telnyx/resources/messages.rb +1 -32
  68. data/lib/telnyx/resources/requirements.rb +13 -3
  69. data/lib/telnyx/resources/storage/cloudfs/actions.rb +54 -0
  70. data/lib/telnyx/resources/storage/cloudfs.rb +187 -0
  71. data/lib/telnyx/resources/storage.rb +6 -0
  72. data/lib/telnyx/version.rb +1 -1
  73. data/lib/telnyx.rb +20 -7
  74. data/rbi/telnyx/client.rbi +1 -0
  75. data/rbi/telnyx/models/ai/anthropic/v1_messages_params.rbi +314 -0
  76. data/rbi/telnyx/models/ai/anthropic/v1_messages_response.rbi +15 -0
  77. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -4
  78. data/rbi/telnyx/models/ai/assistant_tool.rbi +258 -1
  79. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -4
  80. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -4
  81. data/rbi/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rbi +188 -0
  82. data/rbi/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rbi +94 -0
  83. data/rbi/telnyx/models/ai/inference_embedding.rbi +18 -6
  84. data/rbi/telnyx/models/ai/pay_tool_params.rbi +71 -0
  85. data/rbi/telnyx/models/ai/tool_create_params.rbi +18 -0
  86. data/rbi/telnyx/models/ai/tool_update_params.rbi +18 -0
  87. data/rbi/telnyx/models/ai/transcription_settings.rbi +5 -5
  88. data/rbi/telnyx/models/call_dial_params.rbi +19 -0
  89. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +6 -0
  90. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +12 -0
  91. data/rbi/telnyx/models/calls/action_speak_params.rbi +12 -0
  92. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +6 -0
  93. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +6 -0
  94. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +4 -2
  95. data/rbi/telnyx/models/calls/transcription_config.rbi +15 -7
  96. data/rbi/telnyx/models/calls/transcription_engine_parakeet_config.rbi +2 -2
  97. data/rbi/telnyx/models/conferences/action_speak_params.rbi +12 -0
  98. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +6 -0
  99. data/rbi/telnyx/models/doc_reqs_requirement.rbi +38 -9
  100. data/rbi/telnyx/models/inbound_message.rbi +324 -58
  101. data/rbi/telnyx/models/inbound_message_webhook_event.rbi +173 -4
  102. data/rbi/telnyx/models/managed_account_list_params.rbi +130 -6
  103. data/rbi/telnyx/models/phone_number_delete_response.rbi +14 -0
  104. data/rbi/telnyx/models/phone_number_detailed.rbi +14 -0
  105. data/rbi/telnyx/models/phone_number_slim_list_response.rbi +14 -0
  106. data/rbi/telnyx/models/requirement_list_params.rbi +13 -0
  107. data/rbi/telnyx/models/requirement_retrieve_params.rbi +21 -2
  108. data/rbi/telnyx/models/speech_to_text_retrieve_transcription_params.rbi +2 -2
  109. data/rbi/telnyx/models/storage/cloudf_create_params.rbi +103 -0
  110. data/rbi/telnyx/models/storage/cloudf_delete_params.rbi +40 -0
  111. data/rbi/telnyx/models/storage/cloudf_list_params.rbi +232 -0
  112. data/rbi/telnyx/models/storage/cloudf_list_response.rbi +327 -0
  113. data/rbi/telnyx/models/storage/cloudf_retrieve_params.rbi +40 -0
  114. data/rbi/telnyx/models/storage/cloudf_update_params.rbi +61 -0
  115. data/rbi/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rbi +50 -0
  116. data/rbi/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rbi +229 -0
  117. data/rbi/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rbi +227 -0
  118. data/rbi/telnyx/models/storage/cloudfs_filesystem_status.rbi +57 -0
  119. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +21 -13
  120. data/rbi/telnyx/models/text_to_speech_retrieve_speech_params.rbi +8 -8
  121. data/rbi/telnyx/models/verify_profile.rbi +2 -2
  122. data/rbi/telnyx/models/verify_profile_create_params.rbi +2 -2
  123. data/rbi/telnyx/models/verify_profile_update_params.rbi +2 -2
  124. data/rbi/telnyx/models.rbi +0 -7
  125. data/rbi/telnyx/resources/ai/anthropic/v1.rbi +106 -0
  126. data/rbi/telnyx/resources/ai/anthropic.rbi +17 -0
  127. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -1
  128. data/rbi/telnyx/resources/ai/assistants.rbi +6 -2
  129. data/rbi/telnyx/resources/ai/chat.rbi +0 -129
  130. data/rbi/telnyx/resources/ai/conversations/conversation_insights.rbi +68 -0
  131. data/rbi/telnyx/resources/ai/conversations.rbi +6 -0
  132. data/rbi/telnyx/resources/ai/tools.rbi +8 -0
  133. data/rbi/telnyx/resources/ai.rbi +2 -32
  134. data/rbi/telnyx/resources/calls/actions.rbi +21 -0
  135. data/rbi/telnyx/resources/calls.rbi +7 -0
  136. data/rbi/telnyx/resources/conferences/actions.rbi +6 -0
  137. data/rbi/telnyx/resources/managed_accounts.rbi +1 -1
  138. data/rbi/telnyx/resources/messages.rbi +1 -28
  139. data/rbi/telnyx/resources/requirements.rbi +8 -0
  140. data/rbi/telnyx/resources/storage/cloudfs/actions.rbi +46 -0
  141. data/rbi/telnyx/resources/storage/cloudfs.rbi +152 -0
  142. data/rbi/telnyx/resources/storage.rbi +5 -0
  143. data/rbi/telnyx/resources/text_to_speech.rbi +11 -9
  144. data/sig/telnyx/models/ai/anthropic/v1_messages_params.rbs +175 -0
  145. data/sig/telnyx/models/ai/anthropic/v1_messages_response.rbs +11 -0
  146. data/sig/telnyx/models/ai/assistant_tool.rbs +108 -0
  147. data/sig/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_params.rbs +74 -0
  148. data/sig/telnyx/models/ai/conversations/conversation_insight_retrieve_aggregates_response.rbs +34 -0
  149. data/sig/telnyx/models/ai/pay_tool_params.rbs +41 -0
  150. data/sig/telnyx/models/ai/tool_create_params.rbs +14 -0
  151. data/sig/telnyx/models/ai/tool_update_params.rbs +14 -0
  152. data/sig/telnyx/models/ai/transcription_settings.rbs +2 -2
  153. data/sig/telnyx/models/call_dial_params.rbs +7 -0
  154. data/sig/telnyx/models/calls/transcription_config.rbs +2 -2
  155. data/sig/telnyx/models/calls/transcription_engine_parakeet_config.rbs +2 -2
  156. data/sig/telnyx/models/doc_reqs_requirement.rbs +25 -8
  157. data/sig/telnyx/models/inbound_message.rbs +204 -35
  158. data/sig/telnyx/models/inbound_message_webhook_event.rbs +81 -5
  159. data/sig/telnyx/models/managed_account_list_params.rbs +47 -3
  160. data/sig/telnyx/models/phone_number_delete_response.rbs +5 -0
  161. data/sig/telnyx/models/phone_number_detailed.rbs +5 -0
  162. data/sig/telnyx/models/phone_number_slim_list_response.rbs +5 -0
  163. data/sig/telnyx/models/requirement_list_params.rbs +8 -1
  164. data/sig/telnyx/models/requirement_retrieve_params.rbs +12 -2
  165. data/sig/telnyx/models/speech_to_text_retrieve_transcription_params.rbs +2 -2
  166. data/sig/telnyx/models/storage/cloudf_create_params.rbs +50 -0
  167. data/sig/telnyx/models/storage/cloudf_delete_params.rbs +22 -0
  168. data/sig/telnyx/models/storage/cloudf_list_params.rbs +112 -0
  169. data/sig/telnyx/models/storage/cloudf_list_response.rbs +163 -0
  170. data/sig/telnyx/models/storage/cloudf_retrieve_params.rbs +22 -0
  171. data/sig/telnyx/models/storage/cloudf_update_params.rbs +32 -0
  172. data/sig/telnyx/models/storage/cloudfs/action_rotate_meta_token_params.rbs +32 -0
  173. data/sig/telnyx/models/storage/cloudfs_filesystem_detail_response_wrapper.rbs +115 -0
  174. data/sig/telnyx/models/storage/cloudfs_filesystem_response_wrapper.rbs +115 -0
  175. data/sig/telnyx/models/storage/cloudfs_filesystem_status.rbs +21 -0
  176. data/sig/telnyx/models.rbs +0 -6
  177. data/sig/telnyx/resources/ai/anthropic/v1.rbs +35 -0
  178. data/sig/telnyx/resources/ai/anthropic.rbs +11 -0
  179. data/sig/telnyx/resources/ai/chat.rbs +0 -30
  180. data/sig/telnyx/resources/ai/conversations/conversation_insights.rbs +20 -0
  181. data/sig/telnyx/resources/ai/conversations.rbs +2 -0
  182. data/sig/telnyx/resources/ai/tools.rbs +4 -0
  183. data/sig/telnyx/resources/ai.rbs +1 -8
  184. data/sig/telnyx/resources/calls.rbs +1 -0
  185. data/sig/telnyx/resources/messages.rbs +0 -10
  186. data/sig/telnyx/resources/requirements.rbs +2 -0
  187. data/sig/telnyx/resources/storage/cloudfs/actions.rbs +17 -0
  188. data/sig/telnyx/resources/storage/cloudfs.rbs +45 -0
  189. data/sig/telnyx/resources/storage.rbs +2 -0
  190. metadata +62 -23
  191. data/lib/telnyx/models/ai/chat_create_completion_params.rb +0 -16
  192. data/lib/telnyx/models/ai/chat_create_completion_response.rb +0 -10
  193. data/lib/telnyx/models/ai_create_response_deprecated_params.rb +0 -20
  194. data/lib/telnyx/models/ai_create_response_deprecated_response.rb +0 -8
  195. data/lib/telnyx/models/ai_retrieve_models_params.rb +0 -14
  196. data/lib/telnyx/models/message_send_whatsapp_params.rb +0 -71
  197. data/lib/telnyx/models/message_send_whatsapp_response.rb +0 -178
  198. data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +0 -32
  199. data/rbi/telnyx/models/ai/chat_create_completion_response.rbi +0 -13
  200. data/rbi/telnyx/models/ai_create_response_deprecated_params.rbi +0 -41
  201. data/rbi/telnyx/models/ai_create_response_deprecated_response.rbi +0 -11
  202. data/rbi/telnyx/models/ai_retrieve_models_params.rbi +0 -27
  203. data/rbi/telnyx/models/message_send_whatsapp_params.rbi +0 -124
  204. data/rbi/telnyx/models/message_send_whatsapp_response.rbi +0 -379
  205. data/sig/telnyx/models/ai/chat_create_completion_params.rbs +0 -17
  206. data/sig/telnyx/models/ai/chat_create_completion_response.rbs +0 -9
  207. data/sig/telnyx/models/ai_create_response_deprecated_params.rbs +0 -24
  208. data/sig/telnyx/models/ai_create_response_deprecated_response.rbs +0 -7
  209. data/sig/telnyx/models/ai_retrieve_models_params.rbs +0 -15
  210. data/sig/telnyx/models/message_send_whatsapp_params.rbs +0 -69
  211. data/sig/telnyx/models/message_send_whatsapp_response.rbs +0 -191
@@ -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
@@ -262,6 +262,7 @@ module Telnyx
262
262
  T::Array[
263
263
  T.any(
264
264
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
265
+ Telnyx::AI::AssistantTool::ClientSideTool,
265
266
  Telnyx::AI::RetrievalTool,
266
267
  Telnyx::AI::AssistantTool::Handoff,
267
268
  Telnyx::AI::HangupTool,
@@ -270,7 +271,8 @@ module Telnyx
270
271
  Telnyx::AI::AssistantTool::Refer,
271
272
  Telnyx::AI::AssistantTool::SendDtmf,
272
273
  Telnyx::AI::AssistantTool::SendMessage,
273
- Telnyx::AI::AssistantTool::SkipTurn
274
+ Telnyx::AI::AssistantTool::SkipTurn,
275
+ Telnyx::AI::AssistantTool::Pay
274
276
  )
275
277
  ]
276
278
  )
@@ -284,6 +286,7 @@ module Telnyx
284
286
  T::Array[
285
287
  T.any(
286
288
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
289
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
287
290
  Telnyx::AI::RetrievalTool::OrHash,
288
291
  Telnyx::AI::AssistantTool::Handoff::OrHash,
289
292
  Telnyx::AI::HangupTool::OrHash,
@@ -292,7 +295,8 @@ module Telnyx
292
295
  Telnyx::AI::AssistantTool::Refer::OrHash,
293
296
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
294
297
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
295
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
298
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
299
+ Telnyx::AI::AssistantTool::Pay::OrHash
296
300
  )
297
301
  ]
298
302
  ).void
@@ -352,6 +356,7 @@ module Telnyx
352
356
  T::Array[
353
357
  T.any(
354
358
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
359
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
355
360
  Telnyx::AI::RetrievalTool::OrHash,
356
361
  Telnyx::AI::AssistantTool::Handoff::OrHash,
357
362
  Telnyx::AI::HangupTool::OrHash,
@@ -360,7 +365,8 @@ module Telnyx
360
365
  Telnyx::AI::AssistantTool::Refer::OrHash,
361
366
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
362
367
  Telnyx::AI::AssistantTool::SendMessage::OrHash,
363
- Telnyx::AI::AssistantTool::SkipTurn::OrHash
368
+ Telnyx::AI::AssistantTool::SkipTurn::OrHash,
369
+ Telnyx::AI::AssistantTool::Pay::OrHash
364
370
  )
365
371
  ],
366
372
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
@@ -498,6 +504,7 @@ module Telnyx
498
504
  T::Array[
499
505
  T.any(
500
506
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
507
+ Telnyx::AI::AssistantTool::ClientSideTool,
501
508
  Telnyx::AI::RetrievalTool,
502
509
  Telnyx::AI::AssistantTool::Handoff,
503
510
  Telnyx::AI::HangupTool,
@@ -506,7 +513,8 @@ module Telnyx
506
513
  Telnyx::AI::AssistantTool::Refer,
507
514
  Telnyx::AI::AssistantTool::SendDtmf,
508
515
  Telnyx::AI::AssistantTool::SendMessage,
509
- Telnyx::AI::AssistantTool::SkipTurn
516
+ Telnyx::AI::AssistantTool::SkipTurn,
517
+ Telnyx::AI::AssistantTool::Pay
510
518
  )
511
519
  ],
512
520
  transcription: Telnyx::AI::TranscriptionSettings,
@@ -13,6 +13,7 @@ module Telnyx
13
13
  T.type_alias do
14
14
  T.any(
15
15
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
16
+ Telnyx::AI::AssistantTool::ClientSideTool,
16
17
  Telnyx::AI::RetrievalTool,
17
18
  Telnyx::AI::AssistantTool::Handoff,
18
19
  Telnyx::AI::HangupTool,
@@ -21,10 +22,231 @@ module Telnyx
21
22
  Telnyx::AI::AssistantTool::Refer,
22
23
  Telnyx::AI::AssistantTool::SendDtmf,
23
24
  Telnyx::AI::AssistantTool::SendMessage,
24
- Telnyx::AI::AssistantTool::SkipTurn
25
+ Telnyx::AI::AssistantTool::SkipTurn,
26
+ Telnyx::AI::AssistantTool::Pay
25
27
  )
26
28
  end
27
29
 
30
+ class ClientSideTool < Telnyx::Internal::Type::BaseModel
31
+ OrHash =
32
+ T.type_alias do
33
+ T.any(
34
+ Telnyx::AI::AssistantTool::ClientSideTool,
35
+ Telnyx::Internal::AnyHash
36
+ )
37
+ end
38
+
39
+ sig do
40
+ returns(Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool)
41
+ end
42
+ attr_reader :client_side_tool
43
+
44
+ sig do
45
+ params(
46
+ client_side_tool:
47
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::OrHash
48
+ ).void
49
+ end
50
+ attr_writer :client_side_tool
51
+
52
+ sig { returns(Symbol) }
53
+ attr_accessor :type
54
+
55
+ sig do
56
+ params(
57
+ client_side_tool:
58
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::OrHash,
59
+ type: Symbol
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(client_side_tool:, type: :client_side_tool)
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ client_side_tool:
69
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool,
70
+ type: Symbol
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+
77
+ class ClientSideTool < Telnyx::Internal::Type::BaseModel
78
+ OrHash =
79
+ T.type_alias do
80
+ T.any(
81
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool,
82
+ Telnyx::Internal::AnyHash
83
+ )
84
+ end
85
+
86
+ # The description of the tool.
87
+ sig { returns(String) }
88
+ attr_accessor :description
89
+
90
+ # The name of the tool.
91
+ sig { returns(String) }
92
+ attr_accessor :name
93
+
94
+ # The parameters the tool accepts, described as a JSON Schema object. See the
95
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
96
+ # documentation about the format
97
+ sig do
98
+ returns(
99
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters
100
+ )
101
+ end
102
+ attr_reader :parameters
103
+
104
+ sig do
105
+ params(
106
+ parameters:
107
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::OrHash
108
+ ).void
109
+ end
110
+ attr_writer :parameters
111
+
112
+ sig do
113
+ params(
114
+ description: String,
115
+ name: String,
116
+ parameters:
117
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::OrHash
118
+ ).returns(T.attached_class)
119
+ end
120
+ def self.new(
121
+ # The description of the tool.
122
+ description:,
123
+ # The name of the tool.
124
+ name:,
125
+ # The parameters the tool accepts, described as a JSON Schema object. See the
126
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
127
+ # documentation about the format
128
+ parameters:
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ {
135
+ description: String,
136
+ name: String,
137
+ parameters:
138
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters
139
+ }
140
+ )
141
+ end
142
+ def to_hash
143
+ end
144
+
145
+ class Parameters < Telnyx::Internal::Type::BaseModel
146
+ OrHash =
147
+ T.type_alias do
148
+ T.any(
149
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters,
150
+ Telnyx::Internal::AnyHash
151
+ )
152
+ end
153
+
154
+ # The properties of the parameters.
155
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
156
+ attr_reader :properties
157
+
158
+ sig { params(properties: T::Hash[Symbol, T.anything]).void }
159
+ attr_writer :properties
160
+
161
+ # The required properties of the parameters.
162
+ sig { returns(T.nilable(T::Array[String])) }
163
+ attr_reader :required
164
+
165
+ sig { params(required: T::Array[String]).void }
166
+ attr_writer :required
167
+
168
+ sig do
169
+ returns(
170
+ T.nilable(
171
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
172
+ )
173
+ )
174
+ end
175
+ attr_reader :type
176
+
177
+ sig do
178
+ params(
179
+ type:
180
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
181
+ ).void
182
+ end
183
+ attr_writer :type
184
+
185
+ # The parameters the tool accepts, described as a JSON Schema object. See the
186
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
187
+ # documentation about the format
188
+ sig do
189
+ params(
190
+ properties: T::Hash[Symbol, T.anything],
191
+ required: T::Array[String],
192
+ type:
193
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
194
+ ).returns(T.attached_class)
195
+ end
196
+ def self.new(
197
+ # The properties of the parameters.
198
+ properties: nil,
199
+ # The required properties of the parameters.
200
+ required: nil,
201
+ type: nil
202
+ )
203
+ end
204
+
205
+ sig do
206
+ override.returns(
207
+ {
208
+ properties: T::Hash[Symbol, T.anything],
209
+ required: T::Array[String],
210
+ type:
211
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
212
+ }
213
+ )
214
+ end
215
+ def to_hash
216
+ end
217
+
218
+ module Type
219
+ extend Telnyx::Internal::Type::Enum
220
+
221
+ TaggedSymbol =
222
+ T.type_alias do
223
+ T.all(
224
+ Symbol,
225
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type
226
+ )
227
+ end
228
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
229
+
230
+ OBJECT =
231
+ T.let(
232
+ :object,
233
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::TaggedSymbol
234
+ )
235
+
236
+ sig do
237
+ override.returns(
238
+ T::Array[
239
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::TaggedSymbol
240
+ ]
241
+ )
242
+ end
243
+ def self.values
244
+ end
245
+ end
246
+ end
247
+ end
248
+ end
249
+
28
250
  class Handoff < Telnyx::Internal::Type::BaseModel
29
251
  OrHash =
30
252
  T.type_alias do
@@ -2071,6 +2293,41 @@ module Telnyx
2071
2293
  end
2072
2294
  end
2073
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
+
2074
2331
  sig { override.returns(T::Array[Telnyx::AI::AssistantTool::Variants]) }
2075
2332
  def self.variants
2076
2333
  end