revox 0.0.2

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/revox/client.rb +86 -0
  7. data/lib/revox/errors.rb +228 -0
  8. data/lib/revox/file_part.rb +58 -0
  9. data/lib/revox/internal/transport/base_client.rb +570 -0
  10. data/lib/revox/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/revox/internal/type/array_of.rb +168 -0
  12. data/lib/revox/internal/type/base_model.rb +529 -0
  13. data/lib/revox/internal/type/base_page.rb +55 -0
  14. data/lib/revox/internal/type/boolean.rb +77 -0
  15. data/lib/revox/internal/type/converter.rb +327 -0
  16. data/lib/revox/internal/type/enum.rb +131 -0
  17. data/lib/revox/internal/type/file_input.rb +110 -0
  18. data/lib/revox/internal/type/hash_of.rb +188 -0
  19. data/lib/revox/internal/type/request_parameters.rb +42 -0
  20. data/lib/revox/internal/type/union.rb +237 -0
  21. data/lib/revox/internal/type/unknown.rb +81 -0
  22. data/lib/revox/internal/util.rb +920 -0
  23. data/lib/revox/internal.rb +20 -0
  24. data/lib/revox/models/assistant_create_params.rb +467 -0
  25. data/lib/revox/models/assistant_create_response.rb +535 -0
  26. data/lib/revox/models/assistant_delete_params.rb +14 -0
  27. data/lib/revox/models/assistant_delete_response.rb +16 -0
  28. data/lib/revox/models/assistant_list_params.rb +14 -0
  29. data/lib/revox/models/assistant_list_response.rb +533 -0
  30. data/lib/revox/models/assistant_retrieve_params.rb +14 -0
  31. data/lib/revox/models/assistant_retrieve_response.rb +518 -0
  32. data/lib/revox/models/assistant_update_params.rb +467 -0
  33. data/lib/revox/models/assistant_update_response.rb +535 -0
  34. data/lib/revox/models/call_create_params.rb +592 -0
  35. data/lib/revox/models/call_create_response.rb +684 -0
  36. data/lib/revox/models/call_list_params.rb +29 -0
  37. data/lib/revox/models/call_list_response.rb +197 -0
  38. data/lib/revox/models/call_retrieve_params.rb +14 -0
  39. data/lib/revox/models/call_retrieve_response.rb +684 -0
  40. data/lib/revox/models/users/me_retrieve_params.rb +16 -0
  41. data/lib/revox/models/users/me_retrieve_response.rb +89 -0
  42. data/lib/revox/models/users/me_update_params.rb +22 -0
  43. data/lib/revox/models/users/me_update_response.rb +89 -0
  44. data/lib/revox/models/voice_list_params.rb +14 -0
  45. data/lib/revox/models/voice_list_response.rb +91 -0
  46. data/lib/revox/models/voice_preview_params.rb +49 -0
  47. data/lib/revox/models/voice_retrieve_params.rb +30 -0
  48. data/lib/revox/models/voice_retrieve_response.rb +39 -0
  49. data/lib/revox/models.rb +65 -0
  50. data/lib/revox/request_options.rb +77 -0
  51. data/lib/revox/resources/assistants.rb +180 -0
  52. data/lib/revox/resources/call.rb +100 -0
  53. data/lib/revox/resources/users/me.rb +55 -0
  54. data/lib/revox/resources/users.rb +18 -0
  55. data/lib/revox/resources/voices.rb +83 -0
  56. data/lib/revox/version.rb +5 -0
  57. data/lib/revox.rb +85 -0
  58. data/manifest.yaml +17 -0
  59. data/rbi/revox/client.rbi +58 -0
  60. data/rbi/revox/errors.rbi +205 -0
  61. data/rbi/revox/file_part.rbi +37 -0
  62. data/rbi/revox/internal/transport/base_client.rbi +297 -0
  63. data/rbi/revox/internal/transport/pooled_net_requester.rbi +82 -0
  64. data/rbi/revox/internal/type/array_of.rbi +104 -0
  65. data/rbi/revox/internal/type/base_model.rbi +299 -0
  66. data/rbi/revox/internal/type/base_page.rbi +42 -0
  67. data/rbi/revox/internal/type/boolean.rbi +58 -0
  68. data/rbi/revox/internal/type/converter.rbi +204 -0
  69. data/rbi/revox/internal/type/enum.rbi +82 -0
  70. data/rbi/revox/internal/type/file_input.rbi +58 -0
  71. data/rbi/revox/internal/type/hash_of.rbi +104 -0
  72. data/rbi/revox/internal/type/request_parameters.rbi +29 -0
  73. data/rbi/revox/internal/type/union.rbi +126 -0
  74. data/rbi/revox/internal/type/unknown.rbi +58 -0
  75. data/rbi/revox/internal/util.rbi +478 -0
  76. data/rbi/revox/internal.rbi +16 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +929 -0
  78. data/rbi/revox/models/assistant_create_response.rbi +1089 -0
  79. data/rbi/revox/models/assistant_delete_params.rbi +27 -0
  80. data/rbi/revox/models/assistant_delete_response.rbi +26 -0
  81. data/rbi/revox/models/assistant_list_params.rbi +27 -0
  82. data/rbi/revox/models/assistant_list_response.rbi +1079 -0
  83. data/rbi/revox/models/assistant_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/assistant_retrieve_response.rbi +1024 -0
  85. data/rbi/revox/models/assistant_update_params.rbi +935 -0
  86. data/rbi/revox/models/assistant_update_response.rbi +1089 -0
  87. data/rbi/revox/models/call_create_params.rbi +1147 -0
  88. data/rbi/revox/models/call_create_response.rbi +1335 -0
  89. data/rbi/revox/models/call_list_params.rbi +47 -0
  90. data/rbi/revox/models/call_list_response.rbi +401 -0
  91. data/rbi/revox/models/call_retrieve_params.rbi +27 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1346 -0
  93. data/rbi/revox/models/users/me_retrieve_params.rbi +29 -0
  94. data/rbi/revox/models/users/me_retrieve_response.rbi +139 -0
  95. data/rbi/revox/models/users/me_update_params.rbi +43 -0
  96. data/rbi/revox/models/users/me_update_response.rbi +139 -0
  97. data/rbi/revox/models/voice_list_params.rbi +25 -0
  98. data/rbi/revox/models/voice_list_response.rbi +204 -0
  99. data/rbi/revox/models/voice_preview_params.rbi +84 -0
  100. data/rbi/revox/models/voice_retrieve_params.rbi +59 -0
  101. data/rbi/revox/models/voice_retrieve_response.rbi +70 -0
  102. data/rbi/revox/models.rbi +27 -0
  103. data/rbi/revox/request_options.rbi +55 -0
  104. data/rbi/revox/resources/assistants.rbi +206 -0
  105. data/rbi/revox/resources/call.rbi +86 -0
  106. data/rbi/revox/resources/users/me.rbi +33 -0
  107. data/rbi/revox/resources/users.rbi +15 -0
  108. data/rbi/revox/resources/voices.rbi +58 -0
  109. data/rbi/revox/version.rbi +5 -0
  110. data/sig/revox/client.rbs +32 -0
  111. data/sig/revox/errors.rbs +117 -0
  112. data/sig/revox/file_part.rbs +21 -0
  113. data/sig/revox/internal/transport/base_client.rbs +133 -0
  114. data/sig/revox/internal/transport/pooled_net_requester.rbs +48 -0
  115. data/sig/revox/internal/type/array_of.rbs +48 -0
  116. data/sig/revox/internal/type/base_model.rbs +102 -0
  117. data/sig/revox/internal/type/base_page.rbs +24 -0
  118. data/sig/revox/internal/type/boolean.rbs +26 -0
  119. data/sig/revox/internal/type/converter.rbs +79 -0
  120. data/sig/revox/internal/type/enum.rbs +32 -0
  121. data/sig/revox/internal/type/file_input.rbs +25 -0
  122. data/sig/revox/internal/type/hash_of.rbs +48 -0
  123. data/sig/revox/internal/type/request_parameters.rbs +17 -0
  124. data/sig/revox/internal/type/union.rbs +52 -0
  125. data/sig/revox/internal/type/unknown.rbs +26 -0
  126. data/sig/revox/internal/util.rbs +185 -0
  127. data/sig/revox/internal.rbs +9 -0
  128. data/sig/revox/models/assistant_create_params.rbs +413 -0
  129. data/sig/revox/models/assistant_create_response.rbs +461 -0
  130. data/sig/revox/models/assistant_delete_params.rbs +15 -0
  131. data/sig/revox/models/assistant_delete_response.rbs +13 -0
  132. data/sig/revox/models/assistant_list_params.rbs +15 -0
  133. data/sig/revox/models/assistant_list_response.rbs +461 -0
  134. data/sig/revox/models/assistant_retrieve_params.rbs +15 -0
  135. data/sig/revox/models/assistant_retrieve_response.rbs +446 -0
  136. data/sig/revox/models/assistant_update_params.rbs +417 -0
  137. data/sig/revox/models/assistant_update_response.rbs +461 -0
  138. data/sig/revox/models/call_create_params.rbs +507 -0
  139. data/sig/revox/models/call_create_response.rbs +551 -0
  140. data/sig/revox/models/call_list_params.rbs +28 -0
  141. data/sig/revox/models/call_list_response.rbs +171 -0
  142. data/sig/revox/models/call_retrieve_params.rbs +14 -0
  143. data/sig/revox/models/call_retrieve_response.rbs +551 -0
  144. data/sig/revox/models/users/me_retrieve_params.rbs +16 -0
  145. data/sig/revox/models/users/me_retrieve_response.rbs +70 -0
  146. data/sig/revox/models/users/me_update_params.rbs +28 -0
  147. data/sig/revox/models/users/me_update_response.rbs +70 -0
  148. data/sig/revox/models/voice_list_params.rbs +14 -0
  149. data/sig/revox/models/voice_list_response.rbs +83 -0
  150. data/sig/revox/models/voice_preview_params.rbs +49 -0
  151. data/sig/revox/models/voice_retrieve_params.rbs +35 -0
  152. data/sig/revox/models/voice_retrieve_response.rbs +32 -0
  153. data/sig/revox/models.rbs +25 -0
  154. data/sig/revox/request_options.rbs +34 -0
  155. data/sig/revox/resources/assistants.rbs +66 -0
  156. data/sig/revox/resources/call.rbs +31 -0
  157. data/sig/revox/resources/users/me.rbs +18 -0
  158. data/sig/revox/resources/users.rbs +9 -0
  159. data/sig/revox/resources/voices.rbs +24 -0
  160. data/sig/revox/version.rbs +3 -0
  161. metadata +232 -0
