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