telnyx 5.155.0 → 5.156.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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/assistant_create_params.rb +2 -2
  7. data/lib/telnyx/models/ai/assistant_tool.rb +94 -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/inference_embedding.rb +6 -6
  11. data/lib/telnyx/models/ai/tool_create_params.rb +7 -1
  12. data/lib/telnyx/models/ai/tool_update_params.rb +7 -1
  13. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +3 -0
  14. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +6 -0
  15. data/lib/telnyx/models/calls/action_speak_params.rb +6 -0
  16. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +3 -0
  17. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +3 -0
  18. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +2 -1
  19. data/lib/telnyx/models/conferences/action_speak_params.rb +6 -0
  20. data/lib/telnyx/models/conversation_relay_embedded_config.rb +3 -0
  21. data/lib/telnyx/models/models_response.rb +0 -1
  22. data/lib/telnyx/models/phone_number_delete_response.rb +12 -1
  23. data/lib/telnyx/models/phone_number_detailed.rb +12 -1
  24. data/lib/telnyx/models/phone_number_slim_list_response.rb +12 -1
  25. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +13 -8
  26. data/lib/telnyx/models/text_to_speech_retrieve_speech_params.rb +4 -4
  27. data/lib/telnyx/models.rb +0 -6
  28. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  29. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  30. data/lib/telnyx/resources/ai/chat.rb +0 -81
  31. data/lib/telnyx/resources/ai/tools.rb +5 -2
  32. data/lib/telnyx/resources/ai.rb +0 -57
  33. data/lib/telnyx/resources/messages.rb +1 -32
  34. data/lib/telnyx/version.rb +1 -1
  35. data/lib/telnyx.rb +0 -7
  36. data/rbi/telnyx/client.rbi +1 -0
  37. data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -0
  38. data/rbi/telnyx/models/ai/assistant_tool.rbi +221 -0
  39. data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -0
  40. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -0
  41. data/rbi/telnyx/models/ai/inference_embedding.rbi +6 -0
  42. data/rbi/telnyx/models/ai/tool_create_params.rbi +9 -0
  43. data/rbi/telnyx/models/ai/tool_update_params.rbi +9 -0
  44. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +6 -0
  45. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +12 -0
  46. data/rbi/telnyx/models/calls/action_speak_params.rbi +12 -0
  47. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +6 -0
  48. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +6 -0
  49. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +4 -2
  50. data/rbi/telnyx/models/conferences/action_speak_params.rbi +12 -0
  51. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +6 -0
  52. data/rbi/telnyx/models/phone_number_delete_response.rbi +14 -0
  53. data/rbi/telnyx/models/phone_number_detailed.rbi +14 -0
  54. data/rbi/telnyx/models/phone_number_slim_list_response.rbi +14 -0
  55. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +21 -13
  56. data/rbi/telnyx/models/text_to_speech_retrieve_speech_params.rbi +8 -8
  57. data/rbi/telnyx/models.rbi +0 -7
  58. data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -0
  59. data/rbi/telnyx/resources/ai/assistants.rbi +2 -0
  60. data/rbi/telnyx/resources/ai/chat.rbi +0 -129
  61. data/rbi/telnyx/resources/ai/tools.rbi +4 -0
  62. data/rbi/telnyx/resources/ai.rbi +0 -33
  63. data/rbi/telnyx/resources/calls/actions.rbi +21 -0
  64. data/rbi/telnyx/resources/conferences/actions.rbi +6 -0
  65. data/rbi/telnyx/resources/messages.rbi +1 -28
  66. data/rbi/telnyx/resources/text_to_speech.rbi +11 -9
  67. data/sig/telnyx/models/ai/assistant_tool.rbs +95 -0
  68. data/sig/telnyx/models/ai/tool_create_params.rbs +7 -0
  69. data/sig/telnyx/models/ai/tool_update_params.rbs +7 -0
  70. data/sig/telnyx/models/phone_number_delete_response.rbs +5 -0
  71. data/sig/telnyx/models/phone_number_detailed.rbs +5 -0
  72. data/sig/telnyx/models/phone_number_slim_list_response.rbs +5 -0
  73. data/sig/telnyx/models.rbs +0 -6
  74. data/sig/telnyx/resources/ai/chat.rbs +0 -30
  75. data/sig/telnyx/resources/ai/tools.rbs +2 -0
  76. data/sig/telnyx/resources/ai.rbs +0 -9
  77. data/sig/telnyx/resources/messages.rbs +0 -10
  78. metadata +2 -23
  79. data/lib/telnyx/models/ai/chat_create_completion_params.rb +0 -16
  80. data/lib/telnyx/models/ai/chat_create_completion_response.rb +0 -10
  81. data/lib/telnyx/models/ai_create_response_deprecated_params.rb +0 -20
  82. data/lib/telnyx/models/ai_create_response_deprecated_response.rb +0 -8
  83. data/lib/telnyx/models/ai_retrieve_models_params.rb +0 -14
  84. data/lib/telnyx/models/message_send_whatsapp_params.rb +0 -71
  85. data/lib/telnyx/models/message_send_whatsapp_response.rb +0 -178
  86. data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +0 -32
  87. data/rbi/telnyx/models/ai/chat_create_completion_response.rbi +0 -13
  88. data/rbi/telnyx/models/ai_create_response_deprecated_params.rbi +0 -41
  89. data/rbi/telnyx/models/ai_create_response_deprecated_response.rbi +0 -11
  90. data/rbi/telnyx/models/ai_retrieve_models_params.rbi +0 -27
  91. data/rbi/telnyx/models/message_send_whatsapp_params.rbi +0 -124
  92. data/rbi/telnyx/models/message_send_whatsapp_response.rbi +0 -379
  93. data/sig/telnyx/models/ai/chat_create_completion_params.rbs +0 -17
  94. data/sig/telnyx/models/ai/chat_create_completion_response.rbs +0 -9
  95. data/sig/telnyx/models/ai_create_response_deprecated_params.rbs +0 -24
  96. data/sig/telnyx/models/ai_create_response_deprecated_response.rbs +0 -7
  97. data/sig/telnyx/models/ai_retrieve_models_params.rbs +0 -15
  98. data/sig/telnyx/models/message_send_whatsapp_params.rbs +0 -69
  99. data/sig/telnyx/models/message_send_whatsapp_response.rbs +0 -191