@@ -0,0 +1,413 @@
1
+ module Revox
2
+ module Models
3
+ type assistant_create_params =
4
+ {
5
+ name: String,
6
+ prompt: String,
7
+ background_sound: Revox::Models::AssistantCreateParams::background_sound?,
8
+ calendly: Revox::AssistantCreateParams::Calendly?,
9
+ call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
10
+ end_of_call_sentence: String,
11
+ faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
12
+ first_sentence: String,
13
+ first_sentence_delay_ms: Integer,
14
+ first_sentence_mode: Revox::Models::AssistantCreateParams::first_sentence_mode,
15
+ ivr_navigation_enabled: bool,
16
+ llm_model: Revox::Models::AssistantCreateParams::llm_model,
17
+ max_call_duration_secs: Float,
18
+ structured_output_config: ::Array[Revox::AssistantCreateParams::StructuredOutputConfig],
19
+ transfer_phone_number: String?,
20
+ voice: Revox::AssistantCreateParams::Voice,
21
+ voicemail_message: String?,
22
+ webhook_url: String
23
+ }
24
+ & Revox::Internal::Type::request_parameters
25
+
26
+ class AssistantCreateParams < Revox::Internal::Type::BaseModel
27
+ extend Revox::Internal::Type::RequestParameters::Converter
28
+ include Revox::Internal::Type::RequestParameters
29
+
30
+ attr_accessor name: String
31
+
32
+ attr_accessor prompt: String
33
+
34
+ attr_accessor background_sound: Revox::Models::AssistantCreateParams::background_sound?
35
+
36
+ attr_accessor calendly: Revox::AssistantCreateParams::Calendly?
37
+
38
+ attr_reader call_retry_config: Revox::AssistantCreateParams::CallRetryConfig?
39
+
40
+ def call_retry_config=: (
41
+ Revox::AssistantCreateParams::CallRetryConfig
42
+ ) -> Revox::AssistantCreateParams::CallRetryConfig
43
+
44
+ attr_reader end_of_call_sentence: String?
45
+
46
+ def end_of_call_sentence=: (String) -> String
47
+
48
+ attr_reader faq_items: ::Array[Revox::AssistantCreateParams::FaqItem]?
49
+
50
+ def faq_items=: (
51
+ ::Array[Revox::AssistantCreateParams::FaqItem]
52
+ ) -> ::Array[Revox::AssistantCreateParams::FaqItem]
53
+
54
+ attr_reader first_sentence: String?
55
+
56
+ def first_sentence=: (String) -> String
57
+
58
+ attr_reader first_sentence_delay_ms: Integer?
59
+
60
+ def first_sentence_delay_ms=: (Integer) -> Integer
61
+
62
+ attr_reader first_sentence_mode: Revox::Models::AssistantCreateParams::first_sentence_mode?
63
+
64
+ def first_sentence_mode=: (
65
+ Revox::Models::AssistantCreateParams::first_sentence_mode
66
+ ) -> Revox::Models::AssistantCreateParams::first_sentence_mode
67
+
68
+ attr_reader ivr_navigation_enabled: bool?
69
+
70
+ def ivr_navigation_enabled=: (bool) -> bool
71
+
72
+ attr_reader llm_model: Revox::Models::AssistantCreateParams::llm_model?
73
+
74
+ def llm_model=: (
75
+ Revox::Models::AssistantCreateParams::llm_model
76
+ ) -> Revox::Models::AssistantCreateParams::llm_model
77
+
78
+ attr_reader max_call_duration_secs: Float?
79
+
80
+ def max_call_duration_secs=: (Float) -> Float
81
+
82
+ attr_reader structured_output_config: ::Array[Revox::AssistantCreateParams::StructuredOutputConfig]?
83
+
84
+ def structured_output_config=: (
85
+ ::Array[Revox::AssistantCreateParams::StructuredOutputConfig]
86
+ ) -> ::Array[Revox::AssistantCreateParams::StructuredOutputConfig]
87
+
88
+ attr_accessor transfer_phone_number: String?
89
+
90
+ attr_reader voice: Revox::AssistantCreateParams::Voice?
91
+
92
+ def voice=: (
93
+ Revox::AssistantCreateParams::Voice
94
+ ) -> Revox::AssistantCreateParams::Voice
95
+
96
+ attr_accessor voicemail_message: String?
97
+
98
+ attr_reader webhook_url: String?
99
+
100
+ def webhook_url=: (String) -> String
101
+
102
+ def initialize: (
103
+ name: String,
104
+ prompt: String,
105
+ ?background_sound: Revox::Models::AssistantCreateParams::background_sound?,
106
+ ?calendly: Revox::AssistantCreateParams::Calendly?,
107
+ ?call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
108
+ ?end_of_call_sentence: String,
109
+ ?faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
110
+ ?first_sentence: String,
111
+ ?first_sentence_delay_ms: Integer,
112
+ ?first_sentence_mode: Revox::Models::AssistantCreateParams::first_sentence_mode,
113
+ ?ivr_navigation_enabled: bool,
114
+ ?llm_model: Revox::Models::AssistantCreateParams::llm_model,
115
+ ?max_call_duration_secs: Float,
116
+ ?structured_output_config: ::Array[Revox::AssistantCreateParams::StructuredOutputConfig],
117
+ ?transfer_phone_number: String?,
118
+ ?voice: Revox::AssistantCreateParams::Voice,
119
+ ?voicemail_message: String?,
120
+ ?webhook_url: String,
121
+ ?request_options: Revox::request_opts
122
+ ) -> void
123
+
124
+ def to_hash: -> {
125
+ name: String,
126
+ prompt: String,
127
+ background_sound: Revox::Models::AssistantCreateParams::background_sound?,
128
+ calendly: Revox::AssistantCreateParams::Calendly?,
129
+ call_retry_config: Revox::AssistantCreateParams::CallRetryConfig,
130
+ end_of_call_sentence: String,
131
+ faq_items: ::Array[Revox::AssistantCreateParams::FaqItem],
132
+ first_sentence: String,
133
+ first_sentence_delay_ms: Integer,
134
+ first_sentence_mode: Revox::Models::AssistantCreateParams::first_sentence_mode,
135
+ ivr_navigation_enabled: bool,
136
+ llm_model: Revox::Models::AssistantCreateParams::llm_model,
137
+ max_call_duration_secs: Float,
138
+ structured_output_config: ::Array[Revox::AssistantCreateParams::StructuredOutputConfig],
139
+ transfer_phone_number: String?,
140
+ voice: Revox::AssistantCreateParams::Voice,
141
+ voicemail_message: String?,
142
+ webhook_url: String,
143
+ request_options: Revox::RequestOptions
144
+ }
145
+
146
+ type background_sound = :"audio/office.ogg"
147
+
148
+ module BackgroundSound
149
+ extend Revox::Internal::Type::Enum
150
+
151
+ AUDIO_OFFICE_OGG: :"audio/office.ogg"
152
+
153
+ def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::background_sound]
154
+ end
155
+
156
+ type calendly = { connection_id: String, event_type_id: String }
157
+
158
+ class Calendly < Revox::Internal::Type::BaseModel
159
+ attr_accessor connection_id: String
160
+
161
+ attr_accessor event_type_id: String
162
+
163
+ def initialize: (connection_id: String, event_type_id: String) -> void
164
+
165
+ def to_hash: -> { connection_id: String, event_type_id: String }
166
+ end
167
+
168
+ type call_retry_config =
169
+ {
170
+ calling_windows: ::Array[Revox::AssistantCreateParams::CallRetryConfig::CallingWindow],
171
+ max_retry_attempts: Integer,
172
+ timezone: String?
173
+ }
174
+
175
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
176
+ attr_accessor calling_windows: ::Array[Revox::AssistantCreateParams::CallRetryConfig::CallingWindow]
177
+
178
+ attr_accessor max_retry_attempts: Integer
179
+
180
+ attr_accessor timezone: String?
181
+
182
+ def initialize: (
183
+ calling_windows: ::Array[Revox::AssistantCreateParams::CallRetryConfig::CallingWindow],
184
+ max_retry_attempts: Integer,
185
+ ?timezone: String?
186
+ ) -> void
187
+
188
+ def to_hash: -> {
189
+ calling_windows: ::Array[Revox::AssistantCreateParams::CallRetryConfig::CallingWindow],
190
+ max_retry_attempts: Integer,
191
+ timezone: String?
192
+ }
193
+
194
+ type calling_window =
195
+ {
196
+ calling_window_end_time: String,
197
+ calling_window_start_time: String,
198
+ retry_delay_seconds: Integer
199
+ }
200
+
201
+ class CallingWindow < Revox::Internal::Type::BaseModel
202
+ attr_accessor calling_window_end_time: String
203
+
204
+ attr_accessor calling_window_start_time: String
205
+
206
+ attr_accessor retry_delay_seconds: Integer
207
+
208
+ def initialize: (
209
+ calling_window_end_time: String,
210
+ calling_window_start_time: String,
211
+ retry_delay_seconds: Integer
212
+ ) -> void
213
+
214
+ def to_hash: -> {
215
+ calling_window_end_time: String,
216
+ calling_window_start_time: String,
217
+ retry_delay_seconds: Integer
218
+ }
219
+ end
220
+ end
221
+
222
+ type faq_item = { answer: String, question: String }
223
+
224
+ class FaqItem < Revox::Internal::Type::BaseModel
225
+ attr_accessor answer: String
226
+
227
+ attr_accessor question: String
228
+
229
+ def initialize: (answer: String, question: String) -> void
230
+
231
+ def to_hash: -> { answer: String, question: String }
232
+ end
233
+
234
+ type first_sentence_mode = :generated | :static | :none
235
+
236
+ module FirstSentenceMode
237
+ extend Revox::Internal::Type::Enum
238
+
239
+ GENERATED: :generated
240
+ STATIC: :static
241
+ NONE: :none
242
+
243
+ def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::first_sentence_mode]
244
+ end
245
+
246
+ type llm_model =
247
+ Revox::AssistantCreateParams::LlmModel::UnionMember0
248
+ | Revox::AssistantCreateParams::LlmModel::UnionMember1
249
+
250
+ module LlmModel
251
+ extend Revox::Internal::Type::Union
252
+
253
+ type union_member0 =
254
+ {
255
+ name: Revox::Models::AssistantCreateParams::LlmModel::UnionMember0::name_,
256
+ type: :"dedicated-instance"
257
+ }
258
+
259
+ class UnionMember0 < Revox::Internal::Type::BaseModel
260
+ attr_accessor name: Revox::Models::AssistantCreateParams::LlmModel::UnionMember0::name_
261
+
262
+ attr_accessor type: :"dedicated-instance"
263
+
264
+ def initialize: (
265
+ name: Revox::Models::AssistantCreateParams::LlmModel::UnionMember0::name_,
266
+ ?type: :"dedicated-instance"
267
+ ) -> void
268
+
269
+ def to_hash: -> {
270
+ name: Revox::Models::AssistantCreateParams::LlmModel::UnionMember0::name_,
271
+ type: :"dedicated-instance"
272
+ }
273
+
274
+ type name_ = :"gpt-4.1" | :"ministral-3-8b-instruct"
275
+
276
+ module Name
277
+ extend Revox::Internal::Type::Enum
278
+
279
+ GPT_4_1: :"gpt-4.1"
280
+ MINISTRAL_3_8B_INSTRUCT: :"ministral-3-8b-instruct"
281
+
282
+ def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::LlmModel::UnionMember0::name_]
283
+ end
284
+ end
285
+
286
+ type union_member1 =
287
+ {
288
+ openrouter_model_id: String,
289
+ openrouter_provider: String,
290
+ type: :openrouter
291
+ }
292
+
293
+ class UnionMember1 < Revox::Internal::Type::BaseModel
294
+ attr_accessor openrouter_model_id: String
295
+
296
+ attr_accessor openrouter_provider: String
297
+
298
+ attr_accessor type: :openrouter
299
+
300
+ def initialize: (
301
+ openrouter_model_id: String,
302
+ openrouter_provider: String,
303
+ ?type: :openrouter
304
+ ) -> void
305
+
306
+ def to_hash: -> {
307
+ openrouter_model_id: String,
308
+ openrouter_provider: String,
309
+ type: :openrouter
310
+ }
311
+ end
312
+
313
+ def self?.variants: -> ::Array[Revox::Models::AssistantCreateParams::llm_model]
314
+ end
315
+
316
+ type structured_output_config =
317
+ {
318
+ name: String,
319
+ required: bool,
320
+ type: Revox::Models::AssistantCreateParams::StructuredOutputConfig::type_,
321
+ description: String,
322
+ enum_options: ::Array[String]
323
+ }
324
+
325
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
326
+ attr_accessor name: String
327
+
328
+ attr_accessor required: bool
329
+
330
+ attr_accessor type: Revox::Models::AssistantCreateParams::StructuredOutputConfig::type_
331
+
332
+ attr_reader description: String?
333
+
334
+ def description=: (String) -> String
335
+
336
+ attr_reader enum_options: ::Array[String]?
337
+
338
+ def enum_options=: (::Array[String]) -> ::Array[String]
339
+
340
+ def initialize: (
341
+ name: String,
342
+ required: bool,
343
+ type: Revox::Models::AssistantCreateParams::StructuredOutputConfig::type_,
344
+ ?description: String,
345
+ ?enum_options: ::Array[String]
346
+ ) -> void
347
+
348
+ def to_hash: -> {
349
+ name: String,
350
+ required: bool,
351
+ type: Revox::Models::AssistantCreateParams::StructuredOutputConfig::type_,
352
+ description: String,
353
+ enum_options: ::Array[String]
354
+ }
355
+
356
+ type type_ = :string | :number | :boolean | :enum | :date | :datetime
357
+
358
+ module Type
359
+ extend Revox::Internal::Type::Enum
360
+
361
+ STRING: :string
362
+ NUMBER: :number
363
+ BOOLEAN: :boolean
364
+ ENUM: :enum
365
+ DATE: :date
366
+ DATETIME: :datetime
367
+
368
+ def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::StructuredOutputConfig::type_]
369
+ end
370
+ end
371
+
372
+ type voice =
373
+ {
374
+ id: String,
375
+ provider: Revox::Models::AssistantCreateParams::Voice::provider,
376
+ speed: Float
377
+ }
378
+
379
+ class Voice < Revox::Internal::Type::BaseModel
380
+ attr_accessor id: String
381
+
382
+ attr_accessor provider: Revox::Models::AssistantCreateParams::Voice::provider
383
+
384
+ attr_reader speed: Float?
385
+
386
+ def speed=: (Float) -> Float
387
+
388
+ def initialize: (
389
+ id: String,
390
+ provider: Revox::Models::AssistantCreateParams::Voice::provider,
391
+ ?speed: Float
392
+ ) -> void
393
+
394
+ def to_hash: -> {
395
+ id: String,
396
+ provider: Revox::Models::AssistantCreateParams::Voice::provider,
397
+ speed: Float
398
+ }
399
+
400
+ type provider = :cartesia | :elevenlabs
401
+
402
+ module Provider
403
+ extend Revox::Internal::Type::Enum
404
+
405
+ CARTESIA: :cartesia
406
+ ELEVENLABS: :elevenlabs
407
+
408
+ def self?.values: -> ::Array[Revox::Models::AssistantCreateParams::Voice::provider]
409
+ end
410
+ end
411
+ end
412
+ end
413
+ end