revox 0.1.0 → 0.3.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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +23 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/type/base_model.rb +3 -3
  7. data/lib/revox/internal/util.rb +22 -7
  8. data/lib/revox/models/assistant_clone_params.rb +20 -0
  9. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  10. data/lib/revox/models/assistant_create_params.rb +1038 -13
  11. data/lib/revox/models/assistant_create_response.rb +1071 -11
  12. data/lib/revox/models/assistant_list_response.rb +1070 -11
  13. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  14. data/lib/revox/models/assistant_update_params.rb +1038 -13
  15. data/lib/revox/models/assistant_update_response.rb +1097 -12
  16. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  17. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  18. data/lib/revox/models/call_cancel_params.rb +20 -0
  19. data/lib/revox/models/call_cancel_response.rb +16 -0
  20. data/lib/revox/models/call_create_params.rb +1065 -13
  21. data/lib/revox/models/call_create_response.rb +1820 -98
  22. data/lib/revox/models/call_export_params.rb +205 -0
  23. data/lib/revox/models/call_export_response.rb +22 -0
  24. data/lib/revox/models/call_pause_params.rb +20 -0
  25. data/lib/revox/models/call_pause_response.rb +16 -0
  26. data/lib/revox/models/call_phone_history_params.rb +14 -0
  27. data/lib/revox/models/call_phone_history_response.rb +98 -0
  28. data/lib/revox/models/call_resume_params.rb +20 -0
  29. data/lib/revox/models/call_resume_response.rb +16 -0
  30. data/lib/revox/models/call_retrieve_response.rb +1822 -98
  31. data/lib/revox/models/call_search_params.rb +171 -0
  32. data/lib/revox/models/call_search_response.rb +3114 -0
  33. data/lib/revox/models/campaign_create_params.rb +67 -2
  34. data/lib/revox/models/campaign_create_response.rb +1314 -59
  35. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  36. data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
  37. data/lib/revox/models/campaign_launch_params.rb +20 -0
  38. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  39. data/lib/revox/models/campaign_list_response.rb +1312 -59
  40. data/lib/revox/models/campaign_pause_params.rb +20 -0
  41. data/lib/revox/models/campaign_pause_response.rb +16 -0
  42. data/lib/revox/models/campaign_resume_params.rb +20 -0
  43. data/lib/revox/models/campaign_resume_response.rb +16 -0
  44. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  45. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  46. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  47. data/lib/revox/models/campaign_update_params.rb +234 -0
  48. data/lib/revox/models/campaign_update_response.rb +2030 -0
  49. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  50. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  51. data/lib/revox/models/phone_number_list_params.rb +14 -0
  52. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  53. data/lib/revox/models/phone_number_update_params.rb +32 -0
  54. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  55. data/lib/revox/models/user_retrieve_params.rb +14 -0
  56. data/lib/revox/models/user_retrieve_response.rb +99 -0
  57. data/lib/revox/models/voice_clone_params.rb +78 -0
  58. data/lib/revox/models/voice_clone_response.rb +40 -0
  59. data/lib/revox/models/voice_delete_params.rb +20 -0
  60. data/lib/revox/models/voice_delete_response.rb +16 -0
  61. data/lib/revox/models/voice_list_response.rb +55 -1
  62. data/lib/revox/models/voice_preview_params.rb +49 -1
  63. data/lib/revox/models.rb +36 -2
  64. data/lib/revox/resources/assistants.rb +137 -8
  65. data/lib/revox/resources/auth_status.rb +32 -0
  66. data/lib/revox/resources/call.rb +131 -15
  67. data/lib/revox/resources/campaigns.rb +143 -17
  68. data/lib/revox/resources/phone_numbers.rb +74 -0
  69. data/lib/revox/resources/users.rb +17 -3
  70. data/lib/revox/resources/voices.rb +66 -10
  71. data/lib/revox/version.rb +1 -1
  72. data/lib/revox.rb +40 -7
  73. data/rbi/revox/client.rbi +6 -0
  74. data/rbi/revox/internal/util.rbi +8 -0
  75. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  76. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  78. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  79. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  80. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  81. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  82. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  83. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  85. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  86. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  87. data/rbi/revox/models/call_create_params.rbi +2382 -225
  88. data/rbi/revox/models/call_create_response.rbi +4116 -384
  89. data/rbi/revox/models/call_export_params.rbi +456 -0
  90. data/rbi/revox/models/call_export_response.rbi +26 -0
  91. data/rbi/revox/models/call_pause_params.rbi +31 -0
  92. data/rbi/revox/models/call_pause_response.rbi +23 -0
  93. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  94. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  95. data/rbi/revox/models/call_resume_params.rbi +33 -0
  96. data/rbi/revox/models/call_resume_response.rbi +23 -0
  97. data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
  98. data/rbi/revox/models/call_search_params.rbi +288 -0
  99. data/rbi/revox/models/call_search_response.rbi +6593 -0
  100. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  101. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  102. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  103. data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
  104. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  106. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  107. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  108. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  109. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  110. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  111. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  112. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  113. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  114. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  115. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  116. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  117. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  118. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  119. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  120. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  121. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  122. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  123. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  124. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  125. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  126. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  127. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  128. data/rbi/revox/models/voice_list_response.rbi +105 -3
  129. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  130. data/rbi/revox/models.rbi +36 -2
  131. data/rbi/revox/resources/assistants.rbi +296 -8
  132. data/rbi/revox/resources/auth_status.rbi +21 -0
  133. data/rbi/revox/resources/call.rbi +92 -6
  134. data/rbi/revox/resources/campaigns.rbi +106 -19
  135. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  136. data/rbi/revox/resources/users.rbi +8 -2
  137. data/rbi/revox/resources/voices.rbi +56 -9
  138. data/sig/revox/client.rbs +4 -0
  139. data/sig/revox/internal/util.rbs +4 -0
  140. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  141. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  142. data/sig/revox/models/assistant_create_params.rbs +844 -11
  143. data/sig/revox/models/assistant_create_response.rbs +860 -3
  144. data/sig/revox/models/assistant_list_response.rbs +860 -3
  145. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  146. data/sig/revox/models/assistant_update_params.rbs +844 -11
  147. data/sig/revox/models/assistant_update_response.rbs +886 -6
  148. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  149. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  150. data/sig/revox/models/call_cancel_params.rbs +20 -0
  151. data/sig/revox/models/call_cancel_response.rbs +13 -0
  152. data/sig/revox/models/call_create_params.rbs +847 -13
  153. data/sig/revox/models/call_create_response.rbs +1519 -34
  154. data/sig/revox/models/call_export_params.rbs +234 -0
  155. data/sig/revox/models/call_export_response.rbs +15 -0
  156. data/sig/revox/models/call_pause_params.rbs +20 -0
  157. data/sig/revox/models/call_pause_response.rbs +13 -0
  158. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  159. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  160. data/sig/revox/models/call_resume_params.rbs +20 -0
  161. data/sig/revox/models/call_resume_response.rbs +13 -0
  162. data/sig/revox/models/call_retrieve_response.rbs +1519 -34
  163. data/sig/revox/models/call_search_params.rbs +198 -0
  164. data/sig/revox/models/call_search_response.rbs +2654 -0
  165. data/sig/revox/models/campaign_create_params.rbs +54 -0
  166. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  167. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  168. data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
  169. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  170. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  171. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  172. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  173. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  174. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  175. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  176. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  177. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  178. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  179. data/sig/revox/models/campaign_update_params.rbs +203 -0
  180. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  181. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  182. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  183. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  184. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  185. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  186. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  187. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  188. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  189. data/sig/revox/models/voice_clone_params.rbs +79 -0
  190. data/sig/revox/models/voice_clone_response.rbs +40 -0
  191. data/sig/revox/models/voice_delete_params.rbs +20 -0
  192. data/sig/revox/models/voice_delete_response.rbs +13 -0
  193. data/sig/revox/models/voice_list_response.rbs +45 -3
  194. data/sig/revox/models/voice_preview_params.rbs +42 -1
  195. data/sig/revox/models.rbs +36 -2
  196. data/sig/revox/resources/assistants.rbs +61 -2
  197. data/sig/revox/resources/auth_status.rbs +11 -0
  198. data/sig/revox/resources/call.rbs +41 -3
  199. data/sig/revox/resources/campaigns.rbs +35 -5
  200. data/sig/revox/resources/phone_numbers.rbs +23 -0
  201. data/sig/revox/resources/users.rbs +3 -1
  202. data/sig/revox/resources/voices.rbs +17 -0
  203. metadata +122 -23
  204. data/lib/revox/models/call_list_params.rb +0 -52
  205. data/lib/revox/models/call_list_response.rb +0 -259
  206. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  207. data/lib/revox/models/users/me_retrieve_response.rb +0 -89
  208. data/lib/revox/models/users/me_update_params.rb +0 -22
  209. data/lib/revox/models/users/me_update_response.rb +0 -89
  210. data/lib/revox/resources/users/me.rb +0 -55
  211. data/rbi/revox/models/call_list_params.rbi +0 -94
  212. data/rbi/revox/models/call_list_response.rbi +0 -563
  213. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  214. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
  215. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  216. data/rbi/revox/models/users/me_update_response.rbi +0 -139
  217. data/rbi/revox/resources/users/me.rbi +0 -33
  218. data/sig/revox/models/call_list_params.rbs +0 -63
  219. data/sig/revox/models/call_list_response.rbs +0 -226
  220. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  221. data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
  222. data/sig/revox/models/users/me_update_params.rbs +0 -28
  223. data/sig/revox/models/users/me_update_response.rbs +0 -70
  224. data/sig/revox/resources/users/me.rbs +0 -18
@@ -19,10 +19,19 @@ module Revox
19
19
  sig { returns(T::Array[Revox::CampaignCreateParams::Contact]) }
20
20
  attr_accessor :contacts
21
21
 
22
+ # Whether to launch the campaign immediately. Set to false to save as a draft.
23
+ sig { returns(T::Boolean) }
24
+ attr_accessor :launch
25
+
22
26
  # The name of the campaign
23
27
  sig { returns(String) }
24
28
  attr_accessor :name
25
29
 
30
+ # Campaign type. 'jump_in' campaigns only dial while someone is on the campaign
31
+ # page and auto-pause when unattended.
32
+ sig { returns(Revox::CampaignCreateParams::Type::OrSymbol) }
33
+ attr_accessor :type
34
+
26
35
  # Override retry configuration for calls in this campaign. If not provided, uses
27
36
  # the assistant's retry config.
28
37
  sig { returns(T.nilable(Revox::CampaignCreateParams::CallRetryConfig)) }
@@ -68,7 +77,9 @@ module Revox
68
77
  params(
69
78
  assistant_id: String,
70
79
  contacts: T::Array[Revox::CampaignCreateParams::Contact::OrHash],
80
+ launch: T::Boolean,
71
81
  name: String,
82
+ type: Revox::CampaignCreateParams::Type::OrSymbol,
72
83
  call_retry_config:
73
84
  Revox::CampaignCreateParams::CallRetryConfig::OrHash,
74
85
  from_phone_number: String,
@@ -82,8 +93,13 @@ module Revox
82
93
  assistant_id:,
83
94
  # The list of contacts to call
84
95
  contacts:,
96
+ # Whether to launch the campaign immediately. Set to false to save as a draft.
97
+ launch:,
85
98
  # The name of the campaign
86
99
  name:,
100
+ # Campaign type. 'jump_in' campaigns only dial while someone is on the campaign
101
+ # page and auto-pause when unattended.
102
+ type:,
87
103
  # Override retry configuration for calls in this campaign. If not provided, uses
88
104
  # the assistant's retry config.
89
105
  call_retry_config: nil,
@@ -103,7 +119,9 @@ module Revox
103
119
  {
104
120
  assistant_id: String,
105
121
  contacts: T::Array[Revox::CampaignCreateParams::Contact],
122
+ launch: T::Boolean,
106
123
  name: String,
124
+ type: Revox::CampaignCreateParams::Type::OrSymbol,
107
125
  call_retry_config: Revox::CampaignCreateParams::CallRetryConfig,
108
126
  from_phone_number: String,
109
127
  max_concurrent_calls: Float,
@@ -151,6 +169,29 @@ module Revox
151
169
  end
152
170
  end
153
171
 
172
+ # Campaign type. 'jump_in' campaigns only dial while someone is on the campaign
173
+ # page and auto-pause when unattended.
174
+ module Type
175
+ extend Revox::Internal::Type::Enum
176
+
177
+ TaggedSymbol =
178
+ T.type_alias { T.all(Symbol, Revox::CampaignCreateParams::Type) }
179
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
180
+
181
+ REGULAR =
182
+ T.let(:regular, Revox::CampaignCreateParams::Type::TaggedSymbol)
183
+ JUMP_IN =
184
+ T.let(:jump_in, Revox::CampaignCreateParams::Type::TaggedSymbol)
185
+
186
+ sig do
187
+ override.returns(
188
+ T::Array[Revox::CampaignCreateParams::Type::TaggedSymbol]
189
+ )
190
+ end
191
+ def self.values
192
+ end
193
+ end
194
+
154
195
  class CallRetryConfig < Revox::Internal::Type::BaseModel
155
196
  OrHash =
156
197
  T.type_alias do
@@ -160,6 +201,24 @@ module Revox
160
201
  )
161
202
  end
162
203
 
204
+ # Days of the week when calls are allowed, in the recipient's timezone. Default:
205
+ # Monday through Friday.
206
+ sig do
207
+ returns(
208
+ T::Array[
209
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::OrSymbol
210
+ ]
211
+ )
212
+ end
213
+ attr_accessor :allowed_days
214
+
215
+ # If true and max_retry_attempts >= 2, attempt #2 fires immediately (skipping
216
+ # retry_delay_seconds) when attempt #1 didn't reach a human.
217
+ # Calling-window/allowed-days checks still apply. Only affects the 1→2 transition.
218
+ # Default: false.
219
+ sig { returns(T::Boolean) }
220
+ attr_accessor :call_twice_in_a_row
221
+
163
222
  sig do
164
223
  returns(
165
224
  T::Array[
@@ -183,6 +242,11 @@ module Revox
183
242
  # the assistant's retry config.
184
243
  sig do
185
244
  params(
245
+ allowed_days:
246
+ T::Array[
247
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::OrSymbol
248
+ ],
249
+ call_twice_in_a_row: T::Boolean,
186
250
  calling_windows:
187
251
  T::Array[
188
252
  Revox::CampaignCreateParams::CallRetryConfig::CallingWindow::OrHash
@@ -192,6 +256,14 @@ module Revox
192
256
  ).returns(T.attached_class)
193
257
  end
194
258
  def self.new(
259
+ # Days of the week when calls are allowed, in the recipient's timezone. Default:
260
+ # Monday through Friday.
261
+ allowed_days:,
262
+ # If true and max_retry_attempts >= 2, attempt #2 fires immediately (skipping
263
+ # retry_delay_seconds) when attempt #1 didn't reach a human.
264
+ # Calling-window/allowed-days checks still apply. Only affects the 1→2 transition.
265
+ # Default: false.
266
+ call_twice_in_a_row:,
195
267
  calling_windows:,
196
268
  # Maximum number of call retry attempts. Default: 3.
197
269
  max_retry_attempts:,
@@ -205,6 +277,11 @@ module Revox
205
277
  sig do
206
278
  override.returns(
207
279
  {
280
+ allowed_days:
281
+ T::Array[
282
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::OrSymbol
283
+ ],
284
+ call_twice_in_a_row: T::Boolean,
208
285
  calling_windows:
209
286
  T::Array[
210
287
  Revox::CampaignCreateParams::CallRetryConfig::CallingWindow
@@ -217,6 +294,65 @@ module Revox
217
294
  def to_hash
218
295
  end
219
296
 
297
+ module AllowedDay
298
+ extend Revox::Internal::Type::Enum
299
+
300
+ TaggedSymbol =
301
+ T.type_alias do
302
+ T.all(
303
+ Symbol,
304
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay
305
+ )
306
+ end
307
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
308
+
309
+ MONDAY =
310
+ T.let(
311
+ :monday,
312
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
313
+ )
314
+ TUESDAY =
315
+ T.let(
316
+ :tuesday,
317
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
318
+ )
319
+ WEDNESDAY =
320
+ T.let(
321
+ :wednesday,
322
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
323
+ )
324
+ THURSDAY =
325
+ T.let(
326
+ :thursday,
327
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
328
+ )
329
+ FRIDAY =
330
+ T.let(
331
+ :friday,
332
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
333
+ )
334
+ SATURDAY =
335
+ T.let(
336
+ :saturday,
337
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
338
+ )
339
+ SUNDAY =
340
+ T.let(
341
+ :sunday,
342
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
343
+ )
344
+
345
+ sig do
346
+ override.returns(
347
+ T::Array[
348
+ Revox::CampaignCreateParams::CallRetryConfig::AllowedDay::TaggedSymbol
349
+ ]
350
+ )
351
+ end
352
+ def self.values
353
+ end
354
+ end
355
+
220
356
  class CallingWindow < Revox::Internal::Type::BaseModel
221
357
  OrHash =
222
358
  T.type_alias do