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,446 @@
1
+ module Revox
2
+ module Models
3
+ type assistant_retrieve_response =
4
+ {
5
+ id: String,
6
+ background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
7
+ calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
8
+ call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
9
+ created_at: top,
10
+ end_of_call_sentence: String?,
11
+ first_sentence: String?,
12
+ first_sentence_delay_ms: Integer,
13
+ first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
14
+ ivr_navigation_enabled: bool,
15
+ llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
16
+ max_call_duration_secs: Float,
17
+ name: String,
18
+ organization_id: String,
19
+ prompt: String,
20
+ structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
21
+ transfer_phone_number: String?,
22
+ updated_at: top,
23
+ voice: Revox::Models::AssistantRetrieveResponse::Voice?,
24
+ voicemail_message: String?,
25
+ webhook_url: String?,
26
+ faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
27
+ pending_faq_count: Float
28
+ }
29
+
30
+ class AssistantRetrieveResponse < Revox::Internal::Type::BaseModel
31
+ attr_accessor id: String
32
+
33
+ attr_accessor background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?
34
+
35
+ attr_accessor calendly: Revox::Models::AssistantRetrieveResponse::Calendly?
36
+
37
+ attr_accessor call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?
38
+
39
+ attr_accessor created_at: top
40
+
41
+ attr_accessor end_of_call_sentence: String?
42
+
43
+ attr_accessor first_sentence: String?
44
+
45
+ attr_accessor first_sentence_delay_ms: Integer
46
+
47
+ attr_accessor first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode
48
+
49
+ attr_accessor ivr_navigation_enabled: bool
50
+
51
+ attr_accessor llm_model: Revox::Models::AssistantRetrieveResponse::llm_model
52
+
53
+ attr_accessor max_call_duration_secs: Float
54
+
55
+ attr_accessor name: String
56
+
57
+ attr_accessor organization_id: String
58
+
59
+ attr_accessor prompt: String
60
+
61
+ attr_accessor structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?
62
+
63
+ attr_accessor transfer_phone_number: String?
64
+
65
+ attr_accessor updated_at: top
66
+
67
+ attr_accessor voice: Revox::Models::AssistantRetrieveResponse::Voice?
68
+
69
+ attr_accessor voicemail_message: String?
70
+
71
+ attr_accessor webhook_url: String?
72
+
73
+ attr_reader faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]?
74
+
75
+ def faq_items=: (
76
+ ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]
77
+ ) -> ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem]
78
+
79
+ attr_reader pending_faq_count: Float?
80
+
81
+ def pending_faq_count=: (Float) -> Float
82
+
83
+ def initialize: (
84
+ id: String,
85
+ background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
86
+ calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
87
+ call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
88
+ created_at: top,
89
+ end_of_call_sentence: String?,
90
+ first_sentence: String?,
91
+ first_sentence_delay_ms: Integer,
92
+ first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
93
+ ivr_navigation_enabled: bool,
94
+ llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
95
+ max_call_duration_secs: Float,
96
+ name: String,
97
+ organization_id: String,
98
+ prompt: String,
99
+ structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
100
+ transfer_phone_number: String?,
101
+ updated_at: top,
102
+ voice: Revox::Models::AssistantRetrieveResponse::Voice?,
103
+ voicemail_message: String?,
104
+ webhook_url: String?,
105
+ ?faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
106
+ ?pending_faq_count: Float
107
+ ) -> void
108
+
109
+ def to_hash: -> {
110
+ id: String,
111
+ background_sound: Revox::Models::AssistantRetrieveResponse::background_sound?,
112
+ calendly: Revox::Models::AssistantRetrieveResponse::Calendly?,
113
+ call_retry_config: Revox::Models::AssistantRetrieveResponse::CallRetryConfig?,
114
+ created_at: top,
115
+ end_of_call_sentence: String?,
116
+ first_sentence: String?,
117
+ first_sentence_delay_ms: Integer,
118
+ first_sentence_mode: Revox::Models::AssistantRetrieveResponse::first_sentence_mode,
119
+ ivr_navigation_enabled: bool,
120
+ llm_model: Revox::Models::AssistantRetrieveResponse::llm_model,
121
+ max_call_duration_secs: Float,
122
+ name: String,
123
+ organization_id: String,
124
+ prompt: String,
125
+ structured_output_config: ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig]?,
126
+ transfer_phone_number: String?,
127
+ updated_at: top,
128
+ voice: Revox::Models::AssistantRetrieveResponse::Voice?,
129
+ voicemail_message: String?,
130
+ webhook_url: String?,
131
+ faq_items: ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem],
132
+ pending_faq_count: Float
133
+ }
134
+
135
+ type background_sound = :"audio/office.ogg"
136
+
137
+ module BackgroundSound
138
+ extend Revox::Internal::Type::Enum
139
+
140
+ AUDIO_OFFICE_OGG: :"audio/office.ogg"
141
+
142
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::background_sound]
143
+ end
144
+
145
+ type calendly = { connection_id: String, event_type_id: String }
146
+
147
+ class Calendly < Revox::Internal::Type::BaseModel
148
+ attr_accessor connection_id: String
149
+
150
+ attr_accessor event_type_id: String
151
+
152
+ def initialize: (connection_id: String, event_type_id: String) -> void
153
+
154
+ def to_hash: -> { connection_id: String, event_type_id: String }
155
+ end
156
+
157
+ type call_retry_config =
158
+ {
159
+ calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
160
+ max_retry_attempts: Integer,
161
+ timezone: String?
162
+ }
163
+
164
+ class CallRetryConfig < Revox::Internal::Type::BaseModel
165
+ attr_accessor calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow]
166
+
167
+ attr_accessor max_retry_attempts: Integer
168
+
169
+ attr_accessor timezone: String?
170
+
171
+ def initialize: (
172
+ calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
173
+ max_retry_attempts: Integer,
174
+ ?timezone: String?
175
+ ) -> void
176
+
177
+ def to_hash: -> {
178
+ calling_windows: ::Array[Revox::Models::AssistantRetrieveResponse::CallRetryConfig::CallingWindow],
179
+ max_retry_attempts: Integer,
180
+ timezone: String?
181
+ }
182
+
183
+ type calling_window =
184
+ {
185
+ calling_window_end_time: String,
186
+ calling_window_start_time: String,
187
+ retry_delay_seconds: Integer
188
+ }
189
+
190
+ class CallingWindow < Revox::Internal::Type::BaseModel
191
+ attr_accessor calling_window_end_time: String
192
+
193
+ attr_accessor calling_window_start_time: String
194
+
195
+ attr_accessor retry_delay_seconds: Integer
196
+
197
+ def initialize: (
198
+ calling_window_end_time: String,
199
+ calling_window_start_time: String,
200
+ retry_delay_seconds: Integer
201
+ ) -> void
202
+
203
+ def to_hash: -> {
204
+ calling_window_end_time: String,
205
+ calling_window_start_time: String,
206
+ retry_delay_seconds: Integer
207
+ }
208
+ end
209
+ end
210
+
211
+ type first_sentence_mode = :generated | :static | :none
212
+
213
+ module FirstSentenceMode
214
+ extend Revox::Internal::Type::Enum
215
+
216
+ GENERATED: :generated
217
+ STATIC: :static
218
+ NONE: :none
219
+
220
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::first_sentence_mode]
221
+ end
222
+
223
+ type llm_model =
224
+ Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0
225
+ | Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember1
226
+
227
+ module LlmModel
228
+ extend Revox::Internal::Type::Union
229
+
230
+ type union_member0 =
231
+ {
232
+ name: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::name_,
233
+ type: :"dedicated-instance"
234
+ }
235
+
236
+ class UnionMember0 < Revox::Internal::Type::BaseModel
237
+ attr_accessor name: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::name_
238
+
239
+ attr_accessor type: :"dedicated-instance"
240
+
241
+ def initialize: (
242
+ name: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::name_,
243
+ ?type: :"dedicated-instance"
244
+ ) -> void
245
+
246
+ def to_hash: -> {
247
+ name: Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::name_,
248
+ type: :"dedicated-instance"
249
+ }
250
+
251
+ type name_ = :"gpt-4.1" | :"ministral-3-8b-instruct"
252
+
253
+ module Name
254
+ extend Revox::Internal::Type::Enum
255
+
256
+ GPT_4_1: :"gpt-4.1"
257
+ MINISTRAL_3_8B_INSTRUCT: :"ministral-3-8b-instruct"
258
+
259
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::LlmModel::UnionMember0::name_]
260
+ end
261
+ end
262
+
263
+ type union_member1 =
264
+ {
265
+ openrouter_model_id: String,
266
+ openrouter_provider: String,
267
+ type: :openrouter
268
+ }
269
+
270
+ class UnionMember1 < Revox::Internal::Type::BaseModel
271
+ attr_accessor openrouter_model_id: String
272
+
273
+ attr_accessor openrouter_provider: String
274
+
275
+ attr_accessor type: :openrouter
276
+
277
+ def initialize: (
278
+ openrouter_model_id: String,
279
+ openrouter_provider: String,
280
+ ?type: :openrouter
281
+ ) -> void
282
+
283
+ def to_hash: -> {
284
+ openrouter_model_id: String,
285
+ openrouter_provider: String,
286
+ type: :openrouter
287
+ }
288
+ end
289
+
290
+ def self?.variants: -> ::Array[Revox::Models::AssistantRetrieveResponse::llm_model]
291
+ end
292
+
293
+ type structured_output_config =
294
+ {
295
+ name: String,
296
+ required: bool,
297
+ type: Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::type_,
298
+ description: String,
299
+ enum_options: ::Array[String]
300
+ }
301
+
302
+ class StructuredOutputConfig < Revox::Internal::Type::BaseModel
303
+ attr_accessor name: String
304
+
305
+ attr_accessor required: bool
306
+
307
+ attr_accessor type: Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::type_
308
+
309
+ attr_reader description: String?
310
+
311
+ def description=: (String) -> String
312
+
313
+ attr_reader enum_options: ::Array[String]?
314
+
315
+ def enum_options=: (::Array[String]) -> ::Array[String]
316
+
317
+ def initialize: (
318
+ name: String,
319
+ required: bool,
320
+ type: Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::type_,
321
+ ?description: String,
322
+ ?enum_options: ::Array[String]
323
+ ) -> void
324
+
325
+ def to_hash: -> {
326
+ name: String,
327
+ required: bool,
328
+ type: Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::type_,
329
+ description: String,
330
+ enum_options: ::Array[String]
331
+ }
332
+
333
+ type type_ = :string | :number | :boolean | :enum | :date | :datetime
334
+
335
+ module Type
336
+ extend Revox::Internal::Type::Enum
337
+
338
+ STRING: :string
339
+ NUMBER: :number
340
+ BOOLEAN: :boolean
341
+ ENUM: :enum
342
+ DATE: :date
343
+ DATETIME: :datetime
344
+
345
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::StructuredOutputConfig::type_]
346
+ end
347
+ end
348
+
349
+ type voice =
350
+ {
351
+ id: String,
352
+ provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
353
+ speed: Float
354
+ }
355
+
356
+ class Voice < Revox::Internal::Type::BaseModel
357
+ attr_accessor id: String
358
+
359
+ attr_accessor provider: Revox::Models::AssistantRetrieveResponse::Voice::provider
360
+
361
+ attr_reader speed: Float?
362
+
363
+ def speed=: (Float) -> Float
364
+
365
+ def initialize: (
366
+ id: String,
367
+ provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
368
+ ?speed: Float
369
+ ) -> void
370
+
371
+ def to_hash: -> {
372
+ id: String,
373
+ provider: Revox::Models::AssistantRetrieveResponse::Voice::provider,
374
+ speed: Float
375
+ }
376
+
377
+ type provider = :cartesia | :elevenlabs
378
+
379
+ module Provider
380
+ extend Revox::Internal::Type::Enum
381
+
382
+ CARTESIA: :cartesia
383
+ ELEVENLABS: :elevenlabs
384
+
385
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::Voice::provider]
386
+ end
387
+ end
388
+
389
+ type faq_item =
390
+ {
391
+ answer: String,
392
+ question: String,
393
+ id: String,
394
+ needs_human_answer: bool,
395
+ source: Revox::Models::AssistantRetrieveResponse::FaqItem::source
396
+ }
397
+
398
+ class FaqItem < Revox::Internal::Type::BaseModel
399
+ attr_accessor answer: String
400
+
401
+ attr_accessor question: String
402
+
403
+ attr_reader id: String?
404
+
405
+ def id=: (String) -> String
406
+
407
+ attr_reader needs_human_answer: bool?
408
+
409
+ def needs_human_answer=: (bool) -> bool
410
+
411
+ attr_reader source: Revox::Models::AssistantRetrieveResponse::FaqItem::source?
412
+
413
+ def source=: (
414
+ Revox::Models::AssistantRetrieveResponse::FaqItem::source
415
+ ) -> Revox::Models::AssistantRetrieveResponse::FaqItem::source
416
+
417
+ def initialize: (
418
+ answer: String,
419
+ question: String,
420
+ ?id: String,
421
+ ?needs_human_answer: bool,
422
+ ?source: Revox::Models::AssistantRetrieveResponse::FaqItem::source
423
+ ) -> void
424
+
425
+ def to_hash: -> {
426
+ answer: String,
427
+ question: String,
428
+ id: String,
429
+ needs_human_answer: bool,
430
+ source: Revox::Models::AssistantRetrieveResponse::FaqItem::source
431
+ }
432
+
433
+ type source = :human | :ai
434
+
435
+ module Source
436
+ extend Revox::Internal::Type::Enum
437
+
438
+ HUMAN: :human
439
+ AI: :ai
440
+
441
+ def self?.values: -> ::Array[Revox::Models::AssistantRetrieveResponse::FaqItem::source]
442
+ end
443
+ end
444
+ end
445
+ end
446
+ end