@@ -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,
@@ -25,6 +26,226 @@ module Telnyx
25
26
  )
26
27
  end
27
28
 
29
+ class ClientSideTool < Telnyx::Internal::Type::BaseModel
30
+ OrHash =
31
+ T.type_alias do
32
+ T.any(
33
+ Telnyx::AI::AssistantTool::ClientSideTool,
34
+ Telnyx::Internal::AnyHash
35
+ )
36
+ end
37
+
38
+ sig do
39
+ returns(Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool)
40
+ end
41
+ attr_reader :client_side_tool
42
+
43
+ sig do
44
+ params(
45
+ client_side_tool:
46
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::OrHash
47
+ ).void
48
+ end
49
+ attr_writer :client_side_tool
50
+
51
+ sig { returns(Symbol) }
52
+ attr_accessor :type
53
+
54
+ sig do
55
+ params(
56
+ client_side_tool:
57
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::OrHash,
58
+ type: Symbol
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(client_side_tool:, type: :client_side_tool)
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ client_side_tool:
68
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool,
69
+ type: Symbol
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ class ClientSideTool < Telnyx::Internal::Type::BaseModel
77
+ OrHash =
78
+ T.type_alias do
79
+ T.any(
80
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool,
81
+ Telnyx::Internal::AnyHash
82
+ )
83
+ end
84
+
85
+ # The description of the tool.
86
+ sig { returns(String) }
87
+ attr_accessor :description
88
+
89
+ # The name of the tool.
90
+ sig { returns(String) }
91
+ attr_accessor :name
92
+
93
+ # The parameters the tool accepts, described as a JSON Schema object. See the
94
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
95
+ # documentation about the format
96
+ sig do
97
+ returns(
98
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters
99
+ )
100
+ end
101
+ attr_reader :parameters
102
+
103
+ sig do
104
+ params(
105
+ parameters:
106
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::OrHash
107
+ ).void
108
+ end
109
+ attr_writer :parameters
110
+
111
+ sig do
112
+ params(
113
+ description: String,
114
+ name: String,
115
+ parameters:
116
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::OrHash
117
+ ).returns(T.attached_class)
118
+ end
119
+ def self.new(
120
+ # The description of the tool.
121
+ description:,
122
+ # The name of the tool.
123
+ name:,
124
+ # The parameters the tool accepts, described as a JSON Schema object. See the
125
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
126
+ # documentation about the format
127
+ parameters:
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ description: String,
135
+ name: String,
136
+ parameters:
137
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters
138
+ }
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ class Parameters < Telnyx::Internal::Type::BaseModel
145
+ OrHash =
146
+ T.type_alias do
147
+ T.any(
148
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters,
149
+ Telnyx::Internal::AnyHash
150
+ )
151
+ end
152
+
153
+ # The properties of the parameters.
154
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
155
+ attr_reader :properties
156
+
157
+ sig { params(properties: T::Hash[Symbol, T.anything]).void }
158
+ attr_writer :properties
159
+
160
+ # The required properties of the parameters.
161
+ sig { returns(T.nilable(T::Array[String])) }
162
+ attr_reader :required
163
+
164
+ sig { params(required: T::Array[String]).void }
165
+ attr_writer :required
166
+
167
+ sig do
168
+ returns(
169
+ T.nilable(
170
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
171
+ )
172
+ )
173
+ end
174
+ attr_reader :type
175
+
176
+ sig do
177
+ params(
178
+ type:
179
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
180
+ ).void
181
+ end
182
+ attr_writer :type
183
+
184
+ # The parameters the tool accepts, described as a JSON Schema object. See the
185
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
186
+ # documentation about the format
187
+ sig do
188
+ params(
189
+ properties: T::Hash[Symbol, T.anything],
190
+ required: T::Array[String],
191
+ type:
192
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
193
+ ).returns(T.attached_class)
194
+ end
195
+ def self.new(
196
+ # The properties of the parameters.
197
+ properties: nil,
198
+ # The required properties of the parameters.
199
+ required: nil,
200
+ type: nil
201
+ )
202
+ end
203
+
204
+ sig do
205
+ override.returns(
206
+ {
207
+ properties: T::Hash[Symbol, T.anything],
208
+ required: T::Array[String],
209
+ type:
210
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::OrSymbol
211
+ }
212
+ )
213
+ end
214
+ def to_hash
215
+ end
216
+
217
+ module Type
218
+ extend Telnyx::Internal::Type::Enum
219
+
220
+ TaggedSymbol =
221
+ T.type_alias do
222
+ T.all(
223
+ Symbol,
224
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type
225
+ )
226
+ end
227
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
228
+
229
+ OBJECT =
230
+ T.let(
231
+ :object,
232
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::TaggedSymbol
233
+ )
234
+
235
+ sig do
236
+ override.returns(
237
+ T::Array[
238
+ Telnyx::AI::AssistantTool::ClientSideTool::ClientSideTool::Parameters::Type::TaggedSymbol
239
+ ]
240
+ )
241
+ end
242
+ def self.values
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end
248
+
28
249
  class Handoff < Telnyx::Internal::Type::BaseModel
29
250
  OrHash =
30
251
  T.type_alias do
@@ -279,6 +279,7 @@ module Telnyx
279
279
  T::Array[
280
280
  T.any(
281
281
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
282
+ Telnyx::AI::AssistantTool::ClientSideTool,
282
283
  Telnyx::AI::RetrievalTool,
283
284
  Telnyx::AI::AssistantTool::Handoff,
284
285
  Telnyx::AI::HangupTool,
@@ -301,6 +302,7 @@ module Telnyx
301
302
  T::Array[
302
303
  T.any(
303
304
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
305
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
304
306
  Telnyx::AI::RetrievalTool::OrHash,
305
307
  Telnyx::AI::AssistantTool::Handoff::OrHash,
306
308
  Telnyx::AI::HangupTool::OrHash,
@@ -378,6 +380,7 @@ module Telnyx
378
380
  T::Array[
379
381
  T.any(
380
382
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
383
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
381
384
  Telnyx::AI::RetrievalTool::OrHash,
382
385
  Telnyx::AI::AssistantTool::Handoff::OrHash,
383
386
  Telnyx::AI::HangupTool::OrHash,
@@ -533,6 +536,7 @@ module Telnyx
533
536
  T::Array[
534
537
  T.any(
535
538
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
539
+ Telnyx::AI::AssistantTool::ClientSideTool,
536
540
  Telnyx::AI::RetrievalTool,
537
541
  Telnyx::AI::AssistantTool::Handoff,
538
542
  Telnyx::AI::HangupTool,
@@ -277,6 +277,7 @@ module Telnyx
277
277
  T::Array[
278
278
  T.any(
279
279
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
280
+ Telnyx::AI::AssistantTool::ClientSideTool,
280
281
  Telnyx::AI::RetrievalTool,
281
282
  Telnyx::AI::AssistantTool::Handoff,
282
283
  Telnyx::AI::HangupTool,
@@ -299,6 +300,7 @@ module Telnyx
299
300
  T::Array[
300
301
  T.any(
301
302
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
303
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
302
304
  Telnyx::AI::RetrievalTool::OrHash,
303
305
  Telnyx::AI::AssistantTool::Handoff::OrHash,
304
306
  Telnyx::AI::HangupTool::OrHash,
@@ -378,6 +380,7 @@ module Telnyx
378
380
  T::Array[
379
381
  T.any(
380
382
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
383
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
381
384
  Telnyx::AI::RetrievalTool::OrHash,
382
385
  Telnyx::AI::AssistantTool::Handoff::OrHash,
383
386
  Telnyx::AI::HangupTool::OrHash,
@@ -526,6 +529,7 @@ module Telnyx
526
529
  T::Array[
527
530
  T.any(
528
531
  Telnyx::AI::InferenceEmbeddingWebhookToolParams,
532
+ Telnyx::AI::AssistantTool::ClientSideTool,
529
533
  Telnyx::AI::RetrievalTool,
530
534
  Telnyx::AI::AssistantTool::Handoff,
531
535
  Telnyx::AI::HangupTool,
@@ -269,6 +269,7 @@ module Telnyx
269
269
  T::Array[
270
270
  T.any(
271
271
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
272
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
272
273
  Telnyx::AI::RetrievalTool::OrHash,
273
274
  Telnyx::AI::AssistantTool::Handoff::OrHash,
274
275
  Telnyx::AI::HangupTool::OrHash,
@@ -363,6 +364,7 @@ module Telnyx
363
364
  T::Array[
364
365
  T.any(
365
366
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
367
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
366
368
  Telnyx::AI::RetrievalTool::OrHash,
367
369
  Telnyx::AI::AssistantTool::Handoff::OrHash,
368
370
  Telnyx::AI::HangupTool::OrHash,
@@ -722,6 +724,7 @@ module Telnyx
722
724
  T::Array[
723
725
  T.any(
724
726
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
727
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
725
728
  Telnyx::AI::RetrievalTool::OrHash,
726
729
  Telnyx::AI::AssistantTool::Handoff::OrHash,
727
730
  Telnyx::AI::HangupTool::OrHash,
@@ -814,6 +817,7 @@ module Telnyx
814
817
  T::Array[
815
818
  T.any(
816
819
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
820
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
817
821
  Telnyx::AI::RetrievalTool::OrHash,
818
822
  Telnyx::AI::AssistantTool::Handoff::OrHash,
819
823
  Telnyx::AI::HangupTool::OrHash,
@@ -1071,6 +1075,7 @@ module Telnyx
1071
1075
  T::Array[
1072
1076
  T.any(
1073
1077
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
1078
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
1074
1079
  Telnyx::AI::RetrievalTool::OrHash,
1075
1080
  Telnyx::AI::AssistantTool::Handoff::OrHash,
1076
1081
  Telnyx::AI::HangupTool::OrHash,
@@ -1115,6 +1120,7 @@ module Telnyx
1115
1120
  T::Array[
1116
1121
  T.any(
1117
1122
  Telnyx::AI::InferenceEmbeddingWebhookToolParams::OrHash,
1123
+ Telnyx::AI::AssistantTool::ClientSideTool::OrHash,
1118
1124
  Telnyx::AI::RetrievalTool::OrHash,
1119
1125
  Telnyx::AI::AssistantTool::Handoff::OrHash,
1120
1126
  Telnyx::AI::HangupTool::OrHash,
@@ -18,6 +18,12 @@ module Telnyx
18
18
  sig { returns(String) }
19
19
  attr_accessor :type
20
20
 
21
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
22
+ attr_reader :client_side_tool
23
+
24
+ sig { params(client_side_tool: T::Hash[Symbol, T.anything]).void }
25
+ attr_writer :client_side_tool
26
+
21
27
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
22
28
  attr_reader :function
23
29
 
@@ -58,6 +64,7 @@ module Telnyx
58
64
  params(
59
65
  display_name: String,
60
66
  type: String,
67
+ client_side_tool: T::Hash[Symbol, T.anything],
61
68
  function: T::Hash[Symbol, T.anything],
62
69
  handoff: T::Hash[Symbol, T.anything],
63
70
  invite: T::Hash[Symbol, T.anything],
@@ -70,6 +77,7 @@ module Telnyx
70
77
  def self.new(
71
78
  display_name:,
72
79
  type:,
80
+ client_side_tool: nil,
73
81
  function: nil,
74
82
  handoff: nil,
75
83
  invite: nil,
@@ -85,6 +93,7 @@ module Telnyx
85
93
  {
86
94
  display_name: String,
87
95
  type: String,
96
+ client_side_tool: T::Hash[Symbol, T.anything],
88
97
  function: T::Hash[Symbol, T.anything],
89
98
  handoff: T::Hash[Symbol, T.anything],
90
99
  invite: T::Hash[Symbol, T.anything],
@@ -15,6 +15,12 @@ module Telnyx
15
15
  sig { returns(String) }
16
16
  attr_accessor :tool_id
17
17
 
18
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
19
+ attr_reader :client_side_tool
20
+
21
+ sig { params(client_side_tool: T::Hash[Symbol, T.anything]).void }
22
+ attr_writer :client_side_tool
23
+
18
24
  sig { returns(T.nilable(String)) }
19
25
  attr_reader :display_name
20
26
 
@@ -66,6 +72,7 @@ module Telnyx
66
72
  sig do
67
73
  params(
68
74
  tool_id: String,
75
+ client_side_tool: T::Hash[Symbol, T.anything],
69
76
  display_name: String,
70
77
  function: T::Hash[Symbol, T.anything],
71
78
  handoff: T::Hash[Symbol, T.anything],
@@ -79,6 +86,7 @@ module Telnyx
79
86
  end
80
87
  def self.new(
81
88
  tool_id:,
89
+ client_side_tool: nil,
82
90
  display_name: nil,
83
91
  function: nil,
84
92
  handoff: nil,
@@ -95,6 +103,7 @@ module Telnyx
95
103
  override.returns(
96
104
  {
97
105
  tool_id: String,
106
+ client_side_tool: T::Hash[Symbol, T.anything],
98
107
  display_name: String,
99
108
  function: T::Hash[Symbol, T.anything],
100
109
  handoff: T::Hash[Symbol, T.anything],
@@ -176,6 +176,9 @@ module Telnyx
176
176
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
177
177
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
178
178
  # `Max`, `TTS2`.
179
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
180
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
181
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
179
182
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
180
183
  # `ara`, `rex`, `sal`, `leo`.
181
184
  sig { returns(T.nilable(String)) }
@@ -322,6 +325,9 @@ module Telnyx
322
325
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
323
326
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
324
327
  # `Max`, `TTS2`.
328
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
329
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
330
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
325
331
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
326
332
  # `ara`, `rex`, `sal`, `leo`.
327
333
  voice: nil,
@@ -49,6 +49,9 @@ module Telnyx
49
49
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
50
50
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
51
51
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
52
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
53
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
54
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
52
55
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
53
56
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
54
57
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -63,6 +66,9 @@ module Telnyx
63
66
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
64
67
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
65
68
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
69
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
70
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
71
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
66
72
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
67
73
  # `ara`, `rex`, `sal`, `leo`.
68
74
  #
@@ -311,6 +317,9 @@ module Telnyx
311
317
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
312
318
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
313
319
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
320
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
321
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
322
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
314
323
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
315
324
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
316
325
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -325,6 +334,9 @@ module Telnyx
325
334
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
326
335
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
327
336
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
337
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
338
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
339
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
328
340
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
329
341
  # `ara`, `rex`, `sal`, `leo`.
330
342
  #
@@ -46,6 +46,9 @@ module Telnyx
46
46
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
47
47
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
48
48
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
49
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
50
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
51
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
49
52
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
50
53
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
51
54
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -60,6 +63,9 @@ module Telnyx
60
63
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
61
64
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
62
65
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
66
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
67
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
68
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
63
69
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
64
70
  # `ara`, `rex`, `sal`, `leo`.
65
71
  #
@@ -266,6 +272,9 @@ module Telnyx
266
272
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
267
273
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
268
274
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
275
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
276
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
277
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
269
278
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
270
279
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
271
280
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -280,6 +289,9 @@ module Telnyx
280
289
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
281
290
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
282
291
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
292
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
293
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
294
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
283
295
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
284
296
  # `ara`, `rex`, `sal`, `leo`.
285
297
  #
@@ -159,6 +159,9 @@ module Telnyx
159
159
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
160
160
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
161
161
  # `Max`, `TTS2`.
162
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
163
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
164
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
162
165
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
163
166
  # `ara`, `rex`, `sal`, `leo`.
164
167
  sig { returns(T.nilable(String)) }
@@ -293,6 +296,9 @@ module Telnyx
293
296
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
294
297
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
295
298
  # `Max`, `TTS2`.
299
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
300
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
301
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
296
302
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
297
303
  # `ara`, `rex`, `sal`, `leo`.
298
304
  voice: nil,
@@ -279,6 +279,9 @@ module Telnyx
279
279
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
280
280
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
281
281
  # `Max`, `TTS2`.
282
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
283
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
284
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
282
285
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
283
286
  # `ara`, `rex`, `sal`, `leo`.
284
287
  sig { returns(T.nilable(String)) }
@@ -465,6 +468,9 @@ module Telnyx
465
468
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
466
469
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
467
470
  # `Max`, `TTS2`.
471
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
472
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
473
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
468
474
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
469
475
  # `ara`, `rex`, `sal`, `leo`.
470
476
  voice: nil,
@@ -14,7 +14,8 @@ module Telnyx
14
14
  attr_accessor :type
15
15
 
16
16
  # The voice speed to be used for the voice. The voice speed must be between 0.1
17
- # and 2.0. Default value is 1.0.
17
+ # and 2.0. Default value is 1.0. Not supported for `Telnyx.Bayan.*` or
18
+ # `Telnyx.Sukhan.*` voices.
18
19
  sig { returns(T.nilable(Float)) }
19
20
  attr_reader :voice_speed
20
21
 
@@ -31,7 +32,8 @@ module Telnyx
31
32
  # Voice settings provider type
32
33
  type:,
33
34
  # The voice speed to be used for the voice. The voice speed must be between 0.1
34
- # and 2.0. Default value is 1.0.
35
+ # and 2.0. Default value is 1.0. Not supported for `Telnyx.Bayan.*` or
36
+ # `Telnyx.Sukhan.*` voices.
35
37
  voice_speed: nil
36
38
  )
37
39
  end
@@ -49,6 +49,9 @@ module Telnyx
49
49
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
50
50
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
51
51
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
52
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
53
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
54
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
52
55
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
53
56
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
54
57
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -63,6 +66,9 @@ module Telnyx
63
66
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
64
67
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
65
68
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
69
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
70
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
71
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
66
72
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
67
73
  # `ara`, `rex`, `sal`, `leo`.
68
74
  #
@@ -233,6 +239,9 @@ module Telnyx
233
239
  # [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
234
240
  # - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>` (e.g., `Telnyx.KokoroTTS.af`).
235
241
  # Use `voice_settings` to configure voice_speed and other synthesis parameters.
242
+ # `Bayan` provides Arabic (multiple dialects) and English voices (e.g.,
243
+ # `Telnyx.Bayan.Ahmed`, `Telnyx.Bayan.Amanda`). `Sukhan` provides Urdu voices
244
+ # (e.g., `Telnyx.Sukhan.urdu-professor`); `voice_speed` is not supported.
236
245
  # - **Minimax:** Use `Minimax.<ModelId>.<VoiceId>` (e.g.,
237
246
  # `Minimax.speech-02-hd.Wise_Woman`). Supported models: `speech-02-turbo`,
238
247
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
@@ -247,6 +256,9 @@ module Telnyx
247
256
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
248
257
  # `Max`, `TTS2`. Use `voice_settings` to configure `delivery_mode` (`STABLE`,
249
258
  # `BALANCED`, `CREATIVE`), supported by `TTS2` only.
259
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
260
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
261
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
250
262
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
251
263
  # `ara`, `rex`, `sal`, `leo`.
252
264
  #
@@ -185,6 +185,9 @@ module Telnyx
185
185
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
186
186
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
187
187
  # `Max`, `TTS2`.
188
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
189
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
190
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
188
191
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
189
192
  # `ara`, `rex`, `sal`, `leo`.
190
193
  sig { returns(T.nilable(String)) }
@@ -341,6 +344,9 @@ module Telnyx
341
344
  # - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
342
345
  # `Inworld.Max.Oliver`, `Inworld.TTS2.Loretta`). Supported models: `Mini`,
343
346
  # `Max`, `TTS2`.
347
+ # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
348
+ # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
349
+ # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
344
350
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
345
351
  # `ara`, `rex`, `sal`, `leo`.
346
352
  voice: nil